昨日は、画層を追加しただけでしたので、

今回は、画層のプロパティを設定してみました。


設定してみたのは、

画層の色、線種、線の太さの3種類です。



今回はすんなり行きませんでした。ガーン


━─━─━─━─━─━─━─━─━─━─

Set templayer = acadDocs.Layers.Add("TEST-A") '画層追加
templayer.TrueColor.ColorIndex = acRed '色
templayer.Linetype = "CENTER" '線種
templayer.Lineweight = acLnWt005 '線の太さ

━─━─━─━─━─━─━─━─━─━─

↑このように設定コードを書いたのですが、

まず、画層の色がacRed=赤色にならない。

なぜか、白色になってしまう。

どうもこの記述では設定できないもよう。



調べた結果、下記のように修正しました。(大雑把なコードです。汗

━─━─━─━─━─━─━─━─━─━─

Dim acColor As AcadAcCmColor
Set acColor = GetInterfaceObject("AutoCAD.AcCmColor.18")


Set templayer = acadDocs.Layers.Add("TEST-A") '画層追加


acColor.ColorMethod = acColorMethodByACI
acColor.ColorIndex = acRed

templayer.TrueColor = acColor
templayer.Linetype = "CENTER" '線種
templayer.Lineweight = acLnWt005 '線の太さ

━─━─━─━─━─━─━─━─━─━─

色については、AcadAcCmColorオブジェクトを渡さないと

設定できないようです。理由は不明。


それから、Dim acColor As New AcadAcCmColorで

オブジェクトを生成することができませんでした。


なので、ヘルプに載ってた

Set acColor = GetInterfaceObject("AutoCAD.AcCmColor.18")

の形式で、生成しました。



次に

templayer.Linetype = "CENTER"でエラー。

"CENTER"って名の線種がないため。

ヘルプにも記述されてましたが、

まず、線種をロードし、その後に存在する線種で設定する

必要があるようです。

今回は、存在する線種で対応しました。


templayer.Lineweight は、問題なく設定できました。



↓今回のExcel VBAマクロソース

━─━─━─━─━─━─━─━─━─━─

CAD・CAD・Autocad-画層追加設定追加


━─━─━─━─━─━─━─━─━─━─


↓実行結果

━─━─━─━─━─━─━─━─━─━─
CAD・CAD・Autocad-画層追加2
━─━─━─━─━─━─━─━─━─━─


押さなくてもいいけど・・・

にほんブログ村 科学ブログ 技術・工学へ

←←MicroAdマイクロアドMicroAd←←