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 można uzupełnić pola Typ danych, Znaczenie, Jednostka i Dziesiętne albo też można utworzyć wzór w polu Formuła. We wzorach można używać funkcji formatu konwertującej wartość atrybutu na sformatowany ciąg informacji.
Jeśli we wzorze zostanie użyta funkcja formatu, za każdym razem należy zmienić ustawienie opcji 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 formatu zastępuje definicje w pliku contentattributes_global.lst i ustawienie 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 ustawień jednostki i dokładności, zobacz plik valuefieldclasses.lst znajdujący się w folderze ..\Program Files\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.
// ---------------------------------------------------------------------------------------
//
// - Use only letters, numbers, slashes and underlines.
//
// ---------------------------------------------------------------------------------------
//
// Class = units { presicions }
Length = mm, dm, cm, m, inch, ft, yd, inch-frac {1/2, 1/4, 1/8, 1/16 }, ft-frac { 1/2, 1/4, 1/8, 1/16 }
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-yy, 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/yyLeadingZeroes
LeadingZeroes
DistanceList = mm, dm, cm, m, inch, ft, yd, inch-frac {1/2, 1/4, 1/8, 1/16 }, ft-frac { 1/2, 1/4, 1/8, 1/16 }