CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2023 开发者帮助

行动网络

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

行动网络

操作归 AcDbAssocNetworks 所有。AcDbAssocNetwork 本身派生自 AcDbAssocAction,因此它表现为一个操作,并且可以创建网络层次结构。网络的 evaluate() 方法收集所有需要评估的操作,并以正确的顺序对其进行评估。

网络在“逻辑”意义上拥有这些行为,但也可能在“物理”意义上拥有它们。逻辑所有权意味着网络知道操作,并且在评估网络时会考虑操作。当操作在物理上也由网络拥有时,网络是操作的硬所有者,因此当网络深度或 wblock 克隆时,操作是深度克隆的。

AcDbAssocNetwork 层次结构

应用程序应根据以下建议构建其操作。包含操作的数据库应具有附加到 AcDbDatabase 的单个顶级网络。可以通过调用 AcDbAssocNetwork::getInstanceFromDatabase() 方法来获取此网络(如果尚不存在,也可以创建此网络)。顶级网络由数据库的命名对象字典(Named Object Dictionary)拥有,默认键为“ACAD_ASSOCNETWORK”。AcDbAssocNetwork 对象不是直接拥有的,数据库的命名对象字典拥有一个子字典,该子字典是实际 AcDbAssocNetwork 对象的软所有者。

顶级网络可以拥有其他网络,也可以拥有单个操作。更可取的安排是,整个数据库的顶级网络拥有与单个 AcDbBlockTableRecords (BTR) 相关的子网络分组操作。它可以是通用的模型空间和纸张空间 AcDbBlockTableRecords,也可以是单个块定义的 AcDbBlockTableRecords。这些 BTR 网络在逻辑上归顶级网络所有,但在物理上归 AcDbBlockTableRecords 的扩展字典所有。可以通过调用 AcDbAssocNetwork::getInstanceFromObject() 方法来获取 BTR 网络(如果尚不存在,则创建 BTR 网络)。AcDbBlockTableRecord 的扩展字典拥有网络的方式与数据库的命名对象字典拥有顶级网络的方式相同。子网可以拥有单独的操作和其他子网,具体取决于应用程序需求。

父主题:

  1. 关联框架

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2025-3-14 06:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部