CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

拖动时评估

2022-12-31 15:48| 发布者: admin| 查看: 255| 评论: 0|来自: AutoCAD

在拖动期间,将对每个拖动样本评估顶级网络。当拖动的实体附加了依赖项时,将通知依赖项。如上一节所述,依赖项、拥有依赖项的操作以及拥有操作的网络的 AcDbAssocStatus 更改为 kChangedDirectAssocStatus。这会在评估顶级网络时将这些操作以及可能的其他操作标记为需要评估。网络评估可能会更改其他实体,并且这些其他更改的实体也需要在拖动时实时显示。

AutoCAD 拖动机制基于一个简单的概念,即在每个拖动样本上创建被拖动实体的非数据库驻留克隆、更改克隆、显示克隆和删除克隆。数据库驻留实体在拖动过程中不会更改;它们只是在最后才改变。

为了从操作代码中隐藏对拖动实体的非数据库驻留克隆的创建和操作,提供了一个模板类 AcDbAssocObjectPointer 。操作应使用此模板类打开在操作评估期间需要使用或修改的所有实体。该操作将要打开的对象的 AcDbObjectId 传递给 AcDbAssocObjectPointer 对象。如果不拖动,则 AcDbAssocObjectPointer 对象表示提供的 AcDbObjectId 的 AcDbObject。但是,在拖动过程中,AutoCAD 拖动机制会创建原始实体的非数据库驻留克隆,然后 AcDbAssocObjectPointer 表示此非数据库驻留实体。然后,操作代码使用或修改此实体的方式与修改原始数据库常驻实体的方式相同;它不需要做任何特殊的事情来支持拖动。


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 12:43

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部