我有一个与 AutoCad 交互的 C# 应用程序。它的工作是遍历模型上的所有实体,并通过查找特定 XData 标记的存在来找到适用于我们正在做的事情的实体。
问题是当起草者将一个块移动到任何标记为“不可见”的层(即关闭层)时,xdata 无法通过通常的循环发现:
foreach (AcadEntity ent in ACAD.ActiveDocument.ModelSpace)
{
... get xData from the entity.
}
我尝试使用以下代码再次打开图层:
ACAD.ActiveDocument.Layers.Item("HIDDENLAYER").LayerOn = true;
ACAD.Update();
foreach...
...但 xData 似乎没有回来。就好像将它移动到一个不可见的层会从对象中剥离 XData。那会很糟糕。
是否有“正确”的方式从不可见图层上的项目中获取 XData?
谢谢。