CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2024 开发者帮助

对更多用户调用的命令做出反应

2024-5-18 19:06| 发布者: admin| 查看: 123| 评论: 0|原作者: admin|来自: AutoCAD

对更多用户调用的命令做出反应

在编写基于 reactor 的应用程序时,您需要处理任何对对象有重大影响的命令。程序设计活动之一应该是查看所有可能的 AutoCAD 编辑命令,并确定应用程序应如何响应每个命令。第 6 课末尾显示的反应器跟踪表的格式非常适合此目的。调用您希望用户使用的命令,并记下应用程序应响应的行为类型。要计划的其他操作包括

  • 确定当用户发出 UNDO 和 REDO 命令时要执行的操作。
  • 确定当用户在擦除与反应堆链接的实体后发出 OOPS 命令时要执行的操作。

为了防止一个非常复杂的主题变得非常非常复杂,本教程没有尝试涵盖所有应该涵盖的可能性,并且本课程中的功能保持在绝对最低限度。

即使您不会为这些额外命令构建完整的功能,请检查一些额外的编辑功能需要您执行哪些操作:

  • 如果用户拉伸折线边界(使用 STRETCH 命令),则应会发生以下几种情况。它可以向任何方向拉伸,而不仅仅是在长轴或短轴上,因此边界最终可能会形成非常奇怪的形状。此外,您还需要考虑拉伸了多少个顶点。如果只拉伸一个顶点,将导致折线与移动两个顶点的折线完全不同。在任何情况下,一旦确定边界所需的调整,就必须擦除图块并重新计算新位置。
  • 如果用户移动折线边界,则应擦除所有切片,然后在新位置重新绘制。这是一个相当简单的操作,因为折线边界不会改变其大小或形状。
  • 如果用户缩放折线边界,则需要做出决定。切片是否也应该按比例放大,以便路径包含相同数量的切片?或者,切片大小是否应保持不变,并且应用程序是否应添加或删除切片,具体取决于折线是按比例放大还是按比例缩小?
  • 如果用户旋转折线边界,则应擦除所有切片,然后以新方向重新绘制。

不过,首先,只需计划以下几点:

  • 在命令启动时警告用户,所选的编辑命令(如 、 或 )将对花园路径产生不利影响。stretchmoverotate
  • 如果用户继续操作,请擦除图块,不要重新绘制它们。
  • 从路径轮廓中移除反应器。
注意:除了用户调用的 AutoCAD 命令外,还可以通过 AutoLISP 或 ObjectARX® 应用程序修改或删除图元。Garden Path 教程中提供的示例不包括 Garden Path 折线边界的编程操作,例如 through ( <polyline entity>)。在这种情况下,编辑器反应器事件不会被触发。entdel:vlr-commandWillStart:vlr-commandEnded

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-28 17:16

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部