来自: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. Python unittest第二篇:测试夹具

    关于测试夹具,我们知道,以类为对象的话,在python里对应的方法分别是test_isupper.test_upper, 那么以测试case为单位呢? 这时候,就要提到我们的setup()和tearD ...

  2. Django环境搭建之hello world

    当我们想用Python来开发一个web应用时,首先要选择一个优秀的web框架,Django是个非常成熟的web开发框架,网上具有丰富的文档和学习资料,所以选择Django框架来入门web开发是个不错的 ...

  3. 【算法笔记】A1047 Student List for Course

    https://pintia.cn/problem-sets/994805342720868352/problems/994805433955368960 题意 给出每个学生的选课情况,输出每节课选课 ...

  4. Windows7上用VS编译本地使用的live555

    本文链接:https://www.jianshu.com/p/6ea100865744 环境 系统:Windows7 SP1 64位 编辑器:Visual Studio Community 2017 ...

  5. accessToken的使用

    1.accessToken是啥,干嘛用? 形象解释:申请调兵-->皇帝同意-->兵符-->开始调兵 拿到用户在第三方平台的唯一的标识; 获取用户的nickname,头像,邮箱等其他信 ...

  6. display:block、inline、inline-block的区别及应用案例

    A.display:block就是将元素显示为块级元素. block元素的特点是: 1.总是在新行上开始: 2.高度,行高以及顶和底边距都可控制: 3.宽度缺省是它的容器的100%,除非设定一个宽度; ...

  7. scrapyd远程连接配置

    安装scrapyd: pip install scrapyd 默认scrapyd启动是通过scrapyd就可以直接启动,bind绑定的ip地址是127.0.0.1端口是:6800,这里为了其他主机可以 ...

  8. PHP之string之trim()函数使用

    trim (PHP 4, PHP 5, PHP 7) trim - Strip whitespace (or other characters) from the beginning and end ...

  9. Linux环境进程间通信(二): 信号--转载

    http://www.ibm.com/developerworks/cn/linux/l-ipc/part2/index1.html http://www.ibm.com/developerworks ...

  10. 使用 DL4J 训练中文词向量

    目录 使用 DL4J 训练中文词向量 1 预处理 2 训练 3 调用 附录 - maven 依赖 使用 DL4J 训练中文词向量 1 预处理 对中文语料的预处理,主要包括:分词.去停用词以及一些根据实 ...