从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 ...
随机推荐
- 模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数 字,求和之后输出结果,写出其的设计思想、程序流程图、源程序代码。
一 设计思想 首先现在file中建立一个类,并把任务名和类名写上(注意类名的大写):第二步则是参数的输入,并且定义求和变量:第三步则是对参数数据类型的要求,要把字符类型转化为整数类型并输出(这也是本道 ...
- Tomcat服务器配置
安装好jdk以后,首先到apache官网(http://tomcat.apache.org/)下载tomcat,安装到F盘,本人下载的版本为:apache-tomcat-7.0.55 修改环境变量 找 ...
- 面试复习(C++)之冒泡排序
第一次写技术博客,先只贴代码吧. #include <iostream> using namespace std; void Bubble(int *arr,int len) { int ...
- java中“/0”含义
public class Test { public static void main(String[] args) { // 正常情况下,对这个0,tp中储的是其对应的ASCII码48 char t ...
- CGContext 解释
Managing Graphics Contexts:管理图形上下文 CGContextFlush // 强制立即渲染未执行在一个窗口上下文上的绘图操作到目标设备.系统会在合适的时机自动调用此函数,手 ...
- 基于WWF搭建的通用审批流程
月明星稀,却不见明月:蛾儿雪柳暗香飘过,纵使回首千百回,却不知,心已灭:壮志未酬,却落得个多情应该笑我:扬帆起航,却不知,帆已破.这是我刚离职时的心情,曾几何时,真的想呆在一家公司,做一名优秀的技术管 ...
- 简单高效快捷的百度地图demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...
- HTML编辑器
终于有时间静下来总结一下最近的工作. 第一个就是html编辑器: 首先是编辑器的选择,之前用的是ewebeditor,功能很强大,出于粘贴word内容得安装插件的原因,暂时放弃. ewebeditor ...
- android开发虚拟机不能正常启动
点击 window---perspective---DDMS---查看设备状态, 如果显示没有可用设备,则在AVD manager中重 启即可, 若列表中有设备,但显示offline 可采用一下方式 ...
- cocos2d-x图层相关 锚点
CCLayerColor* ccc = CCLayerColor::create(ccc4(255,0,0,255)); ccc->setContentSize(CCSize(200,200)) ...