C#呼叫CAD2018進行繪圖
阿新 • • 發佈:2018-12-03
最近幫朋友做了一個CAD繪圖小工具軟體,過程中發現網上這方面資料很少(原諒我不會用google),在這裡總結一下自己過程中的遇到的問題和CAD二次開發基本的方法,供各位後來者作為參考。
由於這個小工具做的很簡單粗糙,所以沒有過深的研究過CAD的API,但是這些資料引導大家入手起步還是挺友好的,特別是對於像我一樣的菜鳥。
一、新建Winfrom專案
在這裡我使用的是VS2015+CAD2018。
首先建立一個Winfrom窗體程式,然後右鍵引用——選擇COM——選中“AutoCAD 2018 Type Library”,確定引用。
(一般會顯示多個相同名稱的庫,選中一個即可)
二、呼叫API開啟CAD例項
通過這種方式開啟CAD存在一個問題,CAD程序必須在開啟狀態才能啟動成功,並且偶爾會出現報錯情況,這個我沒有深入研究原因,但是嘗試重啟軟體一般能夠解決,如果有深入研究過的同學也歡迎大家留言提供方案,方便後來者參考。
private AcadApplication a;//宣告AutoCAD物件
a = new AcadApplicationClass();//建立AutoCAD物件
a.Visible = true;//使AutoCAD可見
三、使用API進行基本圖形繪製
1、畫直線
double[] startPoint={ 4000, 4000, 0 };//起點座標 double Distance={ 6000, 4000, 0 };//終點座標 a.ActiveDocument.ModelSpace.AddLine(startPoint, endPoint);
2、畫圓
double[] CenterPoint={ 4000, 4000, 0 };//圓心座標
double radius=5.5;//半徑
a.ActiveDocument.ModelSpace.AddCircle(CenterPoint, radius);
3、畫弧
畫弧需要注意的是起點弧度和終點弧度使用的是弧度制,不是角度制,繪畫之前記得進行轉換。
double[] CenterPoint={ 4000, 4000, 0 };//弧心座標 double StartRadian=1.5882497;//起點弧度 double EndRadian= 4.6949358;//終點弧度 double radius=5.5;//半徑 a.ActiveDocument.ModelSpace.AddArc(CencerPoint, radius, StartRadian, EndRadian);
4、更多基本圖形及方法
需要用到其他圖形及方法請F12進入IAcadModelSpace介面自行查詢使用,我就不一一列舉了。
四、結語
以上都是很初級的一些API呼叫,但是足夠幫助大家在需要做到關於CAD二次開發時能快速入門,我也是在初期找了很多資料都是很零碎且古老的,在記錄自己開發經歷的同時希望幫助到更多像我一樣的小菜。
最後再附上這個粗糙小工具的效果圖,給大家看一下實際執行效果