AutoCADマクロ屋本舗 掲示板


「85.文字回転移動 [オブジェクト角度]」をマルチテキストのまま動作する変更のお願い。

1:ちっぷす :

2024/04/24 (Wed) 10:31:14

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
2:chibi-tom :

2024/04/24 (Wed) 12:02:45

こんな感じでしょうか?

*^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
3:ちっぷす :

2024/04/24 (Wed) 14:18:18

chibi-tom様
素早いご返事ありがとうございます!
希望通りの動作をいたしました。
大変助かりました。ありがとうございましたm(_ _)m
4:ちっぷす :

2024/04/24 (Wed) 14:49:07

chibi-tom様 
ごめんなさい
水平に近い線を参照して文字を選ぶと、文字が逆さになってしまいます
(垂直の線を参照した場合だとイメージどおりでした)
できましたら修正していただけないでしょうか
よろしくお願いいたします。
5:chibi-tom :

2024/04/24 (Wed) 14:58:58

>文字が逆さ
UCSを選択オブジェクトに対して変更していますので選択する位置を反対側の端点側を選択することで解消できると思いますがどうでしょうか?
この対策でダメなら別の方法にするしかないかなと思います
6:ちっぷす :

2024/04/24 (Wed) 15:27:12

chibi-tom様
>選択する位置を反対側の端点側を選択することで解消できる
ご推察の通りです!
この方法で解決しました。
フォローまでしてくださり本当にありがとうございます!m(_ _)m
7:LUNE :

2024/04/24 (Wed) 15:29:00

ちょっと横から。

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

オブジェクトの、選択した位置から近い方にある端点を原点としてUCSが定義されますので、
>水平に近い場合
このときは、その線分の中点より左側で選択すると、Y軸が上を向きます。
文字の頭を向けたい方向にある端点に近い側で、選択するようにしてください。
8:ちっぷす :

2024/04/24 (Wed) 17:07:39

LUNE様
文字が反転する理由がより明快になりました
アドバイスありがとうございましたm(_ _)m

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.