AutoCAD開發(fā)工具介紹
到目前為止,Autodesk公司提供了4種主要的二次開發(fā)工具:AutoLisp(VisuaLisp)、ADS、ObjectARX及VBA(VB)。本文就此向大家分別做一介紹。
VBA(VB)可以利用ActiveX Automation提供的接口訪問和控制AutoCAD所有圖形對象和非圖形對象,并且可以訪問這些對象的方法和屬性。
VBA(VB)數(shù)據(jù)類型豐富、界面友好。 VBA是內(nèi)嵌在AuLoCAD中的一種編程語言,對平臺有依賴性,但VB對此有改善。 正如ADS需要C語言做基礎(chǔ)一樣,VBA(VB)開發(fā)AutoCAD也必須以熟悉VB語言為前提。 這里同樣給出一段直線的繪制程序。用VBA編制如下: Dim stpt, enpt As Variant Dim prompt1,prompt2 As String Dim startpoint (1 To 3) As Double Dim endpoint (1 To 3) As Double Dim lineobj As Acadline prompt1 = NL & “起點:” prompt2 = NL & “終點:” stpt = ThisDrawing.Utility.GetPoint(,prompt1) enpt = ThisDrawing.Utility.GetPoint(stpt, prompt2) startpoint(1) = stpt(0) startpoint(2) = sptt(1) startpoint(3) = stpt(2) endpoint(1) = enpt(0) endpoint(2) = enpt(1) endpoint(3) = enpt(2) Set lineobj = ThisDrawing.ModelSpace.AddLine(startpomt,endpoint) 用VB對AutoCAD開發(fā)與VBA的主要區(qū)別是當(dāng)前圖形對象的引用方法不同。VB中對象的獲得要使用Getobject()和CreatObject()函數(shù),從而有效地啟動和切換AutoCAD窗口,具體代碼如下: Public acadDoc As Object Public ModSpace As Object Public acadApp As Object On Error Resume Next "出錯處理 Set acadlApp = Get Object(,"AutoCAD.Application") If Err Then Err.Clear Set =cadlApp=CreateObject("AutoCAD.Application") If Err Then MsgBox Err.Description Exit sub End If End If AcadApp.Visible=True Set acadDoc = acadApp.ActiveDocument Set ModSpace = acadDoc.ModelSpace 接下來繪制直線的代碼與VBA基本相同,只要把ThisDrawing換成acadDoc即可。 總之,通過以上分析可以看出AutoLisp仍然是AutoCAD的基本開發(fā)手段,它適十一般開發(fā)者用于較為簡單交互性程序的開發(fā)。ADS將逐步被更為完善的ARX所取代。VBA則成為AutoCAD用戶二次開發(fā)的另一支生力軍。AutoCAD提供的開發(fā)手段讓各類開發(fā)者都能有適合于自己的開發(fā)工具。 |
【溫馨提示】本頻道長期接受投稿,內(nèi)容可以是:
1.行業(yè)新聞、市場分析。 2.新品新技術(shù)(最新研發(fā)出來的產(chǎn)品技術(shù)介紹,包括產(chǎn)品性能參數(shù)、作用、應(yīng)用領(lǐng)域及圖片); 3.解決方案/專業(yè)論文(針對問題及需求,提出一個解決問題的執(zhí)行方案); 4.技術(shù)文章、白皮書,光學(xué)軟件運用技術(shù)(光電行業(yè)內(nèi)技術(shù)文檔);
如果想要將你的內(nèi)容出現(xiàn)在這里,歡迎聯(lián)系我們,投稿郵箱:service@opticsky.cn
1.行業(yè)新聞、市場分析。 2.新品新技術(shù)(最新研發(fā)出來的產(chǎn)品技術(shù)介紹,包括產(chǎn)品性能參數(shù)、作用、應(yīng)用領(lǐng)域及圖片); 3.解決方案/專業(yè)論文(針對問題及需求,提出一個解決問題的執(zhí)行方案); 4.技術(shù)文章、白皮書,光學(xué)軟件運用技術(shù)(光電行業(yè)內(nèi)技術(shù)文檔);
如果想要將你的內(nèi)容出現(xiàn)在這里,歡迎聯(lián)系我們,投稿郵箱:service@opticsky.cn
文章點評