AutoCAD开发工具介绍
到目前为止,Autodesk公司提供了4种主要的二次开发工具:AutoLisp(VisuaLisp)、ADS、ObjectARX及VBA(VB)。本文就此向大家分别做一介绍。
VBA(VB)可以利用ActiveX Automation提供的接口访问和控制AutoCAD所有图形对象和非图形对象,并且可以访问这些对象的方法和属性。
VBA(VB)数据类型丰富、界面友好。 VBA是内嵌在AuLoCAD中的一种编程语言,对平台有依赖性,但VB对此有改善。 正如ADS需要C语言做基础一样,VBA(VB)开发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开发与VBA的主要区别是当前图形对象的引用方法不同。VB中对象的获得要使用Getobject()和CreatObject()函数,从而有效地启动和切换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的基本开发手段,它适十一般开发者用于较为简单交互性程序的开发。ADS将逐步被更为完善的ARX所取代。VBA则成为AutoCAD用户二次开发的另一支生力军。AutoCAD提供的开发手段让各类开发者都能有适合于自己的开发工具。 |
【温馨提示】本频道长期接受投稿,内容可以是:
1.行业新闻、市场分析。 2.新品新技术(最新研发出来的产品技术介绍,包括产品性能参数、作用、应用领域及图片); 3.解决方案/专业论文(针对问题及需求,提出一个解决问题的执行方案); 4.技术文章、白皮书,光学软件运用技术(光电行业内技术文档);
如果想要将你的内容出现在这里,欢迎联系我们,投稿邮箱:service@opticsky.cn
1.行业新闻、市场分析。 2.新品新技术(最新研发出来的产品技术介绍,包括产品性能参数、作用、应用领域及图片); 3.解决方案/专业论文(针对问题及需求,提出一个解决问题的执行方案); 4.技术文章、白皮书,光学软件运用技术(光电行业内技术文档);
如果想要将你的内容出现在这里,欢迎联系我们,投稿邮箱:service@opticsky.cn
文章点评