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 を取得する「適切な」方法はありますか?
ありがとう。