2013-07-25 51 views
1

我必須將3D繪圖轉換爲2D繪圖。所以我必須創建一個工具來自動執行此操作。將3D繪圖轉換爲2D繪圖在使用C的Autocad中#

我不知道如何開始,我可以從哪裏獲得材料。

請給出一些想法來創建這個工具。

我使用Autocad2007,我必須在C#中創建工具。

+0

我認爲AutoCAD提供了COM自動化。基本上你可以編寫模擬用戶輸入的宏。該選項應在CAD中可用。這個想法是你將宏「外包」到C#。 – jnovacho

+0

這是哪個版本的AutoCAD?它是否已經是C#/ VB.NET API?從[AutoDesk](http://usa.autodesk.com/adsk/servlet/index?id=18162650&siteID=123112)查看這個有用的鏈接。 – ja72

+0

我正在使用Autocad 2007。 – Sivaperuman

回答

7

AutoCAD Express Tools有一個稱爲「拼合」的方法,可以處理這個問題。然而任何實際使用過它的人都知道它並不總是完成這項工作。

這當然是可行的,您可以在C#中本地使用進程內AutoCAD庫來遍歷實體。 (AcMdg.dll,AcDbMdg.dll)

我會通過實體類型來解決這個問題。每個實體在AutoCAD中處理z軸的方式不同,所以我會事先將它們分組到桶中並分批處理。線很容易,因爲您可以將開始點和結束點上的z軸更改爲0,並且如果我沒有記錯,則多段線有一個高程。 3D多段線需要每個頂點走過並單獨設置。圓圈可以將中心點直接設置爲z = 0 ...您可以看到我所得到的結果。瀏覽AutoCAD文檔,爲您遇到的每種實體類型制定策略。

對於像塊這樣的東西,這會變得棘手,因爲那樣你也會有塊定義本身來處理。像表面,面部和擠壓等本地3D實體更加強硬。您最終必須決定可以拋出什麼,以及您可以從基元重新創建什麼。

如果這是一個簡單的任務,AutoDesk可能已經推出了一半的體面。我認爲如果你願意用戰略來解決這個問題,這是你的可行範圍。