MicroStation PowerDraftマクロの10回目です。
今回はセル要素を構成する要素の取得方法をご紹介します。
セル要素から構成する要素を取得するメソッドは2種類あり
GetSubElementsとDropがそれにあたります。
まずはGetSubElementsを使ったセル要素を構成する
要素の取得方法を以下に示します。
Public Sub CellSubElements(eleCell As CellElement) Dim oEE As ElementEnumerator Set oEE = eleCell.GetSubElements Do While oEE.MoveNext '処理 Loop End Sub
GetSubElementsで取得した要素には元のセルの
構成要素と同じIDが割り当てられています。
従って取得した要素のレイヤなどを変更して
Rewriteすることで要素の内容を変更することができます。
Public Sub CellDrop(eleCell As CellElement) Dim oEE As ElementEnumerator Set oEE = eleCell.Drop Do While oEE.MoveNext '処理 Loop End Sub
一方、Dropでは取得した要素のIDは0となっており
レイヤなどを変更してRewriteをしても元の要素に変更は
反映されません(v8iでは要素がモデルに追加されていません
というエラーメッセージが表示されます)。
要素の内容を変更する場合は一旦元の要素を
削除してから取得した要素をAddElementする必要があります。
以上がセル要素を構成する要素の取得方法となります。
次回はテキスト要素の分解方法について取り上げます。