• CAD增强属性块的还原(转)


    来自:http://blog.3snews.net/space.php?uid=13924959&do=blog&id=70174

    作者:毛毛虫

    Demo下载:CAD增强属性块的还原

    密码:gqmi

    CAD中的“增强块属性”与“块”基本相同,但前者更集中更快捷的修改、定义某些属性。以高程点数据为例我们来说明如何用FME将这类数据写入到数据库中,并从数据库中还原回CAD。

    现有一副含高程点图层的DWG文件,在CAD中打开这个文件:

     

    可以看到该文件中含有一个高程点和一个数字表示高程值。当我们选中点或数字时,会发现会同时选中另一个,也就是同时选中点和数字,这就说明点和数字时一个整体。现在选中其中一个要素,点击右键:

     

    选择编辑属性,打开“增强属性编辑器”窗口:

     

    这个窗口中显示了块对应的属性名称、值、字体样式、所在图层等属性。

    现在我们在FME中打开这个DWG文件,查看属性:

     

    各个属性字段说明如下:

    fme_attrib_info{N}.field_name

    保存属性的名称

    fme_attrib_info{N}.field_size

    保存属性的大小

    fme_attrib_info{N}.field_value

    保存属性的值

    fme_attrib_info{N}.location_x

    fme_attrib_info{N}.location_y

    fme_attrib_info{N}.location_z

    为了显示属性的目的,指定了块属性的精确位置。在FME中,如果对齐方式不是baseline_left,可能会与AutoCAD中的不同

    fme_attrib_info{N}.align_x

    fme_attrib_info{N}.align_y

    为了显示属性的目的,指定了块属性的对齐位置。在FME中,如果对齐方式不是baseline_left,可能会与AutoCAD中的不同support these FME attributes.

    fme_attrib_info{N}.style

    属性的字体样式的名称

    fme_attrib_info{N}.width_factor

    X方向上的缩放值,使得字体更宽或更窄

    fme_attrib_info{N}.justification

    该属性相对于插入点的对其方式,包括:

    top_left|top_center|top_right|top_middle|top_aligned |top_fit|middle_left|middle_center|middle_right|middle_middle|middle_aligned|middle_fit| bottom_left|bottom_center|bottom_right|bottom_middle |bottom_aligned |bottom_fit |baseline_left |baseline_center |

    baseline_right|baseline_middle |baseline_aligned |baseline_fit

    fme_attrib_info{N}.rotation

    表示该属性的旋转角度

    fme_attrib_info{N}.oblique

    表示该属性的倾斜角度

    fme_attrib_info{N}.heigh

    指定了该属性的告诉

    fme_attrib_info{N}.isVisible

    这个属性表示是否显示相应属性

    在将DWG数据写入数据库时,需要将块相应的属性名称、属性值、属性的对齐位置等属性写入到数据库中。在这里,根据需要将点入库或点与注记都写入到数据库。注意下FME中的设置:

     

    大家比较熟悉的可能是是否展开块的参数“Expand Blocks Into Entities”。在这里要说一下“Read Visible Attributes as Text Entities”这个参数是说,是否要将可见的属性作为文本实体。不管我们是否展开块,如果“Read Visible Attributes as Text Entities”这个参数勾选,则我们在FME中都能读取到属性要素,如下:

     

    如果我们不勾选“Read Visible Attributes as Text Entities”这个参数,则只能看到块要素(不论是否展开块),如下图:

     

    还原的时候,我们只需要将块图层还原就可以了,也就是属性不是从数据库中读取文本得到的,而是根据块的属性设置来得到的。对块做如下的类似设置,就可以在DWG中得到增强属性快了。

     

    其中注意的是一定要将fme_attrib_info{N}.isVisible设置为TURE,否则即使块本身含有属性,也不会显示。

    如对文章有任何疑问,可发送邮件至zhangyan@antu.com.cn提问或讨论。

  • 相关阅读:
    Wide & Deep Learning for Recommender Systems
    两个经典问题
    Vlog简介
    中文dumps显示
    用Python提取中文关键词
    【STL】算法 — partial_sort
    c字符串分割 strtok()
    JSP的声明(statement)
    layui之ajax巨坑
    jQuery 库中的 $() 是什么?(答案如下)
  • 原文地址:https://www.cnblogs.com/gisoracle/p/4359739.html
Copyright © 2020-2023  润新知