问题描述: 

用户在使用二次开发程序时往往希望在中望CAD启动时自动加载,而不是手动进行加载,需要如何操作才能实现自动加载呢?

步骤指引:

中望CAD (以2026版本为例)目前支持三种自动加载方式。

1. ZWCAD2026.lsp 自动加载

此文件会在中望CAD 2026启动时自动加载并执行其中的 LISP 代码,因此可以向此文件中添加 LISP 代码,将要自动加载的二次开发程序文件加载。例如,要自动加载 sample.lsp 和 sample.zrx,可以添加如下代码:

(load "sample.lsp";)
(zrxload "sample.zrx")

说明

  • ZWCAD2026.lsp (以中文版为例)默认位置为:

    C:\Program Files\ZWSOFT\ZWCAD 2026\Support

  • 加载的文件既可以带完整路径,也可以只提供文件名。只有文件名的时候,中望CAD 2026 按照如下顺序搜索该文件:首先是当前工作目录,然后是选项中的支持文件搜索路径,最后是 ZWCAD.EXE 所在目录。中望CAD 2026 中使用文件时如果不带路径,基本上都是按照这个搜索顺序查找文件。

2. ZWCAD.rx 自动加载

此文件专门负责中望CAD 2026 启动时自动加载 ZRX 程序。例如,要自动加载 sample.zrx 和 work.zrx,可以添加如下内容:

sample.zrx
work.zrx

3. 按需加载

按需加载也可以实现二次开发程序的自动加载。其实现方法为在注册表中特定项下注册需要按需加载的二次开发程序。相关的注册表项为:

HKEY_LOCAL_MACHINE\SOFTWARE\ZWSOFT\ZWCAD\2026\zh-CN\Applications
HKEY_CURRENT_USER\Software\ZWSOFT\ZWCAD\2026\zh-CN\Applications

这两个注册表项的区别是 HKEY_LOCAL_MACHINE 下注册的对所有用户有效、HKEY_CURRENT_USER 下仅对当前用户有效。

可以将注册信息写入一个 reg 文件,导入注册表,即可实现按需加载。如下面的 reg 文件,实现了 ZrxETransmit.zrx 程序的按需加载。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\ZWSOFT\ZWCAD\2026\zh-CN\Applications\ZrxETransmit]
"LOADER"="ZrxETransmit.zrx"
"LOADCTRLS"=dword:0000000c
"DESCRIPTION"=""

[HKEY_LOCAL_MACHINE\SOFTWARE\ZWSOFT\ZWCAD\2026\zh-CN\Applications\ZrxETransmit\Commands]
"ETRANSMIT"="ETRANSMIT"

[HKEY_LOCAL_MACHINE\SOFTWARE\ZWSOFT\ZWCAD\2026\zh-CN\Applications\ZrxETransmit\Groups]
"ZRX_ETRANSMIT_COMMANDS"="ZRX_ETRANSMIT_COMMANDS"

该程序注册了命令:ETRANSMIT,命令组为:ZRX_ETRANSMIT_COMMANDS,加载方式为 0000000c,即当执行到注册的命令时自动加载。如果需要在中望CAD 2026 启动时加载,可以修改加载方式为 0000000f。

  • LOADER 为要加载的程序文件,可以带路径,也可以不带路径,不带路径则按照文件搜索顺序查找文件。

  • LOADCTRLS 为加载方式。

  • DESCRIPTION 为对程序的描述文字。

  • Commands 下为该程序注册的命令。

  • Groups 下为该程序注册的命令组名称。


英文空间链接


★★在中望CAD中如何自动加载二次开发程序?https://confluence.zwcad.com/pages/viewpage.action?pageId=284951821

  • No labels