CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

添加新的反应器功能

2023-1-5 06:35| 发布者: admin| 查看: 241| 评论: 0|来自: AutoCAD

在第 6 课中,您将回调函数挂接到反应器事件。由于它目前存在,该函数显示一些消息并初始化两个全局变量,和,to。gp:command-will-start:vlr-commandWillStart*polyToChange**reactorsToRemove*nil

向 gp:命令将启动回调函数添加功能

  1. 打开你的gpreact.lsp文件。
  2. 在函数中,通过修改函数调用将两个变量添加到函数调用中,如下所示:gp:command-will-startsetq
    ;; Reset all four reactor globals to nil.
    (setq   *lostAssociativity* nil
            *polyToChange* nil
            *reactorsToChange* nil
            *reactorsToRemove* nil)
  3. 将剩余的代码(直到最后一个函数调用)替换为以下代码:gp:command-will-startprinc
    (if (member (setq currentCommandName (car command-list))
                '("U"          "UNDO"      "STRETCH"
                "MOVE"       "ROTATE"    "SCALE"
                "BREAK"      "GRIP_MOVE" "GRIP_ROTATE"
                "GRIP_SCALE" "GRIP_MIRROR")
        ) ;_ end of member
      (progn
        (setq *lostAssociativity* T)
        (princ "\nNOTE: The ")
        (princ currentCommandName)
        (princ " command will break a path's associativity .")
      ) ;_ end of progn
    ) ;_ end of if

    此代码检查用户是否发出了破坏磁贴和路径之间关联性的命令。如果用户发出这样的命令,程序将设置全局变量并警告用户。*lostAssociativity*

    在试验花园路径应用程序时,您可能会发现其他编辑命令,这些命令可能会修改花园路径并导致关联性丧失。将这些命令添加到带引号的列表中,以便用户知道将会发生什么。当此函数触发时,用户已启动命令,但尚未选择要修改的任何实体。用户仍然可以取消命令,保持原样。


路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-28 02:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部