Porady dotyczące szablonów
Wskazówki zamieszczone poniżej pomogą efektywniej używać szablonów.
Używanie atrybutów typu w obliczeniach
Zmiana tekstu na format numeryczny
double(GetValue("ASSEMBLY_TOP_LEVEL"))
Zmiana na prawidłowy format w celu obliczeń (double=ułamki dziesiętne)
format(double(GetValue("ASSEMBLY_TOP_LEVEL")),"Length", "mm", 1)
Wszystko powyższe dodaj do formuły obliczeń
format(double(GetValue("ASSEMBLY_TOP_LEVEL")),"Length", "mm", 1)+15000
Inny przykład dla takiej samej wysokości elementu
(double(GetValue("TOP_LEVEL"))-(double(GetValue("BOTTOM_LEVEL"))))*1000
Zmiana zawartości pola wartości na jednostki brytyjskie
Opcja zaawansowana, służąca do sprawdzenia, czy są stosowane jednostki brytyjskie:
GetValue("ADVANCED_OPTION.XS_IMPERIAL")==TRUE
Przetłumaczone odwołanie łańcucha dla tekstu w wielu językach:
GetValue("TranslatedText("albl_Diameter_")")
Formatowanie jednostek:
format(GetValue("DIAMETER"),"Length","inch-frac", 1/16)
format(GetValue("DIAMETER"),"Length","mm", 1)
Połączenie wszystkich powyższych w jedną regułę:
if GetValue("ADVANCED_OPTION.XS_IMPERIAL")==TRUE then
GetValue("TranslatedText("albl_Diameter_")")+ format(GetValue("DIAMETER"),"Length","inch-frac", 1/16) + " Inches"
else
GetValue("TranslatedText("albl_Diameter_")")+ format(GetValue("DIAMETER"),"Length","mm", 1)+" mm"
endif
Definiowanie własnych formatów danych
Użyj funkcji mid, aby uzyskać rok, miesiąc i dzień:
mid("","","") łańcuch, odchylenie, n
rok:
mid(format(GetValue("DATE"),"Date","dd.mm.yyyy", ),"6","4")
miesiąc:
mid(format(GetValue("DATE"),"Date","dd.mm.yyyy", ),"3","2")
dni:
mid(format(GetValue("DATE"),"Date","dd.mm.yyyy", ),"0","2")
Połączenie wszystkich powyższych w regułę:
mid(format(GetValue("DATE"),"Date","dd.mm.yyyy", ),"6","4")+"-"+
mid(format(GetValue("DATE"),"Date","dd.mm.yyyy", ),"3","2")+"-"+
mid(format(GetValue("DATE"),"Date","dd.mm.yyyy", ),"0","2")
Numer arkusza rysunku zespołu lub zespołu betonowego
Użyj funkcji match, aby znaleźć znak "-"
match(GetValue("NAME_BASE"),"*-*")
Użyj funkcji mid, aby zwracać tylko znaki po "-"
mid(GetValue("NAME_BASE"),(1+(find(GetValue("NAME_BASE"),"-"))),2)
Połączenie wszystkich powyższych w regułę
if (match(GetValue("NAME_BASE"),"*-*"))
then mid(GetValue("NAME_BASE"),(1+(find(GetValue("NAME_BASE"),"-"))),2)
else ""
endif
Używanie funkcji formatu w polach wartości
Format używany w polu wartości można zdefiniować na dwa sposoby: W oknie dialogowym Właściwości pola wartości wypełnij pola Typ danych, Znaczenie, Jednostka i Liczba miejsc dziesiętnych lub utwórz wzór w polu Wzór. We wzorach można używać funkcji formatu konwertującej wartość atrybutu na sformatowany ciąg informacji.
Jeżeli używasz funkcji formatowania we wzorze, zawsze ustaw Typ danych na Tekst w oknie dialogowym Właściwości pola wartości. Pozostałe pola w obszarze Format należy pozostawić puste.
Jeśli na przykład chcesz przekonwertować w wartość atrybutu na liczby z wartościami dziesiętnymi w raporcie, musisz zawrzeć funkcję konwersji double w funkcji formatu:
Wartości domyślne dla jednostki i wartości dziesiętnych są zdefiniowane w pliku contentattributes_global.lst. Funkcja formatu konwertuje wartość atrybutu na sformatowany ciąg informacji na podstawie tego, co zdefiniowano w funkcji formatu. Funkcja formatowania nadpisuje definicje w pliku contentattributes_global.lst oraz ustawienia zdefiniowane w obszarze Format okna dialogowego Właściwości pola wartości.
Przykład wyniku w raporcie uzyskanego po zastosowaniu powyższego wzoru:
Mesh Information:
Geometry Size: 4/4-150/150-2750*2000
Length: 9'-1/4"
Height: 6'-6 3/4"
Przykład wyniku wzoru uzyskanego po zmianie ustawienia opcji zaawansowanej XS_IMPERIAL na FALSE z TRUE:
Mesh Information:
Geometry Size: 4/4-150/150-2750*2000
Length: 2750 mm
Height: 2000 mm
Aby uzyskać listę prawidłowych parametrów (jednostki i dokładność), zobacz plik valuefieldclasses.lst znajdujący się w folderze ..\Tekla Structures\<version>\bin\applications\Tekla\Tools\TplEd\settings. Nie należy wprowadzać zmian w tym pliku. Poniżej znajduje się przykład zawartości pliku, która może się zmieniać w zależności od wersji programu Tekla Structures.
// ---------------------------------------------------------------------------------------
// Value field classes
// ==========================================
//
// This file contains a list of valid class-properties for value fields
// - These types are defined in the source code.
// - The maximum length of a class-property is 63 characters.
// - Use only letters, numbers, slashes and underlines.
//
// Notes:
// - Updating of this list is allowed only for the person who is responsible
// of the source code of the Tekla Structures!
// - Installation of Tekla Structures always overwrites this file.
// ---------------------------------------------------------------------------------------
//
// Class = units { presicions }
Length = mm, dm, cm, m, inch, ft, yd, inch-frac {1/2, 1/4, 1/8, 1/16, 1/32, 1/64 }, ft-frac { 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 }
Angle = Degrees, radians
Area = mm2, cm2, dm2, m2, sq.inch, sq.ft, sq.yd
Area/length = mm2/m, cm2/m, dm2/m, m2/m, in2/in, in2/ft, ft2/ft, sq.yd/ft
Volume = mm3, cm3, dm3, m3, cu.in, cu.ft, cu.yd
Weight = kg, T, N, lbf, kip
Weight/length = kg/m, T/m, N/m, daN/m, kN/m, lbf/ft
Density = kg/m3, T/m3, N/m3, kN/m3, lbf/ft3
Temperature = Kelvin, Celsius, Fahrenheit
Section_modulus = mm3, cm3, in3
Moment_of_inertia = mm4, cm4, in4
Warping_modulus = mm6, cm6, in6
Force = kg, T, N, daN, kN, lbf, kip
Force/length = kg/m, T/m, N/m, daN/m, kN/m, lbf/in, lbf/ft, kip/in, kip/ft
Force/area = kg/m, kg/cm, kg/mm, T/m, T/cm, T/mm, N/m, N/cm, N/mm, daN/m, daN/cm, daN/mm, kN/m, kN/cm, kN/mm, lbf/in, lbf/ft, kip/in, kip/ft
Moment = kgm, Tm, Nm, daNm, kNm, lbf-in, lbf-ft, kip-in, kip-ft
Moment/length = kgm/m, Tm/m, Nm/m, daNm/m, kNm/m, lbf-ft/ft, kip-ft/ft
Stress = kg/m2, kg/cm2, kg/mm2, T/m2, T/cm2, T/mm2, N/m2, N/cm2, N/mm2, daN/m2, daN/cm2, daN/mm2, kN/m2, kN/cm2, kN/mm2, psi, psf, ksi, ksf
Date = dd.mm.yyyy, mm.dd.yyyy, mm/dd/yyyy, yyyy/mm/dd, dd-mm-yyyy, dd-mm-yy, yyyy-mm-dd, dd/mm/yy
Time = hh:mm:ss, hh:mm:ss:am/pm
Date&&Time = dd.mm.yyyy, mm.dd.yyyy, mm/dd/yyyy, yyyy/mm/dd, dd-mm-yy, dd-mm-yyyy, yyyy-mm-dd, dd/mm/yy
Date_local = dd.mm.yyyy, mm.dd.yyyy, mm/dd/yyyy, yyyy/mm/dd, dd-mm-yy, dd-mm-yyyy, yyyy-mm-dd, dd/mm/yy
Time_local = hh:mm:ss, hh:mm:ss:am/pm
Date&&Time_local = dd.mm.yyyy, mm.dd.yyyy, mm/dd/yyyy, yyyy/mm/dd, dd-mm-yy, dd-mm-yyyy, yyyy-mm-dd, dd/mm/yy
LeadingZeroes
DistanceList = mm, dm, cm, m, inch, ft, yd, inch-frac {1/2, 1/4, 1/8, 1/16, 1/32, 1/64 }, ft-frac { 1/2, 1/4, 1/8, 1/16, 1/32, 1/64 }
MassFlow = kg/s, lb/s, kg/h
VolumeFlow = m3/s, ft3/s, l/s
HeatCapacity = J/K*kg, btu/F*lb, kJ/K*kg
PressureLoss = kPa/m, psi/ft, Pa/m, hPa/m
Velocity = m/s, ft/s
FlowCoefficient = Kv, Cv
DynamicViscosity = Pa*s, kg/m2*s, lb/ft2*s
Power = W, kW
KinematicViscosity = m2/s, ft2/s
Percentage = %
Rozwiązywanie problemów z wydajnością
- Jeśli w oknie dialogowym postępu otwierania rysunku komunikat „Aktualizowanie tabel” jest wyświetlany przez dłuższy czas, zoptymalizuj szablony graficzne.
- Unikaj dużych map bitowych lub grafik w szablonach graficznych.
- Poszukaj błędów i ostrzeżeń dtkit w historii sesji TeklaStructures_<user>.log. Aby uzyskać więcej informacji o plikach log, zobacz Pliki log dotyczące operacji Tekla Structures