こちらの続きです。
2D属性リンクを扱いたい1 - C#ATIA
属性リンクを使ったことが無い為、イロイロと確認です。
3DでXY平面状に点を作成し、2Dでテキストを作成。
属性リンクをH→X、V→Yとして作ります。
属性リンクパネルの「現行の選択」は多分、インターナルネームかな?
恐らく、式で利用できるパラメータ類が使えるのだろうと思います。
3D側で数値を変え、2D側を強制更新すると反映されます。
リンクしているにも関わらず、ビューのアイコンはリンクしていない
ものでも出来るので、軽く罠のような雰囲気です。
強制更新に関してはこちらが役に立ちそうです。
任意のビューのみを強制更新 - C#ATIA
編集-リンク であればリンクしていることが確認出来ますね。
ここで疑問だったのが、参照しているものが削除された場合は
どうなるの? か。
知らん顔してテキストはそのままなんですね。
何らかの確認方法を確立しなければならない雰囲気がヒシヒシと。
(属性リンク使わなきゃいいのに・・・)
属性リンクを作るのは、InsertVariableメソッド出来そうだな
とは感じているのですが、リンクを削除する方法が良くわからないです。
直接textプロパティを書き換えてしまう為、こんな手抜きなものを
実行します。
Sub CATMain() Dim dDoc As DrawingDocument Set dDoc = CATIA.ActiveDocument Dim txt As DrawingText Set txt = dDoc.Sheets.ActiveSheet.views.ActiveView.Texts.Item(1) txt.Text = "hoge" End Sub
実行だけしてみると
おーまた知らん顔してる。リンクしている要素無いのにリンクしてます
って出ちゃうんだ。属性リンクは同期しないんだなぁ。
強制更新してもダメでした。
ダブルクリック等でテキストエディターを立ち上げ終了すると
無事リンクが無くなってます。
便利以上に、リスクの方が大きいように感じるんだけどなぁ。