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

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

自動陰線のマクロ
AutoCAD2012で使っていたこのマクロをAutoCAD2015でも使えるようにしたいのですが、どのようにしたらよろしいのでしょうか?
他にも使えなくなったマクロがあって困っています。
どうか教えて下さい。よろしくお願いいたします。
ちなみにレギュラー版です。

*^C^C$m=useri1;0;$(nth,$(getvar,useri1),^X■切断幅入力■^X^Puserr1;\^P$m="""$(if,$(getvar,cmdactive),;undo;be;^Pline^P;non;$(getvar,lastpoint);\;lengthen;l;;useri1;1,;)""",)$(nth,$(getvar,useri1),,ucs;ob;l;move;l;;non;0<0;non;@$(/,$(getvar,userr1),2)<90;copy;l;;non;@;non;@$(getvar,userr1)<270;trim;l;p;;f;non;0<0;non;@$(getvar,perimeter)<0;;f;non;0<0;non;@$(getvar,perimeter)<0;;;erase;p;;ucs;p;useri1;0;undo;e)^M
  • ゆかりん
  • MAIL
  • 2017/08/21 (Mon) 16:47:05
Re: 自動陰線のマクロ
【 新規投稿時のお願い 】
 3.バージョン違いによるマクロの動作不良の場合は、キーボードF2を押し、表示されたテキストウィンドウ内の
  マクロ開始~終了までのマクロの流れをコピーし、貼り付けてご質問下さい。
---------------------------------------------------------------------------------------


たぶん、バージョン違いによる
コマンド仕様の変更の影響だと思います。


■使用前の注意事項
●AutoCAD R/LT 2015以降の注意点
http://ameblo.jp/totthi-macro/entry-12220279344.html

参照願います。
  • とってぃ
  • 2017/08/22 (Tue) 08:04:40
Re: 自動陰線のマクロ
お返事ありがとうございます。
バージョン違いによる変更のところはやってみたのですが、マクロが動かないのです。。。
やりたいことは交差する二本の線分のうちの一本を距離を指定して切断したいのですが、
そのようなマクロはありますでしょうか?
  • ゆかりん
  • MAIL
  • 2017/08/22 (Tue) 11:00:52
Re: 自動陰線のマクロ
こんにちは。

そのマクロ、私が10年以上前に作ったヤツですね。 今は改良されて、こんなんなってます。
まぁ、切断幅に0が指定できる様になっただけですけどね。

「多分2015で動くんじゃないかな?」ヴァージョンがコレ↓(2015を持ってないので動作未確認)

*^C^C$M=useri1;0;$(nth,$(getvar,useri1),^X■切断幅入力■^X^Puserr1;\^P$M="""$(if,$(getvar,cmdactive),;userr2;$(if,$(getvar,userr1),$(getvar,userr1),$(/,$(getvar,VIEWSIZE),100000));undo;be;^Pline^P;non;$(getvar,lastpoint);\;lengthen;DY;;;l;;useri1;1,;)""",,,)$(nth,$(getvar,useri1),,ucs;e;l;erase;l;;xline;h;non;@$(/,$(getvar,userr2),2)<N;;copy;l;;non;@;non;@$(getvar,userr2)<S;useri1;2,,)$(nth,$(getvar,useri1),,,ltscale;0.000001;trim;l;p;;f;non;0<0;non;@$(getvar,perimeter)<0;;f;non;0<0;non;@$(getvar,perimeter)<0;;;erase;p;;ltscale;$(getvar,ltscale);useri1;3,)$(nth,$(getvar,useri1),,,,$(if,$(getvar,userr1),,line;non;0<0;non;@$(getvar,perimeter)<0;;extend;l;;f;non;$(getvar,userr2)<N;non;@$(getvar,perimeter)<0;;f;non;$(getvar,userr2)<S;non;@$(getvar,perimeter)<0;;;erase;l;;)ucs;p;undo;e)^M

「2017では動いたよ」ヴァージョンがコレ↓。

