AutoCAD的.NET二次开发2

原创 2007年10月03日 09:35:00

AutoCAD.NET开始

要开始为AutoCAD编写.NET程序,需要为AutoCAD2007下载ObjectARX SDK。SDK里面的samples/dotNet文件夹中有很多有用的例子,说明了如何使用AutoCAD的托管API的各种各样的特性。

随便提一下,SDK例子里面的那些工程文件等,一般是按Visual Studio的版本来保存的,这个版本的Visual Studio被推荐使用来为相应版本的AutoCAD构建ObjectARX(C++)程序。因此在ObjectARX 2006 SDK里面的工程是用VS2002,在ObjectARX2007中,则是用VS2005的。这些特定的VS版本并非一定要用于各个版本的AutoCAD的托管API(这是.NET一个很好的特性,因为这让你不需要一个特定的编译器版本),但为了一致性和测试工作,我们维持版本间的对应以构建相应的AutoCAD的ObjectARX/C++程序。

用于开始的最简单的经典例子是叫做“Hello World”的例子,暂时不对这个例子做深入的分析;先专注于如何使用ObjectARX向导来创建一个VB.NET程序。

在ObjectARX SDk的utils/ObjARXWiz文件夹中,有ObjectARX向导的安装程序ArxWizards.msi。将会使用ObjectARX SDK为AutoCAD2007提供的这个向导。

在安装后,当然就可以创建新的ObjectARX/C++工程;这个向导一个新的特性是添加了对VB.NET和C#的支持,这在你用VS2005创建一个新的工程的时候可以看到:

在选择OK后,有一个页面来配置工程:

选择“Finish”,就能设置需要的工程设置,并产生程序的基本代码,其中定义了一个简单的命令“Asdkcmd1”。

在我们说明代码前,这个向导做了什么?它创建了一个类库工程,添加了一对DLL引用定义AutoCAD中的托管API,如果你在工程中选择“Add Reference”,可在“Recent”列表中看到他们:

这里面有两个AutoCAD的核心引用:acdbmgd.dll和acmgd.dll,前者暴露了AcDb内部接口并支持类,后者暴露由AutoCAD程序指定的类(这两点不是很明白

下面来看看代码,非常直接--导入了一个命令空间(这会让我们在编程时省力些),然后定义了一个类来代表程序模块。这个类AdskClass定义了一个命令的回调函数,这会告诉AutoCADAsdkcmd1方法需要被注册成一个命令的方法,并在命令行中输入这个命令时就会运行这个函数。

 Imports Autodesk.AutoCAD.Runtime

    Public Class AdskClass

        ' Define command 'Asdkcmd1'

        <CommandMethod("Asdkcmd1")> _

        Public Sub Asdkcmd1()

            ' Type your code here

        End Sub

    End Class

就这么回事,看看它的工作,添加一个函数来调用命令函数,如MsgBox("Hello!),构建程序,并用AutoCAD的NETLOAD命令来载入产生的DLL。当在命令行中输入asdkcmd1时,你自定义的命令就会被调用。

AutoCAD二次开发之.net API学习笔记(2)

1、缺省情况下,每个新建的数据库的块表中都包含两条特殊的块表记录:模型空间和图纸空间。其中前者用 于创建图形,后者用于创建最终的布局,新创建的实体通过BlockTableRecord的AppendE...
  • biyusr
  • biyusr
  • 2012年06月20日 08:35
  • 2296

.NET AutoCAD二次开发之路(一、基础篇)

学习AutoCAD二次开发已经有一段时间了,磕磕碰碰,十分的艰辛枯燥。但回想一下还是会有些小激动,嘿嘿!最近这段时间一直都有这么个想法,就是将我学习CAD二次开发的过程用文字的方式记录下来,形成系列,...
  • zefllj
  • zefllj
  • 2016年01月01日 22:53
  • 2725

.NET平台的AutoCAD二次开发

当前AutoCAD的二次开发工具主要有:VisualLisp、VBA和ObjectARX等。其中,VisualLisp与VBA较为简单,特别是VBA,使用方便且开发速度较快,但其功能相比ObjectA...
  • hao8986
  • hao8986
  • 2012年08月28日 13:33
  • 826

AutoCAD二次开发之.net&nbsp;API学习笔…

1、缺省情况下

AutoCAD .NET API二次开发学习指南

AutoCAD .NET API二次开发学习指南 作者:杜长宇 – Autodesk开发技术顾问 2012年4月20日 AutoCAD作为Autodesk公司的旗舰产品,已经在各个行业得到了广...

AutoCAD二次开发(.net教程)C#版——学习笔记(一)

最近开始学习AutoCAD(ObjectARX)的二次开发,首先遇到的一个最大问题就是——开发环境的设置问题,CAD的二次开发对开发工具的版本要求很严,开发包、CAD版本和开发工具都得对应(在网上看了...

AutoCAD .NET API二次开发学习指南

作者:杜长宇 – Autodesk开发技术顾问 2012年4月20日 AutoCAD作为Autodesk公司的旗舰产品,已经在各个行业得到了广泛的应用,DWG格式更是成为事实上的工业标准。与其说...

autocad.net二次开发中visualstudio版本问题

Overview of Microsoft Visual Studio Microsoft Visual Studio概述 Microsoft Visual Studio is an object...
  • tytmty
  • tytmty
  • 2014年07月14日 08:27
  • 2370

深入简出 AutoCAD.NET二次开发 简摘

第三章  程序设计基础 一、技术概况 ADO.NET ,WinForm,LINQ,WPF,WCF,XML,WebService 其中 自己的盲点: 1、反射reflection 2、LINQ...

AutoCAD二次开发之.net API学习笔记

1、用户交互
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:AutoCAD的.NET二次开发2
举报原因:
原因补充:

(最多只允许输入30个字)