今回は、実際に寸法スタイル設定を変更してみました。


まずは、このマクロで文字高さを4に変更してみます。

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

Private Sub 寸法スタイル設定2()
Dim test As Variant
Dim tempstr As String
Dim AppObj As AcadApplication 'アプリケーションオブジェクト宣言

'実行中のAutoCADアプリケーションオブジェクトの取得
Set AppObj = GetObject(, "AutoCAD.Application.18") '

With AppObj.ActiveDocument
Call .SetVariable("DIMTXT", 4)
End With

Set AppObj = Nothing 'オブジェクトの解放
End Sub

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

SetVariable("DIMTXT", 4) ってところが、システム変数DIMTXTを「4」にする記述です。


で、実行結果。
CAD・CAD・Autocad-寸法スタイル:優先スタイル追加
上記のマクロだと、<優先スタイル>ってのが、作成されます。

どうも、このやり方では、寸法スタイル設定が変更されないもよう。




次は、このマクロ。

上記のマクロとの違いは、.ActiveDimStyle.CopyFrom AppObj.ActiveDocumentの1行のみ。

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

Private Sub 寸法スタイル設定3()
Dim test As Variant
Dim tempstr As String
Dim AppObj As AcadApplication 'アプリケーションオブジェクト宣言

'実行中のAutoCADアプリケーションオブジェクトの取得
Set AppObj = GetObject(, "AutoCAD.Application.18") '

With AppObj.ActiveDocument
Call .SetVariable("DIMTXT", 4)

.ActiveDimStyle.CopyFrom AppObj.ActiveDocument
End With

Set AppObj = Nothing 'オブジェクトの解放
End Sub

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

このマクロを実行すると、寸法スタイル設定が変更されます。


文字高さが「4」に変更されています。
CAD・CAD・Autocad-寸法スタイル文字高さ変更


この結果から、システム変数は、ドキュメントが管理しているもよう。

そして、このシステム変数の値を、変更対象の寸法スタイル設定に

コピーすることにより、寸法スタイル設定が変更されるようです。

よくよくHelpを読むとそんなようなことが書かれています。

理解できてない。ってことです。ガクリ



これで寸法スタイル設定、変更できるぞっ!って

思ったのですが・・・。


つづく・・・。



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