この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

一時的な寸法スタイル変更+α
以前お世話になり、大変助かりました。

マクロに興味が出てこちらにある物をいくつか使用させていただいてます。
自作できればと思いいじってみたもののわからず再びお邪魔することになりました。

添付画像のように普段使ってる寸法スタイルを一時的に変更して連続して寸法を引きたく
試しに下記のようなものを作ったのですが、

^c^c_dimdli;0;_dimjust;4;_dimaltrnd;1;_dimlinear;\\\_dimbaseline;

とすると<優先スタイル>が残ってしまってこの後が普段の寸法で引けずに手間が必要になってしまいます。
dimoverrideというのがそれらしいもののようですが使い方もわからず・・・。
どなたか知恵を拝借できないでしょうか?

また贅沢を言えばマクロを押した後右クリック等で長さ寸法と並行寸法使い分けることができたらうれしいです。
autcadlt2014使用しています。


  • Schloa
  • 2018/09/18 (Tue) 23:08:39
Re: 一時的な寸法スタイル変更+α
まず
既存の寸法を添付画像の寸法に変更するマクロは

*^c^c_dimoverride;dimdli;0;_dimjust;4;_dimaltrnd;1;;

こうなります。

dimoverrideの使い方は
マクロ講座 ■初級 14.寸法値を編集/修正 ※参照
https://ameblo.jp/totthi-macro/entry-10951072327.html



次に

>マクロを押した後右クリック等で長さ寸法と並行寸法使い分けることができたらうれしいです。

上記の場合、別途専用の寸法スタイルを使った方がいいと思いますがいかがでしょ。

  • とってぃ
  • 2018/09/19 (Wed) 09:12:00
Re: 一時的な寸法スタイル変更+α
お返事ありがとうございます。
dimoverride使った状態で新規に寸法書き始めるのは無理ということでしょうか?
理想はひとつのマクロで寸法スタイルをいじって累進で寸法を引いていじった寸法スタイルを戻したく・・・。
  • Schloa
  • 2018/09/19 (Wed) 23:52:15
Re: 一時的な寸法スタイル変更+α
こんな感じでできるでしょうか?
lt2017で確認しました。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ray;1本目の寸法補助線の起点を指定(累進寸法記入はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;4,id;1本目の寸法補助線の起点を指定:^X\setenv;to;1)""",,,,,)$(nth,$(getenv,to),,;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^Xnon;\setenv;to;2,,,,)$(nth,$(getenv,to),,,;p2;$(getvar,lastpoint);dimoverride;dimdli;0;_dimjust;4;_dimaltrnd;1;;l;;setenv;to;3,,,)$(nth,$(getenv,to),,,,dimlinear;non;$(getenv,p1);次の寸法補助線の起点を指定:(再設定はR-Click)^X\$M="""$(if,$(getvar,cmdactive),non;$(getenv,p2);dimoverride;dimdli;0;_dimjust;4;_dimaltrnd;1;;l;;setenv;to;3,setenv;to;0)""",,)$(nth,$(getenv,to),,,,,setenv;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^Xnon;\setenv;to;5,)$(nth,$(getenv,to),,,,,,ray;次の寸法補助線の起点を指定:(再設定はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;dimbaseline;@;;;setenv;to;5,setenv;to;0)""")^M

1.マクロ起動
2.並行の場合は1点目指示、2点目指示、寸法位置指示:4へ、累進の場合は右クリック:3へ
3.1点目指示、2点目指示、寸法位置指示:4へ
4.次の点指示(右クリックで再設定:2へ)
  • chibi-tom
  • 2018/09/20 (Thu) 09:27:09
Re: 一時的な寸法スタイル変更+α
ちょっと修正しました。
操作方法は変わってません。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ray;1本目の寸法補助線の起点を指定(累進寸法記入はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;4,id;1本目の寸法補助線の起点を指定:^X\setenv;to;1)""",,,,,)$(nth,$(getenv,to),,;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^Xnon;\setenv;to;2,,,,)$(nth,$(getenv,to),,,;p2;$(getvar,lastpoint);dimoverride;dimdli;0;_dimjust;4;_dimaltrnd;1;;l;;setenv;to;3,,,)$(nth,$(getenv,to),,,,dimlinear;non;$(getenv,p1);次の寸法補助線の起点を指定:(再設定はR-Click)^X\$M="""$(if,$(getvar,cmdactive),non;$(getenv,p2);dimoverride;dimdli;0;_dimjust;4;_dimaltrnd;1;;l;;setenv;to;3,setenv;to;0)""",,)$(nth,$(getenv,to),,,,,setenv;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^Xnon;\setenv;to;5,)$(nth,$(getenv,to),,,,,,dimbaseline;次の寸法補助線の起点を指定:(再設定はR-Click)^X\;$M="""$(if,$(getvar,cmdactive),;setenv;to;5,setenv;to;0)""")^M
  • chibi-tom
  • 2018/09/20 (Thu) 11:24:34
Re: 一時的な寸法スタイル変更+α
chibi-tom様
2種類もありがとうございます。

ちょっとよくわからない現象がおきまして
前者のほうを使用するとばっちり書けるのですが、
その後マクロを使用したときの寸法スタイルが添付画像のように丸め0のままでも
ずっと丸まった状態になってしまい、マクロを使わないで寸法引いても丸まった状態のままでした。

後者のほうは書けるのですが丸まった数字にはなりませんでした。

丸めに関して目をつぶれば後者のほうは作業手間が大幅に減り助かりそうです。
ただ並列寸法書くときは右クリック後の状態がほぼメインになるのでできれば初期状態を逆にしたいんですがその場合はどこを変更すればいいのでしょうか?

  • Schloa
  • 2018/09/20 (Thu) 21:39:45
Re: 一時的な寸法スタイル変更+α
初期状態を逆にしました。
数値も丸まるようにしました。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ray;1本目の寸法補助線の起点を指定(並行寸法記入はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;1,id;1本目の寸法補助線の起点を指定:^X\setenv;to;4)""",,,,,)$(nth,$(getenv,to),,;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^Xnon;\setenv;to;2,,,,)$(nth,$(getenv,to),,,;p2;$(getvar,lastpoint);dimoverride;dimdli;0;_dimjust;4;_dimdec;0;;l;;setenv;to;3,,,)$(nth,$(getenv,to),,,,dimlinear;non;$(getenv,p1);次の寸法補助線の起点を指定:(再設定はR-Click)^X\$M="""$(if,$(getvar,cmdactive),non;$(getenv,p2);dimoverride;dimdli;0;_dimjust;4;_dimdec;0;;l;;setenv;to;3,setenv;to;0)""",,)$(nth,$(getenv,to),,,,,setenv;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^Xnon;\setenv;to;5,)$(nth,$(getenv,to),,,,,,dimbaseline;次の寸法補助線の起点を指定:(再設定はR-Click)^X\;$M="""$(if,$(getvar,cmdactive),;setenv;to;5,setenv;to;0)""")^M

ただ、このマクロでは寸法スタイルそのものはいじっていないです。
dimoverrideはあくまで 『選択した寸法の指定した寸法システム変数の値を変更』 するコマンドなので
寸法スタイルが変わってしまうことはこのマクロではないと思うのですが

>とすると<優先スタイル>が残ってしまってこの後が普段の寸法で引けずに手間が必要になってしまいます。
この状態でマクロを起動していないでしょうか?
確認してみてください。
  • chibi-tom
  • 2018/09/21 (Fri) 08:29:07
Re: 一時的な寸法スタイル変更+α
すみません、丸めのせいだとばっかり思ってたのですが
よく見たら精度で小数点以下表示されない状態の寸法スタイルでした。
混乱させるような発言申し訳ありませんでした。

最新のマクロで無事に丸められ、順序も逆になっていて問題なく動きました非常に助かります、ありがとうございます。

ちなみにdimlinearをすべてdimalignedに変換したら並行寸法でも使えるのかなと思いましたが、
2つ目以降の累進部分が最初指定したものと平行にはかけなく・・・マクロの世界は深いですね。
  • Schloa
  • 2018/09/21 (Fri) 20:57:18
追加修正お願いできますか?
いつもお世話になってます。
以前chibi-tom様に作って頂いたこちらのマクロですが、
最初の寸法を入れるときにオブジェクトスナップが使えない状態でして、
スナップできるよう修正していただけませんか?
事前に引いた補助線等に合わせられると嬉しいです。
  • Schloa
  • 2019/05/09 (Thu) 20:51:52
Re: 一時的な寸法スタイル変更+α
すみません再現できないです。

そもそも、オブジェクトスナップは解除していないので
お使いの設定どおりになっていると思いますが
常に出ないんでしょうか?
それとも出ない時があるんでしょうか?

なぜでしょう?

手入力でrayコマンドを実行して点を選ぶ時はオブジェクトスナップ使えますか?
  • chibi-tom
  • 2019/05/10 (Fri) 08:01:12
Re: Re: 一時的な寸法スタイル変更+α
お早い確認ありがとうございます。
rayコマンドはスナップできていて、
添付のような段階のところでスナップできません。
毎回スナップしない形です・・・。
  • Schloa
  • 2019/05/10 (Fri) 08:59:19
Re: 一時的な寸法スタイル変更+α
寸法線の位置を指定のところだったんですね。

修正しました、お試しください。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),ray;1本目の寸法補助線の起点を指定(並行寸法記入はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;1,id;1本目の寸法補助線の起点を指定:^X\setenv;to;4)""",,,,,)$(nth,$(getenv,to),,;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^X\setenv;to;2,,,,)$(nth,$(getenv,to),,,;p2;$(getvar,lastpoint);dimoverride;dimdli;0;_dimjust;4;_dimdec;0;;l;;setenv;to;3,,,)$(nth,$(getenv,to),,,,dimlinear;non;$(getenv,p1);次の寸法補助線の起点を指定:(再設定はR-Click)^X\$M="""$(if,$(getvar,cmdactive),non;$(getenv,p2);dimoverride;dimdli;0;_dimjust;4;_dimdec;0;;l;;setenv;to;3,setenv;to;0)""",,)$(nth,$(getenv,to),,,,,setenv;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\寸法線の位置を指定:^Xnon;\setenv;to;5,)$(nth,$(getenv,to),,,,,,dimbaseline;次の寸法補助線の起点を指定:(再設定はR-Click)^X\;$M="""$(if,$(getvar,cmdactive),;setenv;to;5,setenv;to;0)""")^M
  • chibi-tom
  • 2019/05/10 (Fri) 09:31:51
Re: Re: 一時的な寸法スタイル変更+α
こんな早く有難うございます。
無事スナップ反応しました。
  • Schloa
  • 2019/05/10 (Fri) 13:20:32
Re: 一時的な寸法スタイル変更+α
>ちなみにdimlinearをすべてdimalignedに変換したら並行寸法でも使えるのかなと思いましたが、
>2つ目以降の累進部分が最初指定したものと平行にはかけなく・・・マクロの世界は深いですね。

参考に平行寸法考えてみました。
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;dl1;$(getvar,dimdli);ray;1本目の寸法補助線の起点を指定(並行寸法記入はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;sw0;1,id;1本目の寸法補助線の起点を指定:^X\setenv;sw0;0)""";;to;1,,,,)$(nth,$(getenv,to),,;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\'setenv;p2;$M="""$(getvar,lastpoint)""";;setenv;to;2,,,)$(nth,$(getenv,to),,,dimlinear;non;$(getenv,p1);non;$(getenv,p2);r;non;$(getenv,p1);non;$(getenv,p2);寸法線の位置を指定:^Xnon;\setenv;to;$(if,$(getenv,sw0),3,4),,)$(nth,$(getenv,to),,,,dimoverride;dimdli;0;_dimjust;4;_dimdec;0;;l;;setenv;to;4,)$(nth,$(getenv,to),,,,,$(if,$(getenv,sw0),dimdli;0;dimbaseline,dimbaseline);次の寸法補助線の起点を指定:(再設定はR-Click)^X\;$M="""$(if,$(getvar,cmdactive),;setenv;to;4,dimdli;$(getenv,dl1);setenv;to;0)""")^M
難点は、水平や垂直の場合X線上、Y線上の点を指定しなくてはいけないことです。


※、5/13 すいません、最初にdimdliの値を保存するの忘れました。
最初の部分に『;dl1;$(getvar,dimdli);』を追加しました。



  • chibi-tom
  • 2019/05/10 (Fri) 15:41:42
Re: 一時的な寸法スタイル変更+α
作業的に難点部分がやはりネックでして・・・
わざわざ考えていただいたのですが申し訳ありません。
  • Schloa
  • 2019/05/22 (Wed) 21:31:10
Re: 一時的な寸法スタイル変更+α
あくまで、平行寸法専用と考えていただければと思います。
このマクロでの水平、垂直はおまけと考えて、元のマクロと使い分けて使用するのが正解でしょうね。

今の、自分にはこれが限界ですかね。

  • chibi-tom
  • 2019/05/23 (Thu) 09:39:39
Re: 一時的な寸法スタイル変更+α
限界突破

SchloaさんはIJCADに移行しているようなので
ただの自己満足です
IJCADでは使用できないと思います

*^C^C$M=setenv;to;0;$(if,$(=,$(getenv,to),0),;sw1;0;;sw2;0;;sw3;0;;dsw1;累進;;dsw2;長さ;;to;1)$(if,$(=,$(getenv,to),1),ray;1本目の寸法補助線の起点を指定<$(getenv,dsw1)/$(getenv,dsw2)>(R-Clickで切替)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;2,setenv;to;7)""")$(if,$(=,$(getenv,to),2),;p1;$(getvar,lastpoint);dimlinear;non;@;2本目の寸法補助線の起点を指定:^X\'setenv;p2;$M="""$(getvar,lastpoint)""";;setenv;to;3)$(if,$(=,$(getenv,to),3),dimlinear;non;$(getenv,p1);non;$(getenv,p2);$(if,$(getenv,sw2),r;non;$(getenv,p1);non;$(getenv,p2);,)\dimoverride;dimdec;0;;l;;setenv;to;$(nth,$(getenv,sw3),4,5))$(if,$(=,$(getenv,to),4),dimoverride;dimdli;0;_dimjust;4;;l;;setenv;to;5)$(if,$(=,$(getenv,to),5),ray;次の寸法補助線の起点を指定:(再設定はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;6,setenv;to;1)""")$(if,$(=,$(getenv,to),6),$(nth,$(getenv,sw3),dimdli;0;dimbaseline,dimbaseline);non;@;;;dimdli;$(getvar,DIMDLI);setenv;to;5)$(if,$(=,$(getenv,to),7),;sw1;$(nth,$(getenv,sw1),1,2,3,0);;sw2;$(nth,$(getenv,sw2),1,0);;to;8)$(if,$(=,$(getenv,to),8),;dsw1;$(nth,$(getenv,sw1),累進,累進,並列,並列);;dsw2;$(nth,$(getenv,sw2),長さ,平行);;sw3;$(if,$(<=,$(getenv,sw1),1),0,1);;to;1)^M

1.マクロ起動
2.1本目の寸法補助線の起点を指定(R-Clickで切替)
※最初は累進/長さ寸法です
累進/長さ寸法 → 累進/平行寸法 → 並行/長さ寸法 → 並行/平行寸法 → 累進/長さ寸法の順です
3.2本目の寸法補助線の起点を指定
4.寸法線の位置を指定
5.次の寸法補助線の起点を指定:(再設定はR-Click)

終了はEscキーです
  • chibi-tom
  • 2022/12/20 (Tue) 17:04:33

返信フォーム






プレビュー (投稿前に内容を確認)