输入用户定义的属性值

Tekla Structures
2023
Tekla Structures

输入用户定义的属性值

您可以将用户定义的属性 (UDA) 值从文本文件输入到模型中。例如,您可以将一系列完成制造或校核的构件输入到模型中。您还可以通过属性输入清除现有的用户定义的属性值。

您可以将属性值输入 Tekla Structures 模型对象、图纸和参考模型对象(如果已配置,请参见在参考模型中添加 UDA)。您可以在输入文件中为属性输入定义匹配条件,还可以将输入范围限制为在模型中选择的对象或参考模型对象。

输入文件可以:

  • 从其他软件输出。

  • 使用任何标准文本编辑器(例如 Microsoft 记事本)手动创建。

  • 创建自 Microsoft Excel,方法是使用另存为命令将文件保存为文本(制表符分隔)(*.txt) 格式。

  • 是包含零件 GUID 和用户定义的属性的简单 Tekla Structures 报告。

注:

还有其它方法可以将数据输入到用户定义的属性。例如,输入 IFC 对象并将其转换为本机 Tekla Structures 对象时,可以填写用户定义的属性。Tekla Warehouse 还有若干扩展允许您修改用户定义的属性数据。

用于将值输入到用户定义的属性的输入文件结构

您可以从输入文件(分隔的文本文件)将用户定义的属性 (UDA) 值输入到 Tekla Structures 模型。

输入文件中的分隔符

分隔符是一个字符,用于分隔同一行中的不同字段。

您可以使用不显示在要输入的属性名称或值中的任何 ASCII 字符分隔字段。您可以在同一输入文件中使用多个替代分隔符。常见分隔符包括逗号、制表符、分号和空格。

输入文件中的字段和值定义

在输入文件中,第一行是文件头,定义输入文件的其余字段。输入文件中的所有其它行包含您在第一行中指定的字段的值。

第一行必须包含至少一个标识模型对象或图纸的关键字域,以及至少一个用户定义的属性名称(标识要输入新值的用户定义的属性字段)。请注意,许多字段的名称与您在用户界面中看到的字段标签不同。应用于模型的 objects.inp 文件中定义了用户定义的属性名称(请参见有关如何读取文件的参考)。

配置文件 import_macro_data_types.dat(后面会进一步介绍)定义了可以在属性输入中使用的字段以及每个属性的数据类型。无法添加或更改关键字域,但可以编辑用户定义的属性集。值将输入为字符串(文本),除非 import_macro_data_types.dat 文件中为该属性定义了不同的数据类型。

输入文件可用的关键字域

模型对象的关键字域有:

关键字域

示例

作用

GUID

ID4FEAFC88-0000-0004-3133-​343038303031

Tekla Structures 将输入文件中此行上的用户定义的属性分配给 GUID 值为 ID4FEAFC88-0000-0004-3133-343038303031 的模型对象。

ASSEMBLY_POS

MARK

A3

Tekla Structures 将输入文件中此行上的用户定义的属性分配给 ASSEMBLY_POS 值为 A3 的构件。

对于要包含的每个构件重复此行。

PHASE

2

Tekla Structures 将输入文件中此行上的用户定义的属性分配给 PHASE 值为 2 的构件。

选择此选项时,还必须使用 ASSEMBLY_POS 作为关键字域。

图纸对象的关键字域有:

关键字域

示例

作用

TYPE NAME

A D4

Tekla Structures 将输入文件中此行上的用户定义的属性分配给 TYPE 值为 A 且 MARK 值为 D4 的图纸。

在输入文件中同时使用这两个关键字域。

ID

134

Tekla Structures 将输入文件中此行上的用户定义的属性分配给 ID 值为 134 的图纸对象。

输入文件中的空值

输入文件中的某些行可能并不包含所有属性字段的值。例如,值之间可能有两个或更多个连续分隔符。

输入期间可跳过这些空值而不对用户定义的属性进行任何更改,也可以使用这些空值擦除模型中现有的用户定义的属性值。默认情况下,将跳过空值。要清除现有值,请在 ini 文件中将高级选项 XS_ERASE_UDA_VALUE_WITH_ATTRIBUTE_IMPORT_NULL_AND_BLANK 设置为 TRUE

输入文件的读取次序

Tekla Structures 从第一行开始按顺序读取输入文件。如果以下行中存在重复的关键字域,则仅输入第一个出现的字域。

用于将值导入用户定义属性的数据文件 (import_macro_data_types.dat)

要将一个值输入用户定义的属性,必须在 import_macro_data_types.dat 数据文件中正确定义字段名称和数据类型。您可以添加、编辑和删除要导入数据的用户定义的属性字段

注:

不要编辑文件的关键字段部分。无法添加新的关键字段。

数据文件的位置

默认数据文件位于环境文件夹中的 system 文件夹,例如 C:\ProgramData\Trimble\Tekla Structures\<version>\environments\common\system。您正在使用的环境中可能还存在该文件的本地化版本。

不要更改默认文件。请创建文件的副本并将其存储在不同的位置,例如公司文件夹或者模型文件夹中的 attributes 文件夹。这样,重新安装或升级 Tekla Structures 时就不会覆盖您的更改。当相同的文件存在于多个位置时,遵循默认文件夹搜索顺序而且只使用读取的第一个文件。

数据文件的内容

import_macro_data_types.dat 文件是纯文本。您可以使用任何标准文本编辑器(例如 Microsoft 记事本)修改该文件。

文件中的每一行都是一个字段定义,可包含顺序如下的以下属性:

User-defined attribute name,Data type,Conversion factor,Comments

  1. User-defined attribute name.在 objects.inp 文件中写入为字段定义的内部字段名称。

    例如,在 objects.inp 定义 attribute("USER_FIELD_1", "j_user_field_1", string, "%s", no, none, "0.0", "0.0") 中,用户定义的属性名称是 USER_FIELD_1

  2. Data type.

    值可以是:INT(整数)、STRING(文本)、FLOAT(小数)或 DATE(带日历小部件的日期字段)。如果值缺失或不正确,则值默认为 STRING

    值类型不匹配不会阻止数据导入,但结果可能并不总是正确,具体取决于数据和字段。例如,如果数据类型不是 DATE,日期字段可能设置错误。但是,您可以毫无问题地将整数数据类型的数字导入文本字段。

    带有选项列表的字段定义为 INT 值类型的编号字段。例如,对象锁定可设置为组织,在输入文件中对应的编号为 012

  3. Conversion factor(可选,仅 FLOAT)。用于在英制环境中将英制值转换为公制值。

    注:

    我们建议您检查 FLOAT 值以避免转换系数出错。

  4. Comment(可选)。遵循上述定义的任何字符都将忽略,并可用于写入评注。但是,我们建议您避免在定义所在的同一行添加注释。如果您将大部分注释写在单独的行中,该文件将更易于读取。

Tekla Structures 将以双正斜杠字符 (//) 开头的行视为评注,并在读取文件时忽略整行。

示例:

//Regular attributes

R1_ISSUED_FOR_APPRL, STRING
R1_DATE_APPROVED, DATE

//Attribute with conversion factor and comment

shear1, FLOAT, 4448.2222, For kips

将值导入用户定义属性的输入文件示例

零件的输入文件示例

此输入文件用制表符分隔。

ASSEMBLY_POSPHASE 是关键字段。Tekla Structures 将多个用户定义的属性添加到构件,其中的值与 ASSEMBLY_POSPHASE 列中的值一致。

例如,状态为 1,ASSEMBLY_POS(构件编号)为 B5 的构件将获得以下用户定义的属性:

STATUS:3

USER_PHASE:6

USER_ISSUE:3/25/2019

ASSEMBLY_POS  PHASE  STATUS  USER_PHASE  USER_ISSUE
B1  1  7  3  3/25/2019
B2  1  7  3  3/25/2019
B3  1  7  3  3/25/2019
B4  1  7  3  3/25/2019
B5  1  3  6  3/25/2019
B1  1  3  5  3/26/2019
B2  2  3  4  3/26/2019

该输入文件包含两个 B1 条目。在这种情况下,Tekla Structures 在日志文件中写入消息“>输入文件有多个入口。”,并仅导入文件中的第一个条目。所以在此例中,属性输入之后,B1 将具备以下用户定义的属性:

STATUS:7

USER_PHASE:3

USER_ISSUE:3/25/2019

图纸的输入文件示例

此输入文件用制表符分隔。

TYPENAME 是关键字域。Tekla Structures 将在属性 User field 4 的值添加到图纸中,这些图纸中的值与 TYPENAME 列中所列的值匹配。

例如,包含 TYPE A(构件图纸)和 NAME B.2 的图纸,获得 User field 4 中的值 4。

TYPE  NAME  DRAWING_USERFIELD_4
A  B.1  3
A  B.2  4
A  C.1  1
A  C.2  2

处理用于将值输入到用户定义的属性的输入文件

注: 如果输入文件包含字段的值,则此操作将覆盖匹配对象的任何现有属性值。

默认情况下,将跳过空值。要清除现有值,请在 .ini 文件中将高级选项 XS_ERASE_UDA_VALUE_WITH_ATTRIBUTE_IMPORT_NULL_AND_BLANK 设置为 TRUE

  1. 如果要将用户定义的属性输入到 Tekla Structures 模型中的选定区域,请在模型中选择一个区域。
  2. 文件菜单上,单击输入 > 属性

    输入属性对话框将打开。

  3. 单击输入文件框旁边的 ... 按钮以选择要输入的输入文件。

    您也可以输入文件路径。路径长度为 255 个字符。

  4. 选择输入设置。

    选项

    描述

    输入文件分割符

    选择输入文件中使用的一个分隔符或多个替代分隔符。

    您可以使用不显示在要输入的任何属性名称或值中的任何 ASCII 字符分隔字段。

    输入范围

    • 默认值整个模型

      Tekla Structures 将输入文件中对象的用户定义的属性值分配到模型中的匹配对象。

    • 仅被选中的

      Tekla Structures 只将输入文件中对象的用户定义的属性值分配到模型选定区域中的匹配对象。

      使用此选项可将用户定义的属性输入到模型。不要对图纸使用该选项。

    • 参考模型

      Tekla Structures 将输入文件中对象的用户定义的属性值分配到参考模型中的匹配对象。

    创建日志文件

    • 创建

      每次输入用户定义的属性时在当前模型文件夹中创建一个名为 attribute_import.log 的新日志文件。系统会覆盖以前的任何属性输入日志文件。

    • 附加

      每次输入用户定义的属性时向当前模型文件夹中的 attribute_import.log 文件添加日志条目。如果该日志文件不存在,Tekla Structures 将创建该文件。

    • 不要创建日志文件。

    显示日志文件

    • 不显示日志文件。

    • 在对话框中

      输入完成后将显示日志文件。

  5. 单击创建以输入文件。

    如果选择了显示日志文件的选项,Tekla Structures 在单独的窗口中显示日志文件,您可以单击日志条目以选择模型中的相应对象。

这些内容是否有用?
上一步
下一步