开发好的netapp插件可用以下方法,实现跟随CAD的启动自动加载!
一、autolisp法
(1)启动组:创建xxx.lsp程序其中用(command "netload" 你的netapp.dll完整路径),注意路径中的\用\\代替,然后在cad中用appload命令在启动组中加载xxx.lsp
(2)修改acad.lsp或acaddoc.lsp文件内容:
(defun S::STARTUP() ;函数名不可以改变,在其内添加(command "netload" 你的netapp.dll完整路径),为了避免多个插件自动启动的冲突,可使用append函数追加命令,示例代码如下:
(defun-q MYSTARTUP ( )
... your startup function ...
)
(setq S::STARTUP (append S::STARTUP MYSTARTUP))
上面的代码把启动函数附加到现有的 S::STARTUP 函数中,然后重定义 S::STARTUP 函数以包含该启动代码。不管以前的 S::STARTUP 函数是否存在,它都可以正常工作。
二、注册表法
-
运行regedit命令打开注册表。
-
找到如下路径:
[计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\AutoCAD\R24.3\ACAD-7101\Applications\AcMgd],亦可以在注册表编辑器中搜索AcMgd
4.搜索到后一般能看到AcMgd项内应包含四个键值,项内若为空白则可手工添加如下几个值如图:
"DESCRIPTION"=".NET Managed Layer"
"LOADCTRLS"=dword:00000002
"LOADER"="C:\\Users\\Administrator\\source\\repos\\MyCADNet\\bin\\Debug\\MyCADNet.dll"
"MANAGED"=dword:00000001
AcMgd键值内容
上述注册表值的含义如下:
DESCRIPTION
描述信息
LOADCTRLS
确定怎样加载和何时加载程序.
1 - 检测到代理程序就加载
2 -一起动就加载
4 - 命令运行就加载
8 -用户请求或另一应用请求即加载
16 - 不加载
32 - 显式加载
LOADER
指定dll加载的位置及文件的全路径名称,注意路径中的\全部用\\代替
MANAGED
指定是.NET 程序及还是ObjectARX 文件, 1 代表 .NET 程序, 0代表ObjectARX 。
这个注册表可以自己编写安装程序自动设定!