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提问或讨论。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)