从AutoCAD和.NET开始
引自并参考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开始的更多相关文章
- AutoCAD .net 开发 SelectionFilter Foreach Linq 性能比较
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Autocad 2012 win7(64位)启动时一直卡在acmgd.dll处的解决方案
安装Autocad 2012后,激活成功后,无法正常启动,一直卡在加载acmgd.dll 通过Procmon监控后发现加载C:\Windows\fonts\AdobeFnt11.lst处出错, 通过命 ...
- 通过API执行AutoCAD命令来…
大家知道AutoCAD功能丰富,而更可贵的是,这么多丰富的功能背后都有一个命令,有些东西,直接用API调用写起来可能很费劲或者无法实现,可如果能用命令的话却很简单,这时候我们就可以通过API来调用Au ...
- AutoCAD Civil 3D 中缓和曲线的定义
本文对AutoCAD Civil 3D中缓和曲线的定义进行了整理. 原英文网页如下: https://knowledge.autodesk.com/support/autocad-civil-3d/l ...
- VS2010开发AutoCAD 2012 .net应用程序调试时断点不起作用
VS2010+ AutoCAD 2012开发调试过程中,发现普通的Class里面的断点是可以跟踪到的,可能是创建自定义的Form做界面是,Form1.cs中的代码断点却不管用.原因在于AutoCAD的 ...
- 基于.NET的CAD二次开发学习笔记二:AutoCAD .NET中的对象
1.CAD对象:一个CAD文件(DWG文件)即对应一个数据库,数据库中的所有组成部分,看的见(包括点.多段线.文字.圆等)和看不见(图层.线型.颜色等)的都是对象,数据库本身也是一个对象. 直线.圆弧 ...
- 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 ...
- AutoCAD系统变量一览表
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; t ...
- DWG2SHP DXF2SHP 如何把AutoCAD的DWG,DXF文件转换为Esri ArcGIS的Shape文件
dwg是AutoCAD创立的一种图纸保存格式,已经成为二维CAD的标准格式,很多其他CAD为了兼容AutoCAD,也直接使用dwg作为默认工作文件. 地图shape文件由ESRI开发,一个ESRI的s ...
随机推荐
- Docker私服仓库push 错误
docker push 提交时错误提示: docker push 192.168.1.110:5000/redis Error response from daemon: invalid regist ...
- asp.net mvc 防止开放重定向
/// <summary> /// 防止开发重定向,篡改returnurl /// </summary> /// <param name="request&qu ...
- #1000 A + B (hihoCoder)
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 求两个整数A+B的和 输入 输入包含多组数据.每组数据包含两个整数A(1 ≤ A ≤ 100)和B(1 ≤ A ≤ 100) ...
- 高精度快速预览打开dwg文件的CAD控件CAD Image DLL介绍及下载
CAD Image DLL对于DXF格式, DWG格式(AutoCAD R12 到AutoCAD 2004/2005), PLT 以及 HPGL/HPGL2文件都有快速的显示速度和精度,开发者再也不会 ...
- [转]as3 算法实例【输出1 到最大的N 位数 题目:输入数字n,按顺序输出从1 最大的n 位10 进制数。比如输入3,则输出1、2、3 一直到最大的3 位数即999。】
思路:如果我们在数字前面补0的话,就会发现n位所有10进制数其实就是n个从0到9的全排列.也就是说,我们把数字的每一位都从0到9排列一遍,就得到了所有的10进制数. /** *ch 存放数字 *n n ...
- Groovy解析xml并且注入Project,TestSuite,TestCase级别的custom properties
import com.eviware.soapui.support.GroovyUtils import groovy.util.XmlParser def groovyUtils = new Gro ...
- Javascript DOM编程艺术 2宿主对象
区别于Javascript脚本里的预先定义好的对象,宿主对象不是由Javascript语言本身提供的(内建对象)和用户自定义对象,它是由Javascript的运行环境(如web浏览器)提供的.这种We ...
- C# 使用 fckeditor 上传文件中文名乱码的问题---转
提到中文乱码,首先肯定是由于编码问题引起的所以就从编码转换入手,尝试了将UTF-8转换为GB2312,但发现无论如何没有办法转成功 看到很多文章说修改配置文件 <globalization re ...
- RCurl网络数据抓取
观察基础信息(服务器信息和提交给服务器的信息) d=debugGatherer()xpath="http://123.sogou.com/"url=getURL(xpath,deb ...
- Python学习路程day17
常用算法与设计模式 选择排序 时间复杂度 二.计算方法 1.一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道.但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费 ...