寸法スタイル設定の変更ですが、できるようになった!とは、言えず

矢印の設定がイマイチなのです。汗

(自分がイマイチだと思いますが・・・)



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("DIMBLK1", "_OPEN") '開矢印

Call .SetVariable("DIMBLK2", "_OPEN") '開矢印

.ActiveDimStyle.CopyFrom AppObj.ActiveDocument
End With

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

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



マクロ実行後、AutoCAD上で「スタイル変数一覧」を実行し、設定値を確認すると、

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

DIMBLK 塗り潰し矢印 矢印に使用するブロック名
DIMBLK1 開矢印 1 番目の矢印に使用するブロック名
DIMBLK2 開矢印 2 番目の矢印に使用するブロック名

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

矢印に使用するブロック名は変更されています。



しかし、寸法スタイル設定で確認すると、変更が反映されていません。

しかも、寸法を作図してみると、この設定で作図されてしまいます。

━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
CAD・CAD・Autocad-DIMBLK1、2のみ設定結果矢印修正利かない
━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─


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」の設定値の影響を受けてるような気がします。


寸法スタイル設定で確認すると、変更が反映されています。

━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─━─
CAD・CAD・Autocad-DIMBLK設定結果

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

3

最後に、矢印に使用するブロック名を、全て変更してみました。

矢印に使用するブロック名を、「開矢印」

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」の設定値の影響を受けてるような気がします。

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

CAD・CAD・Autocad-DIMBLK全て設定結果

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


う~ん、これはどういうことなのか?

まだ、変更方法の手順に間違えがあるんだろうか?



自分のやり方に問題があるとしても、

やはり寸法スタイルの追加はVBAで行うのは難ありかな。

それより、テンプレートをロード?

もしくは、テンプレートを呼び出しておいて

そこにDXFファイルを読み出す、もしくはコピーして貼付の方が現実的かと思います。

テンプレートなら、変更も簡単ですしね。


って、ことでいろいろ未解決のまま、

この「DXF→DWG自動化計画」終了したいと思います。



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

さて、次は・・・