對於CAD開發,無疑較強大的方式是Lisp、AutoCAD二次開發,且學習資源豐富,依靠強大的AutoCAD的環境可以干很多事,省很多力。但若要脫離AutoCAD環境,那就當屬Teigha了。
名稱問題
Teigha(我讀着"胎壓",沒有標准語音)是ODA的一個產品名稱。ODA(Open Design Alliance),開放設計聯盟,於1998年創建,一個致力於實現CAD數據格式交換和共享的非盈利國際組織,它的Teigha是一套面向對象的支持多平台、多版本、多格式的CAD文件的類庫,可脫離AutoCAD環境實現讀寫操作、繪制渲染和轉換輸出等。
Teigha for .dwg(曾用名OpenDWG、DWGdirect)是Teigha的一個子集,除操作dwg文件外,它還有操作BIM(revit), Civil, Architecture, Mechanical等子集。也就是說對於Autodesk公司的產品,它基本都有相應的SDK。剛接觸它很容易被它的名稱搞暈。2010年,ODA將其所有的軟件統一命名為" Teigha",而在2018年9月官方宣布將棄用"Teigha"這個產品名。這是他們的LOGO和標語,我不作評論。
在沒改名前,它們的類庫依賴關系是:
其中,Teigha.NET是我們接下來要講的一套基於.NET讀寫CAD文件的類庫。
收費問題
同名稱一樣,這是很多人都沒搞清楚的問題。ODA是一個會員制的組織,會員由軟件公司、軟件開發人員以及使用者組成。所以我們非會員無法下載類庫、查看幫助文檔等(官網www.opendesign.com )。會員負責向聯盟和其他會員提供ODA技術平台、創建圖形化應用程序的工具等。在版權方面,對於非商業應用,可以自由使用ODA提供的工具和軟件包;對於商業應用,需要交納會員注冊費用。ODA會員的會費為ODA平台軟件研發提供資金支持,研發的成果供所有會員使用。基於ODA平台,會員可以集中精力解決業務方面的問題,不再為讀寫CAD文件而花費時間。
兼容性問題
本文使用的版本是Teigha.NET 4.00_10,與Autocad的兼容性也非常好。原因是它們有錯綜復雜、理還亂的關系:
由於CAD市場較好,有很多類似AutoCAD的軟件要來分一杯羹,界面、命令、甚至二次開發都完全一樣,兼容性也非常好,它們大部分基於IntelliCAD(ITC)和BricsCAD(比如中望CAD基於IntelliCAD,目前只有IntelliCAD和浩辰CAD能擺脫ITC內核),而開發BricsCAD的公司原來是ITC的成員,而IntelliCAD也是ODA的成員,現在IntelliCAD正用ODA的庫重寫IntelliCAD。ODA是由IntelliCAD的老東家Visio牽頭成立的……我都說暈了,也不畫圖來解釋了,這也不是重點。總之,由於這些公司和品牌由很多關聯關系,所以出來的產品兼容性也很好!