DELPHI中如何调用AUTOCAD |
尚未結案
|
vclphi
一般會員 發表:28 回覆:39 積分:13 註冊:2003-03-06 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
你好!關於你所提問有關如何調用AUTOCAD的問題,
我想這是屬於比較特定應用範圍的問題,建議你上
網去搜尋相關的資料;而在這裡謹提供個人對於此
類應用程式的看法. 我想你應該知道,要調用這一類以介面方式Expose其
特定功能給另一支程式叫用的應用程式,在Delphi中
你應該先去了解什麼是介面,如何取得介面,以及如何
去獲得這支輸出介面程式所提供的介面規格,另外也
必須了解Delphi如何支援這些相關的技術. 關於開發這類Automation Controler應用程式的問題,
通常命題很清楚但範圍太廣泛,通常需要較多的篇幅,
預期有人答題的機率不高,實作的經驗真的要靠自己累
積. 個人看法,謹提參酌.
< >< >
|
elvis1000
一般會員 發表:6 回覆:50 積分:16 註冊:2004-12-18 發送簡訊給我 |
如果要自己寫物件,那可難了,因為光是看到DWG的格式,就覺得複雜.你可以到以下網址找到DWG & DXF的格式。
http://www.wotsit.org/search.asp?page=12&s=ALLFILES 格式看起來很複雜,所以我建議應該去抓現成的。我找了一下,大部分都是要沒源碼的shareware,只有一個有源碼的,http://vcl.vclxx.org/DELPHI/D32FREE/DXF_3_0.ZIP -----------------------
God bless you!
I am Dark_Angel.
------
----------------------- God bless you! I am Dark_Angel. |
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
vclphi您好:
//画直线和圆 uses OleAuto; procedure TForm1.Button1Click(Sender: TObject); var Acad, AcadDoc,Line,Circle: Variant; p1: variant; p2: variant; p3: variant; begin Acad := GetActiveOLEObject('AutoCAD.Application'); AcadDoc := Acad.ActiveDocument; p1 := VarArrayCreate([0, 2], varDouble); p2 := VarArrayCreate([0, 2], varDouble); p3 := VarArrayCreate([0, 2], varDouble); p1[0] := 0; p1[1] := 0; p1[2] :=0; //直线第一点的坐标 p1[0] := 30; p1[1] := 0; p1[2] :=0; //直线第二点的坐标 p3[0] := 2.0; p3[1] := 4.0; p3[2] := 6.0; //圆心的坐标 Circle := AcadDoc.ModelSpace.AddCircle(p3, 10.0);//圆的半径为10 Line := AcadDoc.ModelSpace.AddLine(p1,p2);//画线 end;note: 1、确保您的CAD有打开; 2、OleAuto在C:\Borland\Delphi6\Source\Vcl能找到,不同的路径的话,请自行查寻; ~~~行径窄处,留一步与人行~~~ |
vclphi
一般會員 發表:28 回覆:39 積分:13 註冊:2003-03-06 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
|
Roach C Builder
一般會員 發表:1 回覆:1 積分:0 註冊:2005-03-18 發送簡訊給我 |
===================引 用 deity 文 章=================== vclphi您好: //;直?和 uses OleAuto; procedure TForm1.Button1Click(Sender: TObject); var Acad, AcadDoc,Line,Circle: Variant; p1: variant; p2: variant; p3: variant; begin Acad := GetActiveOLEObject('AutoCAD.Application'); AcadDoc := Acad.ActiveDocument; p1 := VarArrayCreate([0, 2], varDouble); p2 := VarArrayCreate([0, 2], varDouble); p3 := VarArrayCreate([0, 2], varDouble); p1[0] := 0; p1[1] := 0; p1[2] :=0; //直?第一?的坐 p1[0] := 30; p1[1] := 0; p1[2] :=0; //直?第二?的坐 p3[0] := 2.0; p3[1] := 4.0; p3[2] := 6.0; //心的坐 Circle := AcadDoc.ModelSpace.AddCircle(p3, 10.0);//的半?:10 Line := AcadDoc.ModelSpace.AddLine(p1,p2);//;? end;note: 1、确保您的CAD有打; 2、OleAuto在C:\Borland\Delphi6\Source\Vcl能找到,不同的路?的ݯ???行查? ~~~行?窄,留一步与人行~~~ 請問此段轉成BCB語法為何? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |