从对象中查找外部参照块参照。。。
您好我正在为用户自动选择对象,并且我有一个对模型中对象的引用-基本上是ObjectID。我想找出它来自哪个外部参照(块参照)。用户将获取单个外部参照并在不同位置多次插入,我想找到外部参照块参照位置
如果用户选择了对象,那么我们可以使用getcontainers过程,但在这种情况下,我只有对象。有办法吗
谢谢
**** Hidden Message ***** 如果对象显示在多个外部参照实例中,那么您需要某种方法来确定您对哪些可能的实例感兴趣。 我的想法是对象本身中一定有一些东西,我可以查看并追踪到xref(块引用)所有者......但我在这一点上没有看到它。
我唯一的另一个想法如下......
我知道ObjectID......所以搜索查找所有XREF块,然后搜索每个XREF块引用以查找对象的对象ID...... 对象拥有的xref的每个引用都将包含对同一对象的相同引用。每个实例中没有不同的对象。只有块引用实体本身因实例而异。 你好,
我想我错过了一些基本的东西。 如果将块参照插入到图形中两次,则它位于两个位置,并且外部参照内的对象显示在两个位置 - 我相信它们具有自己的对象ID。 如果您在其中一个块引用中有一个组件的对象,我认为我可以找到它位于其中的特定块引用...不仅仅是块表记录或数据库引用(对于两个对象都是相同的),
我想我应该备份我的思维过程......
我在绘图中插入了一个外部参照,并且参照显示在 0,0,0 以外的位置。
如果在视口中循环浏览模型中的每个对象,然后对每个单独的对象使用 Autodesk.AutoCAD.Internal.Utils.SelectObjects,则 AutoCAD 显示的选择夹点不在外部参照中的对象上。 它们与 AutoCAD 显示的实际对象按 XREF 块参照偏移的确切距离偏移。 我假设这是AutoCAD中的一个错误,因为如果你在xREF周围放一个实体并与对象发生冲突......AutoCAD(就碰撞位置而言)认为对象是上面显示的夹点的位置...不是其绘制位置的真实位置,也不是 xREF 块引用所指的实际位置。
这有什么意义吗???
无论如何,我需要XREF块引用,以便我可以对对象执行转换以获得正确的位置...
我一定错过了什么。 我需要一种方法来从对象引用中获取特定的XREF块引用...
对不起,我不知道我怎么能更清楚地说明这一点。 这一点可以说得很清楚
将BlockReference视为在应用了转换的情况下显示BlockTable内对象的一种方式
当您有两个BlockReference时,它们显示相同的对象,但将对象从BlockTableRecord的原点转换到插入点,并旋转等等。…
它只是同一组对象的转换,不包含对象(BlockReferences可以包含属性)
页:
[1]