开发好的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 。 这个注册表可以自己编写安装程序自动设定!