摘要: 最近在開發(fā)一個自動出圖程序,從PDMS模型中取數(shù)據(jù)后,經(jīng)過處理生成AutoCAD的圖紙。其中涉及到一個問題就是如何盡量使程序與AutoCAD低耦合,盡量不使用第三方庫的情況下,實現(xiàn)數(shù)據(jù)的傳遞。
最開始想到是用ODA(Open Design Alliance)的DWGdirect庫來直接生成DWG文件,并且PDMS中就是使用這個庫來生成DWG文件的。DWGdirect的用法與AutoCAD .Net的接口名稱基本一致,用法也相同,但是這樣就引入了第三方庫。
還有一種方法就是使用AutoLisp腳本來生成圖紙。這樣的話,程序只需要生成一個AutoLisp腳本文件,文件中包含創(chuàng)建圖形的命令。AutoLisp腳本與PDMS的PML類似,都需要一個解析執(zhí)行的環(huán)境,即PML依賴PDMS平臺才能運行,AutoLisp依賴AutoCAD平臺。如果使用AutoLisp,程序不依賴DWG相關的第三方庫,只需要生成一個文本文件。決定使用AutoLisp后,還有一個問題,就是如何在啟動AutoCAD能自動加載生成的AutoLisp文件去生成圖紙。
閱讀全文