引自并参考Kean's blog:http://through-the-interface.typepad.com/through_the_interface/2006/07/getting_started.html

这篇文章写于2006年7月3日,虽然比较早,但是这是所有的开始,所以第一篇要由此写。

开始用.NET编写使用与AutoCAD的插件,首先你需要的平台是.NET的编程平台Visual Studio,当然还有AutoCAD软件。其版本对应的关系如下:

VS2005——CAD2007,CAD2008,CAD2009

VS2008——CAD2010

因为本人日常使用的是CAD2010,我主要用VS2008的C#来编写程序,而这篇文章是使用ObjectARX(C++)来开发,所以这里直接翻译。

VS2008和AutoCAD软件,请读者由网上寻找下载。

好,回到我们的主题,使用.NET来进行CAD的二次开发,首先要下载适用于不同CAD版本的ObjectARX SDK。SDK中包括了展示API不同功能的例子,可以很好的作为你编程的参考,这里给出不同的版本对应:

  ObjectARX对应AutoCAD2011及以上版本请点击这里

  ObjectARX对应AutoCAD2010及以下版本请点击这里

同所有编程的起点一样,这里使用ObjectARX的向导生成一个用VB.NET开发的“Hello World”程序。

步骤一:在SDK中找到安装向导文件ObjectARX Wizards (ArxWizards.msi),运行之。

步骤二:上一步成功之后,当你打开VS2005新建项目的时候,你会发现如下:

点击“OK”,

点击“Finish”。

  这里面向导程序为你做了很多工作,它建立了Class Library Project,并且将AutoCAD所需要的Dlls文件添加其中,这里包括CAD的两个核心:

  acdbmgd.dll:包括内部的AcDb(核心数据库)和支持的类;

  acmgd.dll:包括CAD程序特性的类。

步骤三:输入如下代码:

Imports Autodesk.AutoCAD.Runtime

    Public Class AdskClass

        ' Define command 'Asdkcmd1'

        <CommandMethod("Asdkcmd1")> _

        Public Sub Asdkcmd1()

            ' Type your code here

        End Sub

    End Class

步骤四:编译工程,生成dll文件。

步骤五:在AutoCAD平台命令窗口,输入netload命令,并导入生成的dll文件。

步骤六:在命令窗口输入asdkcmd1,则可以实现你的功能。

从AutoCAD和.NET开始的更多相关文章

  1. AutoCAD .net 开发 SelectionFilter Foreach Linq 性能比较

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. Autocad 2012 win7(64位)启动时一直卡在acmgd.dll处的解决方案

    安装Autocad 2012后,激活成功后,无法正常启动,一直卡在加载acmgd.dll 通过Procmon监控后发现加载C:\Windows\fonts\AdobeFnt11.lst处出错, 通过命 ...

  3. 通过API执行AutoCAD命令来…

    大家知道AutoCAD功能丰富,而更可贵的是,这么多丰富的功能背后都有一个命令,有些东西,直接用API调用写起来可能很费劲或者无法实现,可如果能用命令的话却很简单,这时候我们就可以通过API来调用Au ...

  4. AutoCAD Civil 3D 中缓和曲线的定义

    本文对AutoCAD Civil 3D中缓和曲线的定义进行了整理. 原英文网页如下: https://knowledge.autodesk.com/support/autocad-civil-3d/l ...

  5. VS2010开发AutoCAD 2012 .net应用程序调试时断点不起作用

    VS2010+ AutoCAD 2012开发调试过程中,发现普通的Class里面的断点是可以跟踪到的,可能是创建自定义的Form做界面是,Form1.cs中的代码断点却不管用.原因在于AutoCAD的 ...

  6. 基于.NET的CAD二次开发学习笔记二:AutoCAD .NET中的对象

    1.CAD对象:一个CAD文件(DWG文件)即对应一个数据库,数据库中的所有组成部分,看的见(包括点.多段线.文字.圆等)和看不见(图层.线型.颜色等)的都是对象,数据库本身也是一个对象. 直线.圆弧 ...

  7. Registry values for ProductID and LocaleID for AutoCAD and the vertical products

    原文地址:http://adndevblog.typepad.com/autocad/2013/08/registry-values-for-productid-and-localeid-for-au ...

  8. AutoCAD系统变量一览表

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; t ...

  9. DWG2SHP DXF2SHP 如何把AutoCAD的DWG,DXF文件转换为Esri ArcGIS的Shape文件

    dwg是AutoCAD创立的一种图纸保存格式,已经成为二维CAD的标准格式,很多其他CAD为了兼容AutoCAD,也直接使用dwg作为默认工作文件. 地图shape文件由ESRI开发,一个ESRI的s ...

随机推荐

  1. 【 2013 Multi-University Training Contest 3 】

    HDU 4622 Reincarnation 枚举字符串的起点,构造后缀自动机,每次插入一个字符,就能统计得到当前不同字串的个数,预处理出所有的询问. #include<cstdio> # ...

  2. java 排序

    class Employee { private String name; private String id; private String salary; public static void m ...

  3. MFC-01-Chapter01:Hello,MFC---1.3 第一个MFC程序(03)

    1.3.2 MFC如何使用应用程序对象 MFC程序没有main函数,没有WinMain函数,到底是什么启动了程序的运行? 一个MFC提供的源代码中(Winmain.cpp)包含了一个AfxWinMai ...

  4. as3 代码加解密

    private var loader:URLLoader; ... private function init():void { loader = new URLLoader; req=URLRequ ...

  5. 百度前端技术学院2015JavaScript基础部分-BOM

    5.1 任务描述 实现以下函数 // 判断是否为IE浏览器,返回-1或者版本号 function isIE() { // your implement } // 设置cookie function s ...

  6. Oracle中SQL查询表字段基本信息、主键、外键(转)

    select utc.column_name, utc.data_type, utc.data_length, utc.data_precision, utc.data_Scale, utc.null ...

  7. android之fragment

    觉得写得好:http://blog.csdn.net/shulianghan/article/details/38064191

  8. NethServer 7.2 RC1,增加深度数据包检测

    NethServer 7.2 RC1 "Saltimbocca"  发布了,NethServer是基于CentOS的面向服务器的Linux发行.该产品的主要特性是模块化的设计,这使 ...

  9. 今天第一节PS课

  10. UI数据库

    一.数据库 SQL: SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集, 是一种功能齐全的数据库语言. 二.数据库管理系统 数据 ...