AutoCAD .NET二次开发
longge7685
这个作者很懒,什么都没留下…
展开
-
AutoCAD.NET:第一章 AutoCAD.NET二次开发概述
1、基于.NET的开发(1).NET API简介 在AutoCAD 2006及其以后版本中,Autodesk为其开发增加了.NET API。.NET API提供了一系列托管的外包类(Managed Wrapper Class),使开发人员可在.NET框架下,使用任何支持.NET的语言,如VB.NET、C# 和Managed C++等对AutoCAD进行二次开发。其优点是完全面向对象。(2).原创 2009-12-31 00:47:00 · 735 阅读 · 0 评论 -
让ARX程序随CAD一起启动的方法
非托管的ARX程序的加载 非托管的ARX程序是指用C++编译的以.arx为后缀的动态链接库文件,实现方法很简单,只需在注册表中加入以下信息(示例):Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE/SOFTWARE/Autodesk/AutoCAD/R16.2/ACAD-4001:804/Applications/LubanRen转载 2010-04-19 16:09:00 · 605 阅读 · 0 评论 -
让ARX程序随CAD一起启动的方法
非托管的ARX程序的加载 非托管的ARX程序是指用C++编译的以.arx为后缀的动态链接库文件,实现方法很简单,只需在注册表中加入以下信息(示例):Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE/SOFTWARE/Autodesk/AutoCAD/R16.2/ACAD-4001:804/Applications/LubanRen转载 2010-04-19 16:13:00 · 349 阅读 · 0 评论 -
DxfCode各枚举值意义
<br />组码 <br /> 说明 <br /> <br />-5 <br /> APP:persistent reactor 链表 <br /> <br />-4 <br /> APP:条件运算符(仅用于 ssget) <br /> <br />-3 <br /> APP:扩展数据 (XDATA) 标记(固定) <br /> <br />-2 <br /> APP:图元名引用 (固定) <br /> <br />-1 <br /> APP:图元名。每次打开图形时它都改变,且不被保存。(固定) <br /原创 2011-01-10 20:24:00 · 385 阅读 · 0 评论 -
AutoCAD.net:有条件选择AutoCAD实体
<br />这篇文章有感自之前的 一篇文章 ,在那篇文章中我们可以找到选择指定层上的所有实体的代码。这儿我们关注的是如何更好的选择多个层中的实体:AutoCAD的选择过滤机理使得这个选择起来实现起来很容易,同时还能实现跟实体的各个属性相关的复合性选择。<br />This post was inspired by a comment on this previous post, where we looked at some code to select entities on a specific lay转载 2011-01-10 20:30:00 · 532 阅读 · 0 评论 -
ARX及DLL程序随CAD自动启动的方法
使用lisp加载在.lsp中加入下面这句: (command "netload" "arc.dll")然后在autocad 使用注册表加载 非托管的ARX程序的加载 非托管的ARX程序是指用C++编译的以.arx为后缀的动态链接库文件,实现方法很简单,只需在注册表中加入以下信息(示例):Windows Registry Editor Version转载 2012-03-08 10:31:22 · 607 阅读 · 0 评论 -
外部程序通过COM启动AutoCAD时RPC_E_CALL_REJECTED的问题解决办法
对AutoCAD的二次开发是采用插件的方式,即运行AutoCAD.net API编写dll文件,运行时在AutoCAD命令行中输入netload命令来加载你的自定义插件dll。一般AutoCAD开发过程中你可能需要在你自己的主界面程序里启动AutoCAD并执行你的自定义命令。这时可以通过下面的方式来做。如果你用AutoCAD 2010及以上版本可能会遇到Problem executing comp转载 2012-03-08 10:33:23 · 562 阅读 · 0 评论 -
让AutoCAD启动时自动加载应用程序
方法一: 1. 在AutoCAD安装目录找到c:\Program Files\AutoCAD 2006\Support\acad2006.lsp 用记事本打开,在最后加入(下段代码第二行即可,注意路径) (if (not (= (substr (ver) 1 11) "Visual LISP")) (load "acad2006doc.lsp")) (command转载 2012-03-08 10:58:09 · 664 阅读 · 0 评论 -
计算文字在AutoCAD中所占的长度,和字体样式,字高,宽高必有关
在AutoCAD中,经常需要在一个创建一个文字实体之前,先要计算出它根据字体样式,字高和宽高比在图纸中所占的宽度,比如在一大段文字排版的时候很有用。于是整理封装了一下这个函数:[cpp] view plaincopydouble YgxGeometry::TextLength(LPCSTR str, double h, double wr)转载 2012-05-15 14:26:48 · 1007 阅读 · 0 评论 -
用C#实现外部调用CAD绘图一例-CAD Automation
« 绝妙的数学等式MTSTool钢结构工具箱 »2005-12-25 19:30:34用C#实现外部调用CAD绘图一例-CAD Automation说明: 一个老外(好像是印度人)写的例子,实现外部程序调用CAD程序,代码中加入了自定义了的类——PF (PublicFunctions),类中包含了几个很实用的函数,如CreateAutoCADObject()可以创建打开一个新的A转载 2010-03-18 23:15:00 · 1366 阅读 · 0 评论 -
[ARX]如何自动装载.net程序
在AutoCAD中,vba、object<span class="t_tag" onclick="function onclick(){tagshow(event)}">ARX、lisp<span class="t_tag" onclick="function onclick(){tagshow(event)}">程序都可以自动<span class="t_tag" onc转载 2010-03-22 12:32:00 · 521 阅读 · 2 评论 -
.NET 开发AutoCAD2006指南(二)
在上一篇文章中向大家简单讲了.NET开发AutoCAD的流程,其中介绍了我编写的一个简化程序开发的ZHFARX库。下面向大家介绍ZHFARX库中的主要函数及如何用它来编写.NET程序。关于ZHFARX库的所有函数的说明,请大家参考本章附件中的ZHFARX帮助文档。 在介绍ZHFARX库之前,让我们首先来了解一下有关的基本概念。你可以把AutoCAD看作为一个数据库,而AutoCAD中有转载 2010-03-22 12:30:00 · 526 阅读 · 0 评论 -
AutoCAD.NET:第二章 Hello World
在这一章中,我们将使用Visual Studio .NET来创建一个新的类库工程。通过这个工程,你可以创建一个能被AutoCAD装载的.NET dll文件。这个dll文件会向AutoCAD加入一个名为“HelloWorld”的新命令。当用户运行这个命令后,在AutoCAD 命令行上将显示“Hello World”文本。1) 新建类库。2) 使用AutoCAD .NET托管封装类。这些托管封转载 2009-12-31 00:49:00 · 744 阅读 · 0 评论 -
AutoCAD系统变量大全
变量名称 说明ACADLSPASDOC 0 仅将 acad.lsp 加载到 AutoCAD 任务打开的第一个图形中; 1 将 acad.lsp 加载到每一个打开的图形中ACADPREFIX 存储由 ACAD 环境变量指定的目录路径(如果有的话),如果需要则附加路径分隔符ACADVER 存储 AutoCAD 的版本号。这个变量与 DXF 文件标题变量 $ACADVER 不同,"$ACADVER" 包转载 2009-12-31 00:54:00 · 1079 阅读 · 1 评论 -
在命令唤醒时加载.Net模块
实现方法:首先,和原来一样要在注册表的HKEY_CURRENT_USER/Software/Autodesk/AutoCAD/R17.0/ACAD-5001:804/Applications目录新建项,然后在其下添加两个新键:"LOADCTRLS"和"LOADER"。注意的是这里"LOADCTRLS"要设为"12"(或者16进制的c),它代表"on command invocation"的4和原创 2010-03-18 20:01:00 · 390 阅读 · 0 评论 -
在AutoCAD中程序化加载.NET程序集的方法(1)
前面的文章已经介绍过,通过修改注册表可以实现.NET程序集随AutoCAD的启动自动加载,这两天Kean又介绍了一种程序化的加载方法:用.NET程序加载.NET程序集,用到了微软的核心类库mscorlib中的System.Reflection命令空间。加载时只要一个函数Assembly.LoadFrom()可以了,试了下速度还是很快地。下面转一下Kean的测试代码(C#): 1 us转载 2010-03-18 20:02:00 · 686 阅读 · 0 评论 -
在AutoCAD中程序化加载.NET程序集的方法(2)
除了上一篇中提到的用.NET程序实现的方法外,另一种用LISP加载.NET的程序集的方法由来已久。思路是用lisp语言程序化调用“Netload”命令,代码也比较简单,速度也还可以,示例如下:(defun c:LOADNET()(command "netload" "E:/documents/DotNetFile.dll")(command "LOADNET")(princ))转载 2010-03-18 20:06:00 · 922 阅读 · 0 评论 -
用.Net实现AutoCAD实体的多重选择
在使用.NET开发AutoCAD时,获取的选择集可以用SelectionFilter对象进行过滤,这样用户就可以只选择对自己操作有用的实体了。关于这个SelectionFilter选择过滤器,偶以前只知道用DxfCode.Start组码来过滤单种类形的实体(如直线、圆、圆弧等)。今天在才鸟兄的指点下,找到了几个多重选择CAD实体的方法,现总结如下:只过滤直线实体PromptSelect转载 2010-03-18 20:05:00 · 1034 阅读 · 1 评论 -
.NET开发AutoCAD指南(一)
时下流行的开发AutoCAD的工具,一个是ObjectARX,另一个是AutoCAD自带的VBA(AutoCAD内置的Visual lisp本来也算一个,但它只能开发一些小型的程序,因此不能和前面的两个工具相比)。但两者都存在明显的不足,以VC++为基础的ObjectARX的开发功能无庸质疑是非常强大的,但要想学习并熟练掌握VC++及ObjectARX对于普通人来说是比较困难的。还有大家应该注意到转载 2010-03-22 12:27:00 · 830 阅读 · 3 评论 -
使用.NET来实现AutoCAD打印
using Autodesk.AutoCAD.Runtime;using Autodesk.AutoCAD.ApplicationServices;using Autodesk.oCAD.DatabaseServices;using Autodesk.AutoCAD.EditorInput;using Autodesk.AutoCAD.Geometry;us转载 2012-06-01 17:36:45 · 1652 阅读 · 0 评论