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

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

「85.文字回転移動 [オブジェクト角度]」をマルチテキストのまま動作する変更のお願い。
1.AutoCADのバージョン:AutoCAD 2022
2.マクロの変更お願いします

変更依頼内容です
こちらのサイトの「85.文字回転移動 [オブジェクト角度]」の以下のマクロを愛用させていただいております。

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;sw;0;;to;1,offset;;^X単一文字選択【$(if,$(getenv,sw),COPY,MOVE)】[切替(R-Click)]^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;2,setenv;sw;$(if,$(getenv,sw),0,1);;to;1)""",,,,)$(nth,$(getenv,to),,,;to;1;select;non;@;non;@;;explode;@;$M="""$(if,$(getvar,cmdactive),;,)"""ucs;ob;@;copybase;non;@;@;;ucs;p;setenv;p1;$(getvar,lastpoint);;to;3,,,)$(nth,$(getenv,to),,,,offset;;^X角度合せオブジェクト指定^X\;setenv;to;3;select;non;@;non;@;;setenv;to;4,,)$(nth,$(getenv,to),,,,,$(if,$(getenv,sw),,erase;$(getenv,p1);;)ucs;ob;non;$(getvar,lastpoint);ucs;z;$m="""$(if,$(>,0.001,$(index,1,$(getvar,ucsydir))),180,0)""";setenv;to;5,)$(nth,$(getenv,to),,,,,,pasteclip;non;$(getvar,viewctr);ucs;p;;p;ucs;ob;@;id;non;0","0;ucs;p;copybase;non;@;L;;erase;p;;pasteclip;\setenv;to;1)^M

このマクロをマルチテキスト(位置合わせ「中央」)に使用したところ、
プロパティが「文字」に変更になり、位置合わせが「左合わせ(L)」になりました。
これをマルチテキストのまま、位置合わせも変更しないマクロに変更をしていただけないでしょうか
(以前もこちらでマクロ作成していただき大変助かっております。ありがとうございます!)

よろしくお願いいたします。m(_ _)m
  • ちっぷす
  • 2024/04/24 (Wed) 10:31:14
マルチテキスト回転移動 [オブジェクト角度](件名が長すぎでした)
こんな感じでしょうか?

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;sw;0;;to;1,offset;;^X文字選択【$(if,$(getenv,sw),COPY,MOVE)】[切替(R-Click)]^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;1;select;non;@;non;@;;setenv;to;2,setenv;sw;$(if,$(getenv,sw),0,1);;to;1)""",,,)$(nth,$(getenv,to),,,ucs;ob;non;@;copybase;non;0<0;p;;id;non;0<0;ucs;p;id;non;@;setenv;p1;$M="""$(getvar,lastpoint)""";;to;3,,)$(nth,$(getenv,to),,,,offset;;^X角度合せオブジェクト指定^X\;setenv;to;3;select;non;@;non;@;;setenv;to;4,)$(nth,$(getenv,to),,,,,ucs;ob;non;@;pasteclip;\ucs;p;$(if,$(getenv,sw),,erase;$(getenv,p1);;)setenv;to;0)^M
  • chibi-tom
  • 2024/04/24 (Wed) 12:02:45
Re:「マルチテキスト回転移動 [オブジェクト角度](件名が長すぎでした)
chibi-tom様
素早いご返事ありがとうございます!
希望通りの動作をいたしました。
大変助かりました。ありがとうございましたm(_ _)m
  • ちっぷす
  • 2024/04/24 (Wed) 14:18:18
Re:「マルチテキスト回転移動 [オブジェクト角度](件名が長すぎでした)
chibi-tom様 
ごめんなさい
水平に近い線を参照して文字を選ぶと、文字が逆さになってしまいます
(垂直の線を参照した場合だとイメージどおりでした)
できましたら修正していただけないでしょうか
よろしくお願いいたします。
  • ちっぷす
  • 2024/04/24 (Wed) 14:49:07
Re:「マルチテキスト回転移動 [オブジェクト角度](件名が長すぎでした)
>文字が逆さ
UCSを選択オブジェクトに対して変更していますので選択する位置を反対側の端点側を選択することで解消できると思いますがどうでしょうか?
この対策でダメなら別の方法にするしかないかなと思います
  • chibi-tom
  • 2024/04/24 (Wed) 14:58:58
Re:「マルチテキスト回転移動 [オブジェクト角度](件名が長すぎでした)
chibi-tom様
>選択する位置を反対側の端点側を選択することで解消できる
ご推察の通りです!
この方法で解決しました。
フォローまでしてくださり本当にありがとうございます!m(_ _)m
  • ちっぷす
  • 2024/04/24 (Wed) 15:27:12
横から補足
ちょっと横から。

>UCSを選択オブジェクトに対して変更
マクロ中の
ucs;ob;
この部分で、選択オブジェクトを基準としたUCSに変更しています。

オブジェクトの、選択した位置から近い方にある端点を原点としてUCSが定義されますので、
>水平に近い場合
このときは、その線分の中点より左側で選択すると、Y軸が上を向きます。
文字の頭を向けたい方向にある端点に近い側で、選択するようにしてください。
  • LUNE
  • 2024/04/24 (Wed) 15:29:00
Re: 横から補足
LUNE様
文字が反転する理由がより明快になりました
アドバイスありがとうございましたm(_ _)m
  • ちっぷす
  • 2024/04/24 (Wed) 17:07:39

返信フォーム






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