今回は、実際に寸法スタイル設定を変更してみました。
まずは、このマクロで文字高さを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」にする記述です。
で、実行結果。
上記のマクロだと、<優先スタイル>ってのが、作成されます。
どうも、このやり方では、寸法スタイル設定が変更されないもよう。
次は、このマクロ。
上記のマクロとの違いは、.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
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
このマクロを実行すると、寸法スタイル設定が変更されます。
この結果から、システム変数は、ドキュメントが管理しているもよう。
そして、このシステム変数の値を、変更対象の寸法スタイル設定に
コピーすることにより、寸法スタイル設定が変更されるようです。
よくよくHelpを読むとそんなようなことが書かれています。
理解できてない。ってことです。
これで寸法スタイル設定、変更できるぞっ!って
思ったのですが・・・。
つづく・・・。
