MicroStation PowerDraftマクロの7回目です。
今回はセル要素の作成方法をご紹介します。
セル要素を作成する関数は3つあります。
CreateCellElement1 (Name, Elements, Origin [, IsPointCell]) Name: String型 要素テンプレートを指定します Elements: Element() 型 Element オブジェクトの配列 セルを作成後はこれらの要素を参照することはできません Origin: Point3d型 セルを配置する場所 IsPointCell: Matrix3d型 セルを点セルとして配置するかどうかを指定します
CreateCellElement2 (CellName, Origin, Scale, TrueScale, Rotation) CellName: String型 アタッチされたセルライブラリ内のセルの名前 Origin: Point3d 型 セルを配置する場所 Scale: Point3d 型 配置する前にこのCellElementに適用するスケールファクター Rotation: Matrix3d型 要素の回転 回転はスケールファクターの前に適用されます 回転無しの場合にはMatrix3dIdentityを指定します TrueScale: Boolean型 MicroStation はデザインファイルとセルライブラリの 異なる作業単位間で変換するために自動的にスケールするか どうかを示します。Scale 引数によって示されたように スケールする前に実行します
CreateCellElement3 (CellName, Origin, TrueScale) CellName: String型 セルの名前 Origin: Point3d型 セルを配置する場所 TrueScale: Boolean型 MicroStation はデザインファイルとセルライブラリの 異なる作業単位間で変換するために自動的にスケールするか どうかを示します。Scale 引数によって示されたように スケールする前に実行します
関数は3つありますがアタッチしたセルライブラリファイル
を用いてセルを配置することが多いので
CreateCellElement3を使用することが多いです。
では関数を使ってセル要素を作成してみましょう。
既存のセルライブラリファイルから[BOKUSOUCHI]というセルを
座標(10, 10, 0)に配置します。
コードは下記のようになります。
Dim eleCell As CellElement Dim strCellName As String Dim p3dOrigin As Point3d strCellName = "BOKUSOUCHI" p3dOrigin = Point3dFromXYZ(10, 10, 0) Set eleCell = CreateCellElement3(strCellName, p3dOrigin, True) Call ActiveModelReference.AddElement(eleCell)
上記のコードを実行すると下図に示すようにデザイン上にセル要素が表示されます。
以上でセル要素の生成方法について紹介を終わります。
次回は要素のレイヤの変更方法についてご紹介します。