示例:创建和更新用户定义的属性 (UDA)
本示例演示如何创建您自己的用户定义的属性 (UDA) 并更新模型,以使用更改后的属性定义。
示例:创建用户定义的属性
-
创建一个新模型并进行保存。
模型中的用户定义的属性融合自 objects.inp 文件中,Tekla Structures 会将属性定义保存在模型文件夹下的 environment.db 文件中。
-
关闭模型。
-
使用标准文本编辑器在模型文件夹中创建一个名为 objects.inp 的输入文件。
-
在 objects.inp 文件中输入以下信息:
/***************************************************************************/ /* Part attributes */ /***************************************************************************/ part(0,"Part") { /* User defined tab page */ tab_page("My UDA tab") { /* User defined attribute */ attribute("MY UDA", "My UDA", string,"%s", no, none, "0,0", "0,0") { value("", 0) } } tab_page("My UDA tab", "My UDA tab", 19) modify (1) } /***************************************************************************/ /* Column attributes */ /***************************************************************************/ column(0,"j_column") { /* Reference to the user defined tab page that is defined above in */ /* the part() section: */ tab_page("My UDA tab", "My UDA tab", 19) modify (1)}在此示例中, special_flag 属性 设置为
no。如果您要创建还会影响编号的用户定义的属性,请将该属性的 special_flag 属性设置为yes。 -
保存该文件。
示例:测试用户定义的属性
-
打开模型。
-
创建钢柱。
-
双击钢柱以在属性窗体中打开其属性。
-
单击更多按钮。
-
转到我的 UDA 选项卡。
-
在我的 UDA 字段中输入一个值。
-
单击修改。
-
复制钢柱。
-
为新钢柱选择我的 UDA 复选框。
属性值也进行了复制。
-
关闭模型。
示例:修改用户定义的属性以使其唯一
-
使用标准文本编辑器打开模型文件夹下的 objects.inp 文件。
-
在用户定义的属性前面输入 unique_。
/***************************************************************************/ /* User-defined attributes */ /***************************************************************************/ part(0,"Part") { /* Common tab pages for part attributes */ tab_page("My UDA tab") { unique_attribute("MY UDA", "My UDA", string,"%s", no, none, "0,0", "0,0") { value("", 0) } } tab_page("My UDA tab", "My UDA tab", 19) modify (1) } /***************************************************************************/ /* Column attributes */ /***************************************************************************/ column(0,"j_column") { tab_page("My UDA tab", "My UDA tab", 19) modify (1) }在用户定义的属性之前添加 unique_,使用户定义的属性独一无二。用户定义属性的值不会复制到另一零件。
-
保存该文件。
示例:测试唯一的用户定义的属性
-
打开模型。
-
在我的 UDA 字段中为钢柱输入一个值,然后单击修改。
-
复制钢柱。
-
为新钢柱选择我的 UDA 复选框。
-
系统复制了值,因此模型中用户定义的属性不是唯一的。environment.db 和 objects.inp 定义之间存在冲突。
示例:更新用户定义的属性的定义
-
在文件菜单上,单击诊断和修复以及
-
在实用工具部分,单击诊断和更改属性定义。
校核和更改属性定义对话框将会打开。
-
在左侧的属性区域中选择我的 UDA。
您可以看到,我的 UDA 在当前设置中不是唯一的,但在 objects.inp 中设置为唯一。
-
选中右侧区域中的定义。
-
单击将当前设置更改为所选 Objects.inp 设置。
此时即在模型中更新了用户定义的属性的定义。
如果您现在复制具有我的 UDA 值的钢柱,该值不会复制到新柱中。
示例:将选项卡页添加到用户定义的属性定义
选项卡页显示顺序由定义行中的最后一个数字定义。避免在公共环境中使用 object.inp file 中已使用的相同页码。
-
定义选项卡页面的内容。
tab_page("","jd_Parameters",3) { attribute("PROJECT_COMMENT", "j_proj_comment", string, "%s", no, none, "0.0", "0.0") { value("", 0) } } -
将选项卡页内容添加到 GA 图纸和多件图的图纸对象。
/***************************************************************************/ /* Drawing attributes - GA */ /***************************************************************************/ gadrawing(0,"j_GA_drawing") { tab_page("DR_Workflow","jd_Workflow",8) tab_page("DR_Parameters","jd_Parameters",9) modify(1) } /***************************************************************************/ /* Drawing attributes - multi */ /***************************************************************************/ multidrawing(0,"j_Multi_drawing") { tab_page("DR_Workflow","jd_Workflow",8) tab_page("DR_Parameters","jd_Parameters",9) modify(1) }