眾所周知,對autocad進行二次開發用到的主要工具有:objectarx,vba,vlisp。但它們的優缺點是顯而易見的:objectarx功能強大,程式設計效率高,但它的缺點是程式設計者必須掌握vc++,而這門語言非常的難學;vba和vlisp雖然簡單易上手,但它們對於開發大型的程式好象無能為力。那究竟有沒有一種語言能結合它們的優點而盡量避免它們的缺點呢? 回答是肯定的,那就是微軟新推出的21世紀程式語言c#。關於c#的詳細介紹,大家可以參考有關的文章。
c#是通過autocad activex 這座橋梁來和autocad之間進行通訊的。autocad activex 使使用者能夠從 autocad 的內部或外部以程式設計方式來操作 autocad。它是通過將 autocad 物件顯示到「外部世界」來做到這一點的。一旦這些物件被顯示,許多不同的程式語言和環境就可以訪問它們。關於autocad activex 的情況,大家可以參考autocad自帶的幫助。
呵呵,說了這麼多無聊的,還是讓我們通過乙個具體的例子來說明怎樣利用c#進行autocad的二次開發吧。在介紹例子之前先講一下有關的配置:
(1)visual studio .net (2003和2002都可以,我用的是2002)
作者blog:http://blog.csdn.net/zhf7878/
利用C 進行AutoCAD的二次開發
利用c sharp 進行autocad 的二次開發。在這一講中,主要介紹上一講例子中存在的問題。在上一次的例子中我是通過引用 autocad 2004 type library 來進行c sharp 與autocad 之間的通訊,但這種方法存在兩個致命的缺點。第乙個缺點是每次除錯程式的時候 c sh...
利用C 進行AutoCAD的二次開發(三)
利用c 進行 方法,比如要建立乙個圓,就是用addcircle方法,而非圖形物件的建立使用add方法。下面通過乙個簡單的例子來說明上面介紹的內容。這個例子是在 autocad中建立乙個新的層,然後在該層中畫乙個紅色的圓和一條綠色的直線。這是程式的源 請先把上一講中生成的interop.autocad...
AutoCAD進行二次開發
本文基於autocad 2006新推出的.net api為工具,介紹了在.net平台下對autocad進行二次開發的技術,並與目前常用的vba objectarx作了對比。同時討論了如何彌補.net api某些不足的功能。當前autocad的二次開發工具主要有 visuallisp vba和obje...