MicroStation PowerDraftマクロの使い方 その3

MicroStation PowerDraftマクロの使い方3回目です。

今回からは前回説明した線分、連続線分や多角形以外の

要素の作成方法について説明していきます。

今回は複合連結要素・複合図形要素を作成します。

複合連結要素とは複数の線分や連続線分を

グループ化した要素です。

PowerDraftのvbaで座標値の取得などを行うときには

グループ内の要素個々の情報を取得しなければならず

線分、連続線分単体での処理に比べるとひと手間必要な

要素になります。

要素の情報の取得方法については今後紹介していくこととして

今回は複合連結要素の作成について説明します。

線分、連続線分から複合連結要素を作成するときの

コードは下記の通りです。

Dim p3dVertices0(0 To 1) As Point3d
Dim p3dVertices1(0 To 2) As Point3d
Dim eleChainable(0 To 1) As ChainableElement
Dim eleComplexString As ComplexStringElement

p3dVertices0(0) = Point3dFromXY(0, 0)
p3dVertices0(1) = Point3dFromXY(100, 100)

Set eleChainable(0) = 
       CreateLineElement1(Nothing, p3dVertices0)

p3dVertices1(0) = Point3dFromXY(100, 100)
p3dVertices1(1) = Point3dFromXY(150, 100)
p3dVertices1(2) = Point3dFromXY(150, 200)

Set eleChainable(1) = 
       CreateLineElement1(Nothing, p3dVertices1)

Set eleComplexString =
       CreateComplexStringElement1(eleChainable)

Call ActiveModelReference.AddElement(eleComplexString)

コードウインドウでF5キーを押して実行すると

下図のように複合連結要素が追加されます。

WS000000

また、複数の線分、連続線分を一つの多角形としてグループ化した

複合図形要素を作成するには上記コードにおいて下記2か所を

変更することで作成することができます。

コード4行目
Dim eleComplexString As ComplexStringElement
↓
Dim eleComplexShape As ComplexShapeElement
コード14行目
Set eleComplexString =
CreateComplexStringElement1(eleChainable)
↓
Set eleComplexShape = CreateComplexShapeElement1(eleChainable)

作成された複合図形要素は下図のようになります。

WS000002

以上で複合連結要素・複合図形要素の作成は終わりです。

コメントを残す

メールアドレスが公開されることはありません。