AVEVA Draft Auto Drawing Customisation
AVEVA Draft自動出圖二次開發
eryar@163.com
摘要Abstract:本文簡要描述了CAD軟件自動出圖的意義,詳細說明AVEVA Draft模塊的PML二次開發步驟,并給出了PML實例,便于理解及工程應用。通過對Draft的二次開發,可以根據需要對指定模型進行自動出圖,提高工作效率。
關鍵字Key Words:AVEVA Draft、PDMS、PML、Automatical Drawing
一、引言 Introduction
計算機輔助設計的最終目的就是自動生成能夠指導生產用的圖紙,也許不久的將來就不需要圖紙了,直接由模型生成機床等加工設備能識別的數據,使機床自動加工。而施工人員只需要手拿一個pad通過Wi-Fi連接到數據庫看看三維模型,模型中附帶著加工相關的工藝信息。以三維交互的方式來建立模型,便于用戶將設計數據輸入計算機。建模過程直觀,真實,減少設計差錯,并可使設計人員集中精力對設計做些優化。根據三維模型自動生成材料報表、生產施工圖紙是計算機輔助設計軟件的輸出,也是軟件代替手工的先進之處。
生產圖紙按有無比例可分為:有比例投影圖和無比例示意圖。有比例投影圖如設備布置圖、管子安裝圖等,是模型按一定的比例縮放后再經過消隱處理生成的二維圖紙。無比例示意圖如管子軸測圖、鋼結構節點圖、桿件詳圖等,是模型的一種示意性表示,有時為了美觀,圖形并不與模型有固定比例關系,但是圖中的拓樸關系必須與模型一致(即連接關系)。雖然無比例示意圖不是按比例投影的,但是圖中的尺寸標注、標高等是模型的實際值,可以用來指導施工、安裝,且圖紙更簡單、清晰。不管是有比例投影圖還是無比例示意圖,程序出圖的處理過程大致如下:
l 指定圖紙模板或圖紙大小,據此獲得圖紙范圍;
l 根據三維模型數據生成二維圖形;
l 尺寸標注;
l 件號標注;
l 材料報表;
上述過程中也有些算法上的難點,如件號標注的布局問題等。做得好的軟件,自動生成的圖紙尺寸標注清晰、準確;標號排列整齊、美觀;材料說明完整,可以直接打印,不用人工干預調整,可大大解放生產力。有興趣的讀者可以對件號布局的算法進行研究,實現一個通用、高效的標號布局庫。
AVEVA Draft模塊就是用來生成有比例投影圖的程序,設備布置圖、安裝圖等。有比例投影圖的核心算法就是根據三維模型自動生成各種消隱方式的二維圖形。在AVEVA Draft模塊中就有下面幾種消隱方式:
n Wireline;
n Modelled Wireline;
n Local Hidden Line;
n Globe Hidden Line;
n Universal Hidden Line;
如下圖所示:
消隱線消除算法可以參考OpenCascade中的HLR(Hidden Line Removal)部分源程序。先學習其原理,再結合源碼,學習效率應該很高。如圖所示為OpenCascade的消隱算法示例程序生成效果圖:
Isodraft模塊用來生成無比例示意圖,管子軸測圖。生成無比例管子軸測圖的算法也是值得研究的,其相關算法也可用于生成其它無比例圖紙中。
二、Draft數據庫結構 Draft Database Hierarchy
Figure 2.1 Draft Database Hierarchy
Figure 2.2 Draft Database Hierarchy in Draft Explorer
要對Draft模塊二次開發就需要了解Draft的數據庫結構。如上圖所示,Draft的數據庫是樹形結構:
其中World是最頂級元素;
World可以包含n個Department,即Department是World的成員(Member),World是Department的所有者(Owner);
Department包含Registery;
Registry包含Drawing;
Drawing包含Sheet ……。
理解Draft的數據結構,就可以創建出所需要的數據,并將相應的數據元素的有關屬性賦值就可以得出所需要的結果了。
三、出圖步驟 Procedures for Developing
根據程序出圖的過程,說明如何在AVEVA Draft模塊中實現出圖的定制開發。掌握Draft出圖的二次開發,就可以根據實際需要,使圖紙自動生成。如對支架模型進行出圖,對安裝布置圖進行優化等。AVEVA Draft模塊中的管子零件圖、風管零件圖的自動生成程序:PipeSketches、HVACSketches,都是使用PML開發的,具體實現細節可以作為參考。
AVEVA Draft創建工程平面圖有兩種方式:手動方式產生平面圖和ADP方式產生平面圖(Auto Drawing Production)。凡是手工可以做的,都可以交給計算機自動來做。手動方式出圖將使用Draft模塊出圖部分的所有功能,熟悉Draft模塊中不同功能的使用,將使我們更好的了解ADP自動出圖的實現。操作熟練后,就可以使用PML來定制自己的出圖程序。雖然是手動的方式,便許多的創建步驟都是自動連續進行的。
手動出圖的方式就是結合上節中的數據結構圖,創建出相應的數據。創建方法都是通過菜單Create中的命令來完成。
Figure 3.1 Manual Creation command
在這些數據結構中較為關鍵的是View和Drawlist等。通過Drawlist可以將需要投影的模型加入到View中,通過設置View的投影方向及比例、消隱方式、規則等,就可以將模型放到Drawing中去了。
具體手動創建步驟可以參考PDMS Draft出圖相關資料。
使用PML自動出圖也是按上面的步驟來進行的,只不過是直接使用PML來調用創建命令及設置相關數據結構的屬性。
四、PML實現 PML Implementation
l 創建Department : new dept
l 創建Registry:new regi
l 創建Drawing:new drwg
n 需要設置圖紙大小Size:
n 設置單位、線型、顏色等……
l 創建Sheet:new shee
l 創建Drawlist Lib:new DLLB
l 為各個View創建drawlist:new idli
l 將模型加入到drawlist中去:
l 根據圖紙大小、模型范圍計算比例:自動計算比例:auto /viewName
l 更新圖紙:update design
l 標注尺寸:new ldim
l 標標件號:new slab
l 繪制材料表:通過畫線命令,自己繪制。
五、工程應用 Engineering Application
通過PML二次開發出支架建模、出圖程序,提高工作效率。其中支架出圖就是根據上面步驟進行定制開發的,出圖界面與管子零件圖程序類似,如下圖所示:
Figure 5.1 Support Sketches GUI
Figure 5.2 Support Sketch Demo
通過自動出圖的方式,改變了支架設計的方式,提高了工作效率。
六、結論 Conclusion
二維圖紙生成在目前為止還是三維設計軟件的一個重要功能。AVEVA Draft的PML二次開發還是很簡單、易上手的。通過對Draft出圖的PML定制開發,改變以工作方式,提高了工作效率。由于Draft模塊繪圖及輔助功能如捕捉等功能不強,AVEVA準備推HullDrafting模塊,但是在自動出圖方面,Draft還是很方便的,可滿足定制自動出圖的需要。
七、參考資料 Bibliography
l Outfitting Draft User Guide
l Drawing Production User Guide
l PipeSketches PML code