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

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

カウントアップマクロの応用
こんにちは。

以前、こちらでカウントアップのマクロを
お見かけしまして、
そのマクロの応用で
ひらがな・アルファベットのカウントアップは
可能なのかと思いまして書き込みさせていただきました。
お忙しいかとは思いますが、宜しくお願い致します。

AutoCADは2015年です。
  • ぽに
  • 2018/10/26 (Fri) 15:24:51
Re: カウントアップマクロの応用
カウントアップしたあとどうしたいのでしょうか?

とりあえず文字の変更ならこんな感じです

かなVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;ka0;あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん;;ka1;初期値:^X\;to;1,,,,,)$(nth,$(getenv,to),,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;to;2,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,ka1),$(getenv,ka2)),;to;3,;No0;$(if,$(=,46,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;1),,,)$(nth,$(getenv,to),,,,fillet;変更する文字を選択(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;-ch;p;;;;;;;$(getenv,ka2);setenv;to;4,setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,;to;0;;ka1;$(getenv,ka2);;No0;$(if,$(=,46,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;5,)$(nth,$(getenv,to),,,,,,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;to;3)^M

アルファベットVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;eng0;ABCDEFGHIJKLMNOPQRSTUVWXYZ;;eng1;初期値:^X\;to;1,,,,,)$(nth,$(getenv,to),,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;to;2,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,eng1),$(getenv,eng2)),;to;3,;No0;$(if,$(=,26,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;1),,,)$(nth,$(getenv,to),,,,fillet;変更する文字を選択(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;-ch;p;;;;;;;$(getenv,eng2);setenv;to;4,setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,;to;0;;eng1;$(getenv,eng2);;No0;$(if,$(=,26,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;5,)$(nth,$(getenv,to),,,,,,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;to;3)^M

1.初期値入力
2.変更する文字を選択(右クリックで終了できます)

LT2017で確認です

かなVerは『ん』の次は『あ』に、アルファベットVerは『Z』の次は『A』になります。
また、かなVerは濁音や半濁音等には対応していません。(『あ』~『ん』のみ対応)
アルファベットVerは小文字や全角には対応していません(修正すれば小文字や全角も対応はできます)

注意点が多くなってしまいますが、初期値に『あ』~『ん』または『A』~『Z』以外を入力するとループしてしまいます。
ESCキーにて終了してsetenv;to;の値を0にしてください。
  • chibi-tom
  • 2018/10/27 (Sat) 15:11:36
Re: カウントアップマクロの応用
ループしないようにできたかもです。

かなVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;ka0;あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん;;ka1;初期値:^X\;to;1,,,,,)$(nth,$(getenv,to),,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;to;2,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,ka1),$(getenv,ka2)),;to;3,;No0;$(if,$(=,47,$(getenv,No0)),1;;to;0,$(+,$(getenv,No0),1);;to;1)),,,)$(nth,$(getenv,to),,,,fillet;変更する文字を選択(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;-ch;p;;;;;;;$(getenv,ka2);setenv;to;4,setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,;to;0;;ka1;$(getenv,ka2);;No0;$(if,$(=,46,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;5,)$(nth,$(getenv,to),,,,,,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;to;3)^M

アルファベットVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;eng0;ABCDEFGHIJKLMNOPQRSTUVWXYZ;;eng1;初期値:^X\;to;1,,,,,)$(nth,$(getenv,to),,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;to;2,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,eng1),$(getenv,eng2)),;to;3,;No0;$(if,$(=,27,$(getenv,No0)),1;;to;0,$(+,$(getenv,No0),1);;to;1)),,,)$(nth,$(getenv,to),,,,fillet;変更する文字を選択(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;select;non;@;non;@;;-ch;p;;;;;;;$(getenv,eng2);setenv;to;4,setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,;to;0;;eng1;$(getenv,eng2);;No0;$(if,$(=,26,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;5,)$(nth,$(getenv,to),,,,,,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;to;3)^M
  • chibi-tom
  • 2018/10/29 (Mon) 08:14:35
Re: カウントアップマクロの応用
chibi-tom様
ありがとうございます!
ループなしで投稿していただいたマクロで
スムーズに動きました。
弊社は、製作図にアルファベットやひらがなを振るので
毎回時間がかかってしまって大変だったのです。

図々しくて申し訳ないのですが、
マルチテキスト対応にすることは可能でしょうか。

宜しくお願い致します。
  • ぽに
  • 2018/10/29 (Mon) 11:15:46
Re: カウントアップマクロの応用
文字変更は難しいです

マルチテキストで記入することはできますが、どうでしょうか?

かなVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;ka0;あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん;;ka1;初期値:^X\;to;1,,,,,,)$(nth,$(getenv,to),,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;ME;$(getvar,mtexted);;to;2,,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,ka1),$(getenv,ka2)),;to;3,;No0;$(if,$(=,47,$(getenv,No0)),1;;to;0,$(+,$(getenv,No0),1);;to;1)),,,,)$(nth,$(getenv,to),,,,id;文字の位置を指定:^X\setenv;p1;$M="""$(getvar,lastpoint)""";;to;4,,,)$(nth,$(getenv,to),,,,,mtexted;internal;ucs;w;-mtext;$(getenv,p1);@;$(getenv,ka2);;mtexted;$(getenv,ME);ucs;p;ray;文字の位置を指定:(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;5,setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,,;to;0;;p1;$M="""$(getvar,lastpoint)""";;ka1;$(getenv,ka2);;No0;$(if,$(=,46,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;6,)$(nth,$(getenv,to),,,,,,,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;to;4)^M

アルファベットVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;eng0;ABCDEFGHIJKLMNOPQRSTUVWXYZ;;eng1;初期値:^X\;to;1,,,,,,)$(nth,$(getenv,to),,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;ME;$(getvar,mtexted);setenv;to;2,,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,eng1),$(getenv,eng2)),;to;3,;No0;$(if,$(=,27,$(getenv,No0)),1;;to;0,$(+,$(getenv,No0),1);;to;1)),,,,)$(nth,$(getenv,to),,,,id;文字の位置を指定:^X\setenv;p1;$M="""$(getvar,lastpoint)""";;to;4,,,)$(nth,$(getenv,to),,,,,mtexted;internal;ucs;w;-mtext;$(getenv,p1);@;$(getenv,eng2);;mtexted;$(getenv,ME);ucs;p;ray;文字の位置を指定:(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;5,setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,,;to;0;;p1;$M="""$(getvar,lastpoint)""";;eng1;$(getenv,eng2);;No0;$(if,$(=,26,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;6,)$(nth,$(getenv,to),,,,,,,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;to;4)^M

1.初期値入力
2.文字の位置を指定(右クリックで終了できます)
  • chibi-tom
  • 2018/10/29 (Mon) 19:56:44
Re: カウントアップマクロの応用
chibi-tom様

早速ありがとうございました。
こちらもとても使いやすかったです。

1点質問なのですが、
こちらのマクロに、
文字の位置を円の中心に持ってくるなど、
点指定で行えるのでしょうか??

宜しくお願い致します。
  • ぽに
  • 2018/10/30 (Tue) 09:26:38
Re: カウントアップマクロの応用
-mtext;$(getenv,p1);@;$(getenv,ka2);;を
-mtext;$(getenv,p1);j;mc;@;$(getenv,ka2);;に
変えてみてください。
  • chibi-tom
  • 2018/10/30 (Tue) 09:47:43
Re: カウントアップマクロの応用
chibi-tom様

ありがとうございます!
無事できました。
マクロ作成だけでなく、質問等に丁寧に答えていただき
とても助かりました。
ありがとうございました。
  • ぽに
  • 2018/10/30 (Tue) 16:03:54
Re: カウントアップマクロの応用
すいません
UCSの設定おかしかったです
修正版です

かなVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;ka0;あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん;;ka1;初期値:^X\;to;1,,,,,,)$(nth,$(getenv,to),,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;ME;$(getvar,mtexted);;to;2,,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,ka1),$(getenv,ka2)),;to;3,;No0;$(if,$(=,47,$(getenv,No0)),1;;to;0,$(+,$(getenv,No0),1);;to;1)),,,,)$(nth,$(getenv,to),,,,ucs;w;id;文字の位置を指定:^X\setenv;p1;$M="""$(getvar,lastpoint)""";;to;4,,,)$(nth,$(getenv,to),,,,,mtexted;internal;-mtext;$(getenv,p1);j;mc;@;$(getenv,ka2);;mtexted;$(getenv,ME);ray;文字の位置を指定:(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;5,ucs;p;setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,,;to;0;;p1;$M="""$(getvar,lastpoint)""";;ka1;$(getenv,ka2);;No0;$(if,$(=,46,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;6,)$(nth,$(getenv,to),,,,,,,;ka2;$(substr,$(getenv,ka0),$(getenv,No0),1);;to;4)^M

アルファベットVer
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;No0;1;;eng0;ABCDEFGHIJKLMNOPQRSTUVWXYZ;;eng1;初期値:^X\;to;1,,,,,,)$(nth,$(getenv,to),,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;ME;$(getvar,mtexted);setenv;to;2,,,,,)$(nth,$(getenv,to),,,$(if,$(eq,$(getenv,eng1),$(getenv,eng2)),;to;3,;No0;$(if,$(=,27,$(getenv,No0)),1;;to;0,$(+,$(getenv,No0),1);;to;1)),,,,)$(nth,$(getenv,to),,,,ucs;w;id;文字の位置を指定:^X\setenv;p1;$M="""$(getvar,lastpoint)""";;to;4,,,)$(nth,$(getenv,to),,,,,mtexted;internal;-mtext;$(getenv,p1);j;mc;@;$(getenv,eng2);;mtexted;$(getenv,ME);ray;文字の位置を指定:(終了はR-Click)^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;5,ucs;p;setenv;to;0;^Cid;@)""",,)$(nth,$(getenv,to),,,,,,;to;0;;p1;$M="""$(getvar,lastpoint)""";;eng1;$(getenv,eng2);;No0;$(if,$(=,26,$(getenv,No0)),1,$(+,$(getenv,No0),1));;to;6,)$(nth,$(getenv,to),,,,,,,;eng2;$(substr,$(getenv,eng0),$(getenv,No0),1);;to;4)^M
  • chibi-tom
  • 2018/10/30 (Tue) 17:59:01

返信フォーム






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