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