Autocad、中望CAD自动加载程序研究(注册表法、acad.rx、acaddoc.lsp或acad.lsp) |
您所在的位置:网站首页 › cad如何打开arx文件 › Autocad、中望CAD自动加载程序研究(注册表法、acad.rx、acaddoc.lsp或acad.lsp) |
Autocad、中望CAD自动加载程序研究(注册表法、acad.rx、acaddoc.lsp或acad.lsp)
一、使用注册表 假设你的arx文件名字是aaa.arx绝对路径是c:\aaa.arx (1)Autocad:拿cad13做例子 在注册表路径下HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.0\ACAD-B001:804\Applications (2)ZWCAD:中望CAD机械版2017 注册表路径:HKCU\Software\ZwSoft\Zwcadm\2017\zh-CN\Applications 新建子项aaa(名字随意起,只要不重复) 在项下新建如下两个值 LOADCTRLS 类型:DWORD 值:2 LOADER 类型:字符串 值:D:\ObjectARX 2013\samples\database\ARXDBG\x64\Debug\arxdbg.arx
这个是写在当前用户下(HKEY_CURRENT_USER),也可以写在HKEY_LOCAL_MACHINE下,写在当前机器下,那么对于任意一个用户都是自动加载的 Atuocad2014及以上步骤一致,但是需要注意cad14以上的版本需要添加你arx所在路径到可信任路径上 以Autocad2014为例: HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.1\ACAD-D001:804\Profiles\ \Variables 下新建值 TRUSTEDPATHS 值类型:可扩展字符串 值:你arx所在路径在本文中就是C:\ 如果值已经存在则修改值,点击修改,在字符串最后加上;c:\就可以了 我举得例子是在未命名配置下举得例子,你需要那个配置就在那个配置下的Variables做如上修改
附注:注册表键值"LOADCTRLS"控制说明,控制ARX程序的加载方式(上例中使用的是Ox02随CAD启动一起加载)
0x01:Load the application upon detection of proxy object. 当代理对像被控知时加载相应ARX程序. 0x02:Load the application upon AutoCAD startup. 当AutoCAD启动时加载相应ARX程序. 0x04:Load the application upon invocation of a command. 当输入命令时加载相应ARX程序. 0x08:Load the application upon request by the user or another application. 当有用户或别的程序请求时加载相应ARX程序. 0x10:Do not load the application. 从不加载该应用程序. 0x20:Load the application transparently. 显式加载该应该程序.(不知该项译法是否有误)
使用批处理进行注册例子: @echo off set TargetPath=%1 if "%TargetPath%" == "" (Set TargetPath=ZcPluginsLoader.zrx) echo TargetPath=%TargetPath% if not exist "%TargetPath%" (Set TargetPath=%~dp0%TargetPath%) reg add HKCU\Software\ZwSoft\Zwcadm\2017\zh-CN\Applications\ZcPlugin /f reg add HKCU\Software\ZwSoft\Zwcadm\2017\zh-CN\Applications\ZcPlugin /v LOADER /t REG_SZ /d %TargetPath% /f reg add HKCU\Software\ZwSoft\Zwcadm\2017\zh-CN\Applications\ZcPlugin /v LOADCTRLS /t REG_DWORD /d 2 /f
二:acad.rx实现自动加载arx(中望为zwcad.rx) 我的arx路径是C:\myarx\test.arx 1.在 C:\myarx\ 下新建acad.rx文件 在里面写入test.arx(注意如果有多个arx,则每一个arx文件名 占据一行) 2.这种方法必须保证 acad.rx 所在路径在搜索路径下,对注册表做如何修改 HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.0\ACAD-B001:804\Profiles\\General 下的ACAD在里面的路径中添加C:\myarx; 注意最后必须以分号结尾 切记 当然我这里实在默认的配置(),并且是在cad13上做的实验 请大家根据自己的实际情况做改变
三.acaddoc.lsp或acad.lsp实现自动加载arx(中望为zwcaddoc.lsp/zwcad.lsp) 我的arx路径是C:\myarx\test.arx 1.在 C:\myarx\ 下新建acaddoc.lsp文件(也可以创建acad.lsp只不过acad.lsp只能在autocad启动时加载一次) 在里面写入 (defun S::STARTUP() ;函数名不可以改变 (arxload " test .arx") ;test .arx 为相对路径也可用绝对路径 ) 我从网上看到的代码是 (defun S::STARTUP() ;函数名不可以改变 (command "_netload" "my.dll"); my.dll为相对路径也可用绝对路径 ) 这个代码不能成功,应该不是这个代码不正确,应该是随着版本升级atuolisp函数也发生了变化 2.如同第一种方法所示你需要将autocad.lsp所在文件夹的路径添加到acad中(你不加进去cad怎么知道去哪加载acaddoc.lsp呢)对注册表做如何修改 HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.0\ACAD-B001:804\Profiles\\General 下的ACAD在里面的路径中添加C:\myarx; 注意最后必须以分号结尾 切记 当然我这里实在默认的配置(),并且是在cad13上做的实验
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |