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提問或討論。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM