AutoCAD 命令存储在命令堆栈中的组中,该命令堆栈由类定义。每个 AutoCAD 会话将创建一个命令堆栈实例。此堆栈由您定义的自定义命令组成。宏允许您访问命令堆栈。AcEdCommandStackacedRegCmds() 添加命令时,还会为其分配组名。一个好的策略是使用已注册的开发人员前缀作为组名称,以避免与其他命令发生名称冲突。给定组中的命令名称必须是唯一的,并且组名称必须是唯一的。但是,多个应用程序可以添加同名的命令,因为组名使命令明确。 您通常使用函数一次添加一个命令,并使用函数按组删除命令。您还可以使用该函数一次删除一个命令。作为退出前清理的一部分,应用程序需要删除它注册的任何命令。AcEdCommandStack::addCommand()removeGroup()removeCmd() 函数的签名是addCommand() Acad::ErrorStatus addCommand( const char* cmdGroupName, const char* cmdGlobalName, const char* cmdLocalName, Adesk::Int32 commandFlags, AcRxFunctionPtr functionAddr, AcEdUIContext *UIContext = NULL, int fcode=-1, HINSTANCE hResourceHandle = NULL, AcEdCommand** cmdPtrRet = NULL);
注意:建议以前缀开头所有组和命令名称,以避免与其他加载的应用程序发生可能的命名冲突。您选择的前缀可能是公司名称的缩写或其他短名称,有助于将应用程序注册的组和命令与其他应用程序注册的组和命令唯一标识。例如,可以将 ADSK 的前缀添加到 MOVE 命令的版本中,从而生成 ASDKMOVE 的最终名称。
|
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:24
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.