引自并参考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. Android ORM应用开发框架KJFrameForAndroid使用详解

    本文将为大家介绍一款Android ORM应用开发框架KJFrameForAndroid,很多时候我们也叫它KJLibrary. KJFrameForAndroid简介 KJFrameForAndro ...

  2. Sublime Text 3 中文乱码的解决方法

    Sublime Text 3 中文乱码表现如下图: 解决方法很简单,三步搞定: 步骤一: 下载ConvertToUTF8,下载地址:http://pan.baidu.com/s/1gd5SWmB 步骤 ...

  3. Fibonacci(斐波那契)递归实现。容易看懂

    #include<iostream>using namespace std;int fibonacci(int n){if(n<=0) return 0; else if(n==1) ...

  4. Eclipse - 修改默认user和类的创建日期

    1.找到eclipse.ini文件 2.在文件中找到 -vmargs -Duser.name=xxxxxxxx 3.修改xxxxxxxx为你的名字 4.eclipse中:Window -> Pr ...

  5. 在Django中进行注册用户的邮件确认

    之前利用Flask写博客时(http://hbnnlove.sinaapp.com),我对注册模块的逻辑设计很简单,就是用户填写注册表单,然后提交,数据库会更新User表中的数据,字段主要有用户名,哈 ...

  6. MFC -- 遍历Dialog中的子元素(控件)

    CWnd *win = GetWindow(GW_CHILD);//获取第一个子控件 while(win) { win代表子控件,可以通过win来获取子控件的信息,如下述两行代码 //iCtrlId ...

  7. 解决 主界面mainactivity 中fragment弹框把下面tab选项卡 顶上去的方案

     android:windowSoftInputMode="adjustPan"            android:configChanges="screenSize ...

  8. 50个C/C++源代码网站

    C/C++是最主要的编程语言.这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码 .这份清单提供了源代码的链接以及它们的小说明.我已尽力包括最佳的C/C++源代码的网站.这不是一个完整的 ...

  9. Java特性-Collection和Map

    创建博客的目的主要帮助自己记忆和复习日常学到和用到的知识:或有纰漏请大家斧正,非常感谢! 之前面试,被问过一个问题:List和Set的区别. 主要区别很明显了,两者都是数组形式存在的,继承了Colle ...

  10. JAVA多线程超时加载当网页图片

    先上图: 这一次没有采取正则匹配,而采取了最简单的java分割和替代方法进行筛选图片 它能够筛选如下的图片并保存到指定的文件夹 如: “http://xxxx/xxxx/xxx.jpg” 'http: ...