*^C^C$M=useri1;0;$(nth,$(getvar,useri1),^X■切断幅入力■^X^Puserr1;\^P$M="""$(if,$(getvar,cmdactive),;userr2;$(if,$(getvar,userr1),$(getvar,userr1),$(/,$(getvar,VIEWSIZE),100000));undo;be;^Pline^P;non;$(getvar,lastpoint);\;lengthen;DY;;;l;;;useri1;1,;)""",,,)$(nth,$(getvar,useri1),,ucs;e;l;erase;l;;xline;h;non;@$(/,$(getvar,userr2),2)<N;;copy;l;;non;@;non;@$(getvar,userr2)<S;useri1;2,,)$(nth,$(getvar,useri1),,,ltscale;0.000001;trim;l;p;;f;non;0<0;non;@$(getvar,perimeter)<0;;f;non;0<0;non;@$(getvar,perimeter)<0;;;erase;p;;ltscale;$(getvar,ltscale);useri1;3,)$(nth,$(getvar,useri1),,,,$(if,$(getvar,userr1),,line;non;0<0;non;@$(getvar,perimeter)<0;;extend;l;;f;non;$(getvar,userr2)<N;non;@$(getvar,perimeter)<0;;f;non;$(getvar,userr2)<S;non;@$(getvar,perimeter)<0;;;erase;l;;)ucs;p;undo;e)^M

※動かなかった場合、「動きません」では判らないので、
マクロ実行後のコマンド履歴をコピーして、こちらに書き込んで下さいね。
  • Lon
  • 2017/08/22 (Tue) 11:31:24
Re: 自動陰線のマクロ
わ!このマクロを作った方からの直々のお返事恐縮ですm(__)m
このマクロは無くてはならないと言うか本当に助かっていまして、
今回2015にアップグレードした後も是非使いたいと思って質問させて頂きました。
さっそくですが、今までの使い方ですと、切断したい距離を入力して、線分をなぞると
スパっと切れたのですが、なぞった線分が複写されたところで終わってしまいました。

AutoCAD 2013 形式のファイルを開いています。
モデルを再作図中。


AutoCAD メニュー ユーティリティ がロードされました。*キャンセル*

コマンド:

Autodesk DWG です。このファイルはオートデスクの開発した、またはライセンスを受けたアプリケーションによって保存された、TrustedDWG ファイルです。

コマンド:

コマンド:
コマンド:
コマンド:
コマンド: useri1

USERI1 の新しい値を入力 <0>: 0

コマンド: *削除*
■切断幅入力■*削除*
■切断幅入力■

USERR1 の新しい値を入力 <0.000>: 200

コマンド:
USERR1

USERR1 の新しい値を入力 <200.000>:

コマンド:
コマンド:
コマンド: useri1

USERI1 の新しい値を入力 <0>: 0

コマンド: *削除*
■切断幅入力■*削除*
■切断幅入力■

USERR1 の新しい値を入力 <200.000>: 2 点目を指定:

コマンド: userr2

USERR2 の新しい値を入力 <0.000>: 200

コマンド: undo
現在の設定: 自動 = オン, コントロール = すべて, 合成 = はい, 画層 = はい
取り消す操作の数を入力 または [自動(A)/コントロール(C)/開始(BE)/終了(E)/マーク(M)/後退(B)] <1>: be

コマンド:

1 点目を指定: non
1036.68089051,1473.05536529,0

次の点を指定 または [元に戻す(U)]:
次の点を指定 または [元に戻す(U)]:

コマンド: lengthen

計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <全体(T)>: DY

変更するオブジェクトを選択 または [元に戻す(U)]:

コマンド:
LENGTHEN

計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>: l


現在の長さ: 1004.981
計測するオブジェクトを選択 または [増減(DE)/比率(P)/全体(T)/ダイナミック(DY)] <ダイナミック(DY)>:

変更するオブジェクトを選択 または [元に戻す(U)]: useri1


*選択無効*
点を指定 または フェンス(F)/元に戻す(U)]:

変更するオブジェクトを選択 または [元に戻す(U)]:

コマンド:
コマンド:
コマンド: useri1

USERI1 の新しい値を入力 <0>: 0

コマンド: *削除*
■切断幅入力■*削除*
■切断幅入力■

USERR1 の新しい値を入力 <200.000>:

コマンド:
USERR1

USERR1 の新しい値を入力 <200.000>:

コマンド:
コマンド:
コマンド: useri1

USERI1 の新しい値を入力 <0>: 0

コマンド: *削除*
■切断幅入力■*削除*
■切断幅入力■

USERR1 の新しい値を入力 <200.000>: *キャンセル*

ご指示お願い致します。
  • ゆかりん
  • MAIL
  • 2017/08/22 (Tue) 15:44:38
Re: 自動陰線のマクロ
「2017では動いたよ」ヴァージョンを試しているようですが

まず
「多分2015で動くんじゃないかな?」ヴァージョン
を試してみてはどうでしょうか。



  • とってぃ
  • 2017/08/22 (Tue) 15:55:20
Re: 自動陰線のマクロ
あれ?「多分2015で動くんじゃないかな?」ヴァージョンを試したと思うのですが、、、
もう一度やってみます!
何度もすみません。。
  • ゆかりん
  • MAIL
  • 2017/08/22 (Tue) 15:57:55
Re: 自動陰線のマクロ
lengthenコマンドのL以降の;(エンター)の数が足りていないみたいです
なので「2017では動いたよ」ヴァージョンで動きそうですね
とりあえず試されてみてはどうでしょう
  • chibi-tom
  • 2017/08/22 (Tue) 16:46:21
Re: 自動陰線のマクロ
ありがとうございます。

「2017では動いたよ」ヴァージョンで試したところ、
さっきよりはもう一歩進んだというか、両側オフセットまでで止まってしまいました。。
2015にアップグレードしたばかりで、不慣れなので何かもっと私の根本のやり方が間違っているのでしょうか(ToT)/




基点を指定 または [移動距離(D)/複数(M)] <移動距離>: non
@

2 点目を指定 または [配列(A)] <1 点目を基点に使用>: non
@200<S

コマンド: useri1

USERI1 の新しい値を入力 <0>: 2

コマンド:
コマンド:
コマンド: useri1

USERI1 の新しい値を入力 <2>: 0

コマンド: ltscale
新しい線種尺度を入力 <1.0000>: 0.000001
モデルを再作図中。

コマンド: trim

現在の設定: 投影モード=UCS、エッジモード=非延長
切り取りエッジを選択 ...
オブジェクトを選択 または <すべて選択>: l
認識された数: 1

オブジェクトを選択: p
認識された数: 1, 総数 2

オブジェクトを選択:

トリムするオブジェクトを選択 または Shift を押して延長するオブジェクトを選択 または
[フェンス(F)/交差(C)/投影モード(P)/エッジ(E)/削除(R)/元に戻す(U)]: f

フェンスの 1 点目を指定 または クリックしてカーソルをドラッグ: non

オブジェクト スナップはここでは使用できません。
応答が無効です。

フェンスの 1 点目を指定 または クリックしてカーソルをドラッグ: *キャンセル*
  • ゆかりん
  • MAIL
  • 2017/08/22 (Tue) 17:21:44
Re: 自動陰線のマクロ
みなさんフォローありがとうです。

>オブジェクト スナップはここでは使用できません。
>応答が無効です。

なんでこんな事言われるのか判りませんね。 どこかの設定かな?

とりあえず、nonを省いてosnapcoord=2にしてみました。
お試し下さい。



*^C^C$M=useri1;0;$(nth,$(getvar,useri1),^X■切断幅入力■^X^Puserr1;\^P$M="""$(if,$(getvar,cmdactive),;userr2;$(if,$(getvar,userr1),$(getvar,userr1),$(/,$(getvar,VIEWSIZE),100000));undo;be;^Pline^P;non;$(getvar,lastpoint);\;lengthen;DY;;;l;;;useri1;1,;)""",,,)$(nth,$(getvar,useri1),,ucs;e;l;erase;l;;xline;h;non;@$(/,$(getvar,userr2),2)<N;;copy;l;;non;@;non;@$(getvar,userr2)<S;useri1;2,,)$(nth,$(getvar,useri1),,,ltscale;0.000001;osnapcoord;2;trim;l;p;;f;0<0;@$(getvar,perimeter)<0;;f;0<0;@$(getvar,perimeter)<0;;;erase;p;;ltscale;$(getvar,ltscale);useri1;3,)$(nth,$(getvar,useri1),,,,$(if,$(getvar,userr1),,line;non;0<0;non;@$(getvar,perimeter)<0;;extend;l;;f;$(getvar,userr2)<N;@$(getvar,perimeter)<0;;f;$(getvar,userr2)<S;@$(getvar,perimeter)<0;;;erase;l;;)ucs;p;undo;e)^M

  • Lon
  • 2017/08/22 (Tue) 18:56:11
Re: 自動陰線のマクロ
ありがとうございました!
無事に動きました^^
みなさんに親切に教えて頂いたおかげです。
本当にありがとうございました。
  • ゆかりん
  • MAIL
  • 2017/08/23 (Wed) 13:18:34

返信フォーム






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