AutoCAD 的 AccoreConsole - 第三篇(执行插件命令)
来源:互联网 发布:linux查看用户和组 编辑:程序博客网 时间:2024/06/07 00:24
前面看到我们可以执行AutoCAD本身的命令,而AccoreConsole 也可以执行二次开发的插件程序。原理很简单,就是加载插件,执行其中定义的命令。需要注意的是由于AccoreConsole 和界面无关(这也是为何有时我们称其为无头AutoCAD),插件程序如果是ObjectARX的,只能是基于CRX (或DBX程序),.NET的只能基于AcCoreMgd和AcDbMdg。即程序不能和使用与界面有关的模块。这源于AutoCAD对内核进行了重构,拆分出数据层和界面层的模块。如果你使用ObjectARX,可以参考这篇博客了解哪些库是属于CRX的。
请先下载本系列文章中相关的代码: AccoreConsole视频教程
其中,\DevTV-AccoreConsole\Samples\AccoreConsoleDemoSource\CrxTest1 是CRX例子,\DevTV-AccoreConsole\Samples\AccoreConsoleDemoSource\NetTest1是.NET例子。
CRX
先来看看CRX,打开工程后,需要对SDK的路径进行重新指定,因为当时例子是基于AutoCAD 2013介绍的。如果是64位的机器,还要切换到64配置。其它版本类似。
尤其,AutoCAD库文件只引用CRX相关的。其中的20表示的是2015以后的版本号。
切换到文件夹 \DevTV-AccoreConsole\Samples\CustomCRX,对*.scr和*.bat文件修改,设置DWG路径和scr路径。测试的DWG在\DevTV-AccoreConsole\Samples\SampleDrawings\Lights.dwg。该图纸中有几个块,每个块的Attribute显示 " 1000 W"字样,我们通过CRX程序修改为"2000 W"。
修改RunCustomCRXCmd.scr如下,设置CRX程序所在路径,和执行CRX命令需要的参数。
; Loading a .crx module(arxload "C:\\Users\\liangx\\Documents\\01_AutoCADIO\\DevTV-AccoreConsole\\Samples\\AccoreConsoleDemoSource\\x64\\Debug\\CrxTest1.crx"); Run the command(command "AttReplace" "Power" "1000 W" "2000 W")
修改RunAccore.bat, 设置AutoCAD安装路径,DWG图纸路径和脚本所在路径。
cd "C:\Program Files\Autodesk\AutoCAD 2016"c:clsaccoreconsole.exe /i "C:\Users\liangx\Documents\01_AutoCADIO\DevTV-AccoreConsole\Samples\SampleDrawings\Lights.dwg" /s "C:\Users\liangx\Documents\01_AutoCADIO\DevTV-AccoreConsole\Samples\CustomCRX\RunCustomCRXCmd.scr" /l en-USPAUSE
.NET
再来看看.NET的插件,打开工程 \DevTV-AccoreConsole\Samples\AccoreConsoleDemoSource\NetTest1 ,添加对应版本的AutoCAD相关引用:
该插件的命令通过传入的两个坐标点,得到构成的框选里的实体,打印出Handle。编译后,切换到\DevTV-AccoreConsole\Samples\CustomNET,修改*.src和*.bat
RunCustomNETCmd.scr
;Loading the .Net module(command "_.Netload" "C:\\Users\\liangx\\Documents\\01_AutoCADIO\\DevTV-AccoreConsole\\Samples\\AccoreConsoleDemoSource\\Demo\\bin\\Debug\\NetTest1.dll");; Run the command(command "EntSelect" "0.0,0.0,0.0" "30.0,30.0,0.0")
RunAccore.bat
cd "C:\Program Files\Autodesk\AutoCAD 2016"c:clsaccoreconsole.exe /i "C:\Users\liangx\Documents\01_AutoCADIO\DevTV-AccoreConsole\Samples\SampleDrawings\Lights.dwg" /s "C:\Users\liangx\Documents\01_AutoCADIO\DevTV-AccoreConsole\Samples\CustomNET\RunCustomNETCmd.scr" /l en-USPAUSE
- AutoCAD 的 AccoreConsole - 第三篇(执行插件命令)
- AutoCAD的AccoreConsole - 第二篇(执行脚本)
- AutoCAD 的 AccoreConsole - 第一篇(简介)
- AUTOCAD的arcgis插件
- AutoCAD绘制表格的插件
- 【第三回】使用OCCT做类似AutoCAD的拉伸功能(Extrude)
- python执行第三方命令
- Shell编程学习---第三篇:后台执行命令
- autocad插件合集包
- AutoCAD二次开发三种添加插件按钮的方法之一
- AutoCAD二次开发三种添加插件按钮的方法
- AutoCAD中的ARX插件一般写法(ObjectARX+C++)
- AUTOCAD命令大全
- AutoCAD 2005命令检索
- autocad命令、快捷键
- 命令的执行(SqlCommand)
- 命令的执行顺序 && || | () { }
- 用编程方式调用AutoCAD命令的技术
- jquery mobile常见问题解决方案
- 触摸屏tslib移植(内核)和原理分析
- Java读取properties文件,得到数据库的配置信息
- 数组试题---两个有序数组中的中位数
- web.config中的add key问题
- AutoCAD 的 AccoreConsole - 第三篇(执行插件命令)
- AOP
- 使用Java的BlockingQueue实现生产者-消费者
- 遍历整个目录树的文件和目录
- JavaScript技巧小招数
- android——不错的网络编程知识
- Android 网络通信框架Volley简介(Google IO 2013)
- mysql基本指令
- FORM表单重复提交问题解决方法