来自: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提问或讨论。

CAD增强属性块的还原(转)的更多相关文章

  1. CAD读取属性块

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...

  2. CAD 二次开发--属性块

    1.属性块的定义 属性块是有构成的实体和附加信息(属性)组成的,属性块中块的定义与简单块中块的定义一样,而属性的定义主要是通过属性的AttributeDefinition类的有关属性和函数来实现的.具 ...

  3. 【转】CAD 二次开发--属性块 Block和BlockReference

    1.属性块的定义 属性块是有构成的实体和附加信息(属性)组成的,属性块中块的定义与简单块中块的定义一样,而属性的定义主要是通过属性的AttributeDefinition类的有关属性和函数来实现的.具 ...

  4. CAD扩展属性的提取--FME方式

    一.CAD的扩展属性 了解一下CAD的扩展属性方式,CAD的扩展属性包括二类: 基于CAD二次开发的软件产品(例如南方cass),其扩展属性是附属在图形(点.多段线.注记.面)上面的,它是以XReco ...

  5. CAD交互绘制块引用对象(网页版)

    主要用到函数说明: _DMxDrawX::DrawBlockReference 绘制块引用对象.详细说明如下: 参数 说明 DOUBLE dPosX 插入点的X坐标 DOUBLE dPosY 插入点的 ...

  6. cad开发动态块对应的界面

    为了使设计人员更加容易的操作动态块, 应经可能对动态块的制作制定相关的规范, 如动态块的属性 => 类的属性 动态块操作名称(作为变量名,后台数据库的字段) 动态块操作描述  (作为注释,后台数 ...

  7. [M]带属性块参照的转换

    有一张表格,表格的每一行都由带有属性的块参照组成,如图: 魔法表格不能直接识别有块参照组成的表格,需要使用 EXPLODE 命令将块参照分解,但多分解带有属性的块只能得到属性的定义 这是就需要使用 B ...

  8. Taurus.MVC 2.3 开源发布:增强属性Require验证功能,自带WebAPI文档生成功能

    背景: 上周,把 Taurus.MVC 在 Linux (CentOS7) 上部署任务完成后. 也不知怎么的,忽然就想给框架集成一下WebAPI文档功能,所以就动手了. 以为一天能搞完,结果,好几天过 ...

  9. 【Visual Studio 扩展工具】使用ComponentOne中的GroupDefinition和SortDefinition属性保存和还原布局

    概述 在此前的ComponentOne中,我们为C1FlexGrid(最快,最灵活的.Net数据网格控件)添加了一个非常强大的动态分组功能,这篇技术博客<将动态分组添加到.NET表格控件Flex ...

随机推荐

  1. java 字符串(String)常用技巧及自建方法模块汇总

    1.String类常用方法汇总 (1)删除字符串的头尾空白符 public String trim() (2)从指定位置截取字符串 public String substring(int beginI ...

  2. 常用DOS命令和Linux命令

    DOS命令 1.查询端口占用情况:netstat -aon |findstr "8080"; 查看端口进程号: 2.查看进程号信息:   tasklist |findstr &qu ...

  3. github上关于campbell数据采集的一些代码。

    数据自动采集: https://github.com/USGS-OWI/deployer-campbell   program that reads loggernet files and refor ...

  4. F6&F7adjust the volume

    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard La ...

  5. [转] flume使用(六):后台启动及日志查看

    [From] https://blog.csdn.net/maoyuanming0806/article/details/80807087 处理的问题flume 普通方式启动会有自己自动停掉的问题,这 ...

  6. mono修改代码模板

    新建android application是在这里修改模板D:\prostu\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCach ...

  7. java翻译到mono C#实现系列(2) mono实现GridView 横向滚动

    群里的朋友问GridView 横向滚动怎么实现,我就百度了,参考http://blog.csdn.net/lonely_fireworks/article/details/7841134写了个mono ...

  8. [Xamarin.Android] 如何使用Google Map V2 (转帖)

    Google Map v1已經在2013年的3月開始停止支援了,目前若要在你的Android手機上使用到Google Map,就必須要使用 到Google Map v2的版本.在Xamarin要使用G ...

  9. 使用redux-devtools工具

    在vue中型项目开发的过程中,一般都是要用到vuex这个状态管理工具的,这样可以方便我们管理全局的状态,同时,为了在开发的过程中,更加方便地实时查看到state状态,我们会使用 vue-devtool ...

  10. 深入理解java集合框架之---------HashTable集合

    HashTable是什么 HashTable是基于哈希表的Map接口的同步实现 HashTable中元素的key是唯一的,value值可重复 HashTable中元素的key和value不允许为nul ...