寸法スタイル設定の変更ですが、できるようになった!とは、言えず
矢印の設定がイマイチなのです。
(自分がイマイチだと思いますが・・・)
下記のマクロで、
1 番目の矢印に使用するブロック名を、「開矢印」
2 番目の矢印に使用するブロック名を、「開矢印」に変更してみます。
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
Private Sub 寸法スタイル設定()
Dim test As Variant
Dim tempstr As String
Dim AppObj As AcadApplication 'アプリケーションオブジェクト宣言
'実行中のAutoCADアプリケーションオブジェクトの取得
Set AppObj = GetObject(, "AutoCAD.Application.18") '
With AppObj.ActiveDocument
Call .SetVariable("DIMBLK1", "_OPEN") '開矢印
Call .SetVariable("DIMBLK2", "_OPEN") '開矢印
.ActiveDimStyle.CopyFrom AppObj.ActiveDocument
End With
Set AppObj = Nothing 'オブジェクトの解放
End Sub
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
マクロ実行後、AutoCAD上で「スタイル変数一覧」を実行し、設定値を確認すると、
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
DIMBLK 塗り潰し矢印 矢印に使用するブロック名
DIMBLK1 開矢印 1 番目の矢印に使用するブロック名
DIMBLK2 開矢印 2 番目の矢印に使用するブロック名
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
矢印に使用するブロック名は変更されています。
しかし、寸法スタイル設定で確認すると、変更が反映されていません。
しかも、寸法を作図してみると、この設定で作図されてしまいます。
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
次に、寸法スタイル設定では表示されない「矢印に使用するブロック名」を設定してみました。
下記のマクロで、
矢印に使用するブロック名を、「開矢印」に変更してみます。
ちなみに1 番目、2番目の矢印に使用するブロック名は共に、「塗り潰し矢印 」のままです。
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
Private Sub 寸法スタイル設定()
Dim test As Variant
Dim tempstr As String
Dim AppObj As AcadApplication 'アプリケーションオブジェクト宣言
'実行中のAutoCADアプリケーションオブジェクトの取得
Set AppObj = GetObject(, "AutoCAD.Application.18") '
With AppObj.ActiveDocument
Call .SetVariable("DIMBLK", "_OPEN") '開矢印
.ActiveDimStyle.CopyFrom AppObj.ActiveDocument
End With
Set AppObj = Nothing 'オブジェクトの解放
End Sub
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
マクロ実行後、設定値を確認すると、
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
DIMBLK 開矢印 矢印に使用するブロック名
DIMBLK1 開矢印 1 番目の矢印に使用するブロック名
DIMBLK2 開矢印 2 番目の矢印に使用するブロック名
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
すべて、「開矢印」に変更されています。
この時点で、どうも「DIMBLK」の設定値の影響を受けてるような気がします。
寸法スタイル設定で確認すると、変更が反映されています。
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
最後に、矢印に使用するブロック名を、全て変更してみました。
矢印に使用するブロック名を、「開矢印」
1 番目の矢印に使用するブロック名を、「白丸 1」
2 番目の矢印に使用するブロック名を、「黒丸」に変更してみます。
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
Private Sub 寸法スタイル設定()
Dim test As Variant
Dim tempstr As String
Dim AppObj As AcadApplication 'アプリケーションオブジェクト宣言
'実行中のAutoCADアプリケーションオブジェクトの取得
Set AppObj = GetObject(, "AutoCAD.Application.18") '
With AppObj.ActiveDocument
Call .SetVariable("DIMBLK", "_OPEN") '開矢印
Call .SetVariable("DIMBLK1", "_ORIGIN") '白丸 1
Call .SetVariable("DIMBLK2", "_DOT") '黒丸
.ActiveDimStyle.CopyFrom AppObj.ActiveDocument
End With
Set AppObj = Nothing 'オブジェクトの解放
End Sub
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
マクロ実行後、設定値を確認すると、
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
DIMBLK 開矢印 矢印に使用するブロック名
DIMBLK1 白丸 1 1 番目の矢印に使用するブロック名
DIMBLK2 黒丸 2 番目の矢印に使用するブロック名
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
ちゃんと、それぞれ変更されています。
しかし、寸法スタイル設定で確認すると、変更が反映されていません。
全て「開矢印 」になってしまっています。
やはり「DIMBLK」の設定値の影響を受けてるような気がします。
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
う~ん、これはどういうことなのか?
まだ、変更方法の手順に間違えがあるんだろうか?
自分のやり方に問題があるとしても、
やはり寸法スタイルの追加はVBAで行うのは難ありかな。
それより、テンプレートをロード?
もしくは、テンプレートを呼び出しておいて
そこにDXFファイルを読み出す、もしくはコピーして貼付の方が現実的かと思います。
テンプレートなら、変更も簡単ですしね。
って、ことでいろいろ未解決のまま、
この「DXF→DWG自動化計画」終了したいと思います。
にほんブログ村
へ
さて、次は・・・