Советы по работе с шаблонами
Эти советы помогут вам использовать шаблоны эффективнее.
Использование атрибутов типа в вычислениях
Преобразование текста в числовой формат
double(GetValue("ASSEMBLY_TOP_LEVEL"))
Преобразование в правильный формат для вычислений (double=десятичные разряды)
format(double(GetValue("ASSEMBLY_TOP_LEVEL")),"Length", "mm", 1)
Добавление всего вышеперечисленного в формулу вычисления
format(double(GetValue("ASSEMBLY_TOP_LEVEL")),"Length", "mm", 1)+15000
Еще один пример того же для отметки высоты детали
(double(GetValue("TOP_LEVEL"))-(double(GetValue("BOTTOM_LEVEL"))))*1000
Преобразование содержимого поля значения в британские единицы измерения
Расширенный параметр для проверки того, используются ли британские единицы:
GetValue("ADVANCED_OPTION.XS_IMPERIAL")==TRUE
Вызов переведенных строк для получения многоязычного текста:
GetValue("TranslatedText("albl_Diameter_")")
Форматирование единиц измерения:
format(GetValue("DIAMETER"),"Length","inch-frac", 1/16)
format(GetValue("DIAMETER"),"Length","mm", 1)
Объединение всего вышеперечисленного в правиле:
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
Определение собственного формата даты
Поиск года, месяца и дня с помощью функции mid:
mid("","","") string, offset, n
год:
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")
Объединение всего вышеперечисленного в правиле:
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")
Номер листа чертежа сборки или ЖБ элемента
Поиск символа "-" с помощью функции match
match(GetValue("NAME_BASE"),"*-*")
Возврат только символов после "-" с помощью функции mid
mid(GetValue("NAME_BASE"),(1+(find(GetValue("NAME_BASE"),"-"))),2)
Объединение всего вышеперечисленного в правиле
if (match(GetValue("NAME_BASE"),"*-*"))
then mid(GetValue("NAME_BASE"),(1+(find(GetValue("NAME_BASE"),"-"))),2)
else ""
endif
Использование функций формата в полях значений
Используемый в поле значения формат можно определить двумя способами: в диалоговом окне Свойства поля значения путем заполнения полей Тип данных, Значение, Единица и Десятичные цифры или путем создания формулы в поле Формула. В формулах можно использовать функцию формата, которая преобразует значение атрибута в отформатированную строку.
При использовании в формуле функции формата всегда устанавливайте свойство Тип данных в диалоговом окне Свойства поля значения в значение Текст. Остальные поля в области Формат оставляйте пустыми.
Например, если вы хотите преобразовать значение атрибута в отчете в число с десятичными знаками, необходимо включить в функцию формата функцию преобразования double
:
Значения по умолчанию для единиц измерения и десятичных знаков определены в файле contentattributes_global.lst. Функция формата преобразует значение атрибута в отформатированную строку на основании того, что задано в функции формата. Функция формата переопределяет определения в файле contentattributes_global.lst и настройки, заданные в области Формат диалогового окна Свойства поля значения.
Пример результата в отчете при использовании формулы выше:
Mesh Information:
Geometry Size: 4/4-150/150-2750*2000
Length: 9'-1/4"
Height: 6'-6 3/4"
Пример результата формулы, когда расширенный параметр XS_IMPERIAL
установлен в значение FALSE
, а не TRUE
:
Mesh Information:
Geometry Size: 4/4-150/150-2750*2000
Length: 2750 mm
Height: 2000 mm
Список допустимых строк единиц измерения и точности см. в файле valuefieldclasses.lst, который находится в папке ..\Program Files\Tekla Structures\<version>\bin\applications\Tekla\Tools\TplEd\settings. Не вносите изменения в этот файл. Ниже приведен пример содержимого файла, которое может быть разным в разных версиях 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 }