标签

设计文件中的元素可以附加用户定义的属性。这样的属性被称为标签,这些可能被FME读取和写入(只有DGNV8)。此外,为了为用户定义的属性提供一个值,标记也可以显示为原始设计文件中的文本。的输出标记为文本工作台读取器参数控制是否将标记数据元素作为文本元素返回。

读取设计文件时,FME首先扫描所有标记数据元素和标记集定义元素。然后,当它从设计文件中读取每个图形元素时,它使用元素关联ID将数据和属性名称与图形元素重新连接起来。然后将所有标记数据值添加到返回到FME的特性中。

下表中显示的属性被添加到每个关联标记的元素中。

注意: 被可能与元素关联的每个标记名替换。例如,如果元素与名为“numlane”和“PAVETYPE”的标记相关联,那么该特性将具有“NUMLANES”和“NUMLANES”等属性。高度、PAVETYPE PAVETYPE。旋转等。

注意,大多数标记属性与文本属性相同。例如,igds_tag_names {} .heightigds_text_height因此没有明确的文档记录。所有其他标签属性记录如下:

注意:由于来自多个标记集的标记可能附加到单个元素,因此可能有多个具有相同名称的标记。在本例中,读者将重命名标记以使它们唯一。属性中存储原始标记名 . name属性。

属性名称

内容

igds_tag_names {}

附加到元素的标记名称列表。

默认值:没有违约

在通过列表属性编写标记时需要。

.tagset_name

标记所属的标记集的名称。

默认值:没有违约

在向DGNV8写入标记时需要

.tagtype

唯一的标签id

默认值:1

范围:

1 =标签类型为字符串

3 =标签类型为integer

4 =标签类型为double

向DGNV8写入标记时可选。如果没有提供标记类型,它总是默认为字符串(即。1型)。

. name

标签的名称。虽然标记名是属性名的一部分,但是可以重命名标记。它在读取时存储来自标记集的原始名称,并表示写入时创建的标记的名称。

默认值:没有违约

向DGNV8写入标记时可选

value

读取时标记的值。这是存储在属性中的相同值 ,当阅读。在写入时,这用于创建标记的值 属性不存在。

默认值:没有违约

.prompt

标记集中定义的标记提示符的值

默认值:没有违约

向DGNV8写入标记时可选

.color

. level

.style

.weight

这些标记属性的值是所有元素的标准属性。更多信息可以在相关属性下找到:igds_color、igds_level、igds_style和igds_weight。这些都不是用来向DGNV8写入标记的。

font

.height

.width

.insertion_x

.insertion_y

.insertion_z

.justification

.original_justification

然后

这些标记属性的值是文本元素常见的属性。更多信息可以在相关属性下找到:igds_font、igds_text_size、igds_text_width_multiplier、igds_insertion_x、igds_insertion_y、igds_insertion_z、igds_、igds_original_、igds_rotation。

除了原始的调整和插入属性(只在读取时使用)之外,大多数都是用于在DGNV8中读写标记。

.default_value

标记集中定义的标记默认值。

默认值:没有违约

向DGNV8写入标记时可选

.display

标记集中定义的标记的显示值。注意,如果在特性中没有找到标记偏移量,作者将始终将其设置为NO。

默认值:无

范围:是的/不

向DGNV8写入标记时可选

.x_offset

.y_offset

.z_offset

从关联元素到原点的偏移量,位于标记的左下角。

如果没有提供这些值,则编写器将使用一些默认值来偏移元素中的标记。

没有默认的

向DGNV8写入标记时可选

以下方式

.y

还是z

标记原点,可以方便地访问标记值的左下角,作为元素的偏移量。这类似于文本字符串元素的位置点。

默认值:没有违约

这些都不是用来向DGNV8写入标记的。

.urx

.ury

.urz

标记矩形的右上角。

默认值:没有违约

向DGNV8写入标记时不需要

.llx

.lly

.llz

标签左下角的矩形范围。

默认值:没有违约

向DGNV8写入标记时不需要

注意,只有DGNV8支持标记写入。要将标记附加到元素,请设置写入器参数写标签是的。有两种方法可以将标签集和标签定义传递到V8 writer:

  1. 通过DEF行:这是默认的行为。作者查看DEF行来提取标记集和标记名称的信息。特征类型被指定为标记集,而用户属性成为它的标记。例如,如果DEF线看起来像这样:

DGNV8_DEF道路
名字char (50)
整数类型

然后用名称“Road”编写标记集,它由两个标记组成,即数据类型string的“name”和数据类型integer的“type”。可能的数据类型是char(n)、integer和double。请注意,引入此方法是为了使标记编写过程自动化,并避免使用“list属性”方法所涉及的工作量(稍后将对此进行解释)。这种方法有以下局限性:

  1. 每个特性只能写一个标记集吗
  2. 只能定义标记名称及其对应的数据类型。无法设置标记的默认、提示和显示属性。display属性被自动设置为no,为了打开它,用户需要设置 .在特性上显示属性,其值为yes。

要编写多个标记集,可以使用“list属性”方法。注意,如果作者在名称下看到列表属性igds_tag_names {}它忽略DEF行上提供的标记集定义。

  1. 通过属性列表:另一种编写标记的方法是将所有标记名作为列表属性提供给igds_tag_names {}的特性。

DGNV8编写器仅在编写标记时查找以下属性,并使用它们计算所有其他值。因此,除了下面提供的属性外,任何与标记相关的属性都将被忽略。

igds_tag_names {}
.tagset_name
.tagtype
.prompt
.display
.default_value
.x_offset
.y_offset
.z_offset

如果没有提供标记偏移量,那么编写器将为偏移量使用一些默认值并关闭标记的显示属性。

写标签避免意外的一些技巧:

  • 在从DGN转换到DGN时,建议确保reader参数输出标记为文本被取消选择,以避免在写入的标记顶部获得额外的文本元素。注意,这个选项在默认情况下是取消选择的。
  • 在从DGN转换到DGN时,如果源将标记附加到单元格,则注意爆炸单元格将导致将标记附加到每个单元格成员。因此,每个单元格成员将在输出文件中写入相同的标记。