国产精品日韩一区二区三区-国产精品日日摸夜夜添夜夜添1-国产精品入口免费视频-国产精品三级-亚洲国产欧美另类-亚洲国产欧美日韩

AutoCAD塊屬性的生成與提取

2013-05-25  by:廣州有限元分析、培訓中心-1CAE.COM  來源:仿真在線

AutoCAD中塊的屬性是在一個塊內的變量文字區,利用塊屬性可以給塊加上文字或數據信息,利用塊屬性來提取文件信息,避免文件信息提取時無效信息過多,提取、處理復雜的情況,提取的信息即為所需要的明細表信息,而且采用塊屬性建立明細表,這樣建立的明細表具有統一的樣式,也便于在AutoCAD中的管理,更能滿足企業對文件標準化的要求。

1引言

目前,AutoCAD提供了五種二次開發手段,分別是:AutoLISP, ADS ,ARX , VisualLlSP, VBA和Visual Basic。這五種開發工具都具有強大和豐富的二次開發能力及自己鮮明的特點。由于有些工具不適應目前的可視化編程要求,而逐漸被其他工具所替代。與其他幾種二次開發方法相對比,VBA具有全開放式的對象模型、良好的運行速度、能夠使AutoCAD與其他應用程序直接共享數據等優點。
本文研究利用VBA操作AutoCAD文件中Block對象的屬性,將其中包含的明細欄信息導人Microsoft Excel的Worksheet對象中,生成符合要求明細表。研究基于對象模型的AutoCAD文件信息處理技術,研究介于AutoCAD和Excel之間的數據信息交換程序的開發,以及對產生的明細表進行后續處理的方法。

2明細表自動提取的實現

將AutoCAD中的明細表信息自動導人Excel的實現過程為:首先通過VBA訪問AutoCAD,然后從AutoCAD中獲取明細表信息,接著將明細表信息導人Excel,最后再Excel中對提取出來的明細表信息進行進一步的處理。
提取明細欄信息的過程主要包括通過塊屬性建立明細欄、利用VBA提取明細欄信息、在Excel中對提取的明細欄信息進行整理等幾個步驟。
現在以一個實際工作中碰到的例子來具體說明利用VBA從AutoCAD文件中提取明細表信息到Excel的全過程。因為涉及保密的原因,刪去了圖紙中原有的具體設計內容,僅保留了有關的圖框和明細欄的內容。

2.1 明細欄的建立

當裝配圖中需要輸人明細欄信息時,按照國標及所標的要求,明細欄位于圖紙標題欄的上方,按由下到上的順序填寫。首先在指定位置插入事先生成的標示明細欄各項名稱的明細欄表頭圖塊:明細欄頭.dwg,如圖1所示。

AutoCAD塊屬性的生成與提取autocad資料圖片1


插人明細欄表頭后,就可以依次輸人明細欄的各項內容了。為了統一明細欄的格式和便于以后的明細欄信息提取,這里采用了帶屬性的塊插人來輸入各項明細欄信息。
達到這個目的,需要建立一個帶有屬性的塊mxl。屬性是在一個塊內的變量文字區,利用屬性可以給塊加上文字或數據信息。首先按照有關明細欄的標準要求畫出一行符合要求的明細欄表格,然后選擇AutoCAD的下拉菜單中的繪圖Draw-塊Block-定義屬性Define Attributes,或者直接在命令行輸人attdef命令來生成明細欄的各項內容屬性,此時彈出的對話框如圖2所示。

AutoCAD塊屬性的生成與提取autocad資料圖片2


使用帶屬性的塊插人來創建明細欄,沒有具體格式限制,用戶可以根據實際需要設計白己的格式,具有很大的靈活性,也利于信息的統一提取。
在帶屬性的塊中有Attribute和Block兩個圖形對象,一個Attribute對象對應明細欄中的一個欄月項,將對應明細欄中的所有欄目的Attribute對象組合在一起放人Block對象中,該對象就是用戶定義的一個明細欄記錄,然后將定義好的Block插人到圖中,就是在圖紙中放置了一條明細欄。
由于每張總裝圖或部件裝配圖中明細欄記錄的個數是不定的,因此只需為一個明細欄記錄定義一個Block,該Block包含若干Attribute對象,對應于名稱、材料和數量等欄目,在AutoCAD圖形中生成明細欄時,有多少個明細欄記錄就插人多少個明細欄Block。
我們用InsertBlock方法將塊插人到圖形中,用AddAttribute方法往塊中添加屬性,屬性的參數有標記、屬性值、插入屬性時的提示、文本的插人點。
創建了明細欄圖塊后,其它明細欄內容均可通過插人mxl圖塊,依照命令行的提示輸人各項明細欄的具體內容而生成。
明細欄圖塊只需創建一次,以后其他裝配圖需要輸人明細欄時就可以同樣插人這次創建的mxl圖塊。
因為在創建圖塊屬性時已經規定了各屬性文字的位置、格式,所以以后插人的各條明細欄的文字位置、格式均保持一致,保證了圖樣的統一,也便于管理,避免每次確定明細欄文字位置、格式的重復勞動,提高了輸入欄信息的速度。
通過反復插人mxl圖塊,并分別輸人各項明細欄內容,直到完成各條明細欄信息的輸人,即可完成在裝配圖中建立明細表的工作。

2.2 明細表提取

將按上述方法定義好的明細欄插人到AutoCAD圖形中,就可以通過VBA利用ActiveX Automation技術就能將其明細表信息提取出來,再導人Excel進行排序、統計等處理了。
基本算法是:歷遍當前圖紙中的所有實體,訪問實體的EntityType屬性判斷該實體是否為BlockRef對象,如果是,則判斷該BlockRef對象是否包含AttributeRef對象,如果包含,則獲取AtteibuteRef對象的列表,歷遍此列表,通過TagString和TextString屬性獲取每個AttributeRef對象中的數據。歷遍結束后,明細欄信息就被提取出來,然后導人Excel中即可形成初步的明細表。

2. 3明細表的后處理

剛提取出來的明細表排列比較混亂,還不能達到進行清晰統計的目的,為此需要對Excel文件進行整理。首先對序號欄進行排序,然后調整各欄的寬度,使得各欄內的內容均顯示完全、清晰。再對明細表信息進行分門別類的整理,才能產生符合要求的明細表,滿足實際的需要。

3結束語

經過對AutoCAD裝配圖中的明細欄的組成進行認真分析,結合本單位在設計、生產等領域的實際情況,實現一種利用AutoCAD塊屬性提取AutoCAD裝配圖中明細欄信息的開發模式,成功地應用于實際的日常工作項目中,提高工作效率和所提取的明細表數據的準確性。這種方式具有復雜程度低、易于掌握的特點,在各種機械設計加工行業具有推廣價值。


開放分享:優質有限元技術文章,助你自學成才

相關標簽搜索:AutoCAD塊屬性的生成與提取 AutoCAD培訓 AutoCAD培訓課程 AutoCAD圖紙設計 AutoCAD在線視頻 AutoCAD技術學習教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓 Abaqus培訓 Autoform培訓 

編輯
在線報名:
  • 客服在線請直接聯系我們的客服,您也可以通過下面的方式進行在線報名,我們會及時給您回復電話,謝謝!
驗證碼

全國服務熱線

1358-032-9919

廣州公司:
廣州市環市中路306號金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓QQ咨詢:點擊咨詢 點擊咨詢
項目QQ咨詢:點擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 欧美日本一道高清二区三区 | 久久久久国产午夜 | 久久黄色网址 | 欧美性bbbbbxxxxxxx | 人人澡人人爽人人 | 两个人看的www高清视频 | 激情在线观看视频 | 中文字幕日韩国产 | 欧美在线一二三 | 日本黄a三级三级三级 | 波多野给衣一区二区三区 | 国产成人a福利在线观看 | 欧美日韩资源 | 伊人网视频在线观看 | 久视频在线观看 | 国产高清视频在线 | 一级片中文字幕 | 一级做a毛片在线看 | 欧美欧美乱码一二三区 | 国产日本三级欧美三级妇三级四 | 国产精品资源在线 | 日本xxx在线播放 | 手机看片高清日韩精品 | 日本高免费观看在线播放 | 久久久久久亚洲精品不卡 | 国产三级久久 | 国产免费久久精品久久久 | 日本激情在线 | 久久久久久久岛国免费播放 | 曰本免费视频 | 九九99热 | 久久超级碰 | 另类ts人妖一区二区三区 | 日本免费一区二区三区看片 | 男人深夜影院 | 久久天天躁狠狠躁夜夜躁 | 97精品国产91久久久久久久 | 97天天摸天天碰天天爽 | 波多野结衣在线观看一区二区三区 | 色综合中文字幕色综合激情 | 久久九九有精品国产56 |