关于Bentley MicroStation Design (V8)格式中的tag的处理

原文发布时间:2011-04-22

作者:叶子

tag(标签),是用户自定义的一些可以挂接到元素上的属性,这些可以被FME读出和写入(只能是DGNV8格式)。另外,为了对用户自定义的属性提供一个值,标签也可以在原始的文件中显示为一个文本。TAGS_AS_TEXT 指令控制标签数据元素是否会作为文本元素返回。当读入一个设计文件时,FME首先扫描所有的标签数据元素和标签集定义元素,然后从设计文件中读入图形元素,使用元素相关的ID来重新连接数据合属性名字到图形元素。所有的标签数据值会被添加到要素中返回给FME。

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

注意:<tag name>被每个元素相关的TAG NAME替代。例如,如果元素相关的标签叫做"NUMLANES" and "PAVETYPE",那么要素会有类似"NUMLANES", NUMLANES.height, PAVETYPE, PAVETYPE.rotation等属性。

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

      

注意写标签只支持DGNV8。为了把标签连接到一个要素,设置写的关键值WRITE_TAGS设置为yes。有两种方法的标签集,标签的定义可以加载到V8写模块上。

1、  通过定义DEF行:这是默认的行为。写模块查找DEF行来提取标签集的信息和标签名称。要素的类型作为标签集指定,同时用户属性变为它的标签。例如,如果DEF行如下:

GNV8_DEF Roads
      Name char(50)
      Type integer

那么标签集写入的名为“Road”的要素包含了成为“Name”的字符串类型和“Type”的整数类型。可能的数据类型是char(n), integer 和 double。注意,这种方法引入到标签自动写入的过程来避免使用“列表属性”方法的大量工作。这种方法有下列限制:

A. 每次只能写一个要素到一个标签集。

B. 只能定义标签的名称和他们相关的属性类型。默认的标签,提示和现实的属性不能被设置。现实的属性自动的设置为no,为了打开用户需要设置在要素的属性上设置<tag_name>.display属性为yes。

如果想写多个标签集,那么可以使用“list attribute”方法。同时注意写模块这种情况下写模块在igds_tag_names{}的名字下面看到列表属性,忽略了在DEF行提供的标签集的定义。

2、  通过列表属性:另一种写标签的方法是通过提供所有的类别属性的名字到要素的igds_tag_names{}属性。

DGNV8写模块只有在写入标签时才查找下面的属性,使用他们来计算所有的其它属性。因此,任何提供任何标签相关的属性除了下面的属性,其它属性会被忽略:

    igds_tag_names{}
    <tag name>.tagset_name
    <tag name>.tagtype
    <tag name>.prompt
    <tag name>.display
    <tag name>.default_value
    <tag name>.x_offset
    <tag name>.y_offset
    <tag name>.z_offset

这种情况的标签位移不能提供,写模块使用一些位移默认的值,并关闭标签显示属性。

标签写入的一些提示以避免相关的问题:

当从dgn->dgn,建议确保“TAG_AS_TEXT”关闭来避免得到附加的文本元素到写入标签的元素上。注意这个选项默认的设置为“no”。

当从dgn->dgn,如果源有标签相关的要素到单元,那么注意展开单元会导致标签关联到每个单元成员上。因此,每个单元成员会有相同的标签写入到输出的文件中。

如果源标签绑在一个细胞然后注意爆炸的细胞会获得附加标签,以每一个细胞的成员。因此,每一个细胞的会员将有相同的标签上写的输出文件。

下面以第二种方法为例,来说明在FME中对dgn格式的数据添加标签:

现在有一个多边形的DGNV8文件,现在想给每个每个多边形添加标签:

FLDM=TEST,NAME=TEST。

    这时候,只要在Workbench中,把写模块的Write tags参数设置为yes,

     

并且创建一个标签集mapstationtag和两个标签名称FLDM、NAME并赋值。

     

执行成功后,打开Mircostation软件,可以看到所有标签设置已经添加进来:

      

       


猜你喜欢

转载自blog.csdn.net/fmechina/article/details/80704650
今日推荐