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

MicroStation PowerDraftマクロの8回目です。

今回はレイヤの設定方法について書きたいと思います。

LevelとLineStyleをElementに設定する方法は以下のようになります。

Dim ele as Element
Dim lv As Level
Dim ls As LineStyle

Set ele.Level = lv
Set ele.LineStyle = ls

また、ColorとLineWeightをElementに設定する方法は以下のようになります。

Dim co As Long
Dim lw As Long
 
ele.Color = co
ele.LineWeight = lw

ColorとLineWeightは値をそのまま設定できてファイルで設定されていない値を入れられますが、LevelとLineStyleは設定されていない値を入れるとオブジェクトが作成されず値を設定することができません。

LevelはActiveDesignFileから取得する方法が2種類あり、Number(画層番号)かName(画層名)でLevelを取得することができます。

Dim lv As level
Dim lngLvNum As Long
Dim strLvName As String

'画層番号で画層を取得
lngLvNum = 1
Set lv = ActiveDesignFile.Levels.FindByNumber(lngLvNum)

'画層名で画層を取得
strLvName = "画層 1"
Set lv = ActiveDesignFile.Levels.Find(strLvName)

LineStyleはName(線種)から取得することができます。

Dim ls As LineStyle
Dim strLsName As String
 
strLsName = "1"

Set ls = ActiveDesignFile.LineStyles.Find(strLsName)

今回のまとめとしてElementに画層1、線色2、線幅3、線種4のレイヤを設定するコードは以下のようになります。

Set ele.level = ActiveDesignFile.Levels.Find("画層 1")
ele.Color = 2
ele.LineWeight = 3
Set ele.LineStyle = ActiveDesignFile.LineStyles.Find("4")
Call ele.Rewrite

コメントを残す

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