当掲示板は、AuroCADマクロ屋本舗 の掲示板です。
AutoCADのマクロ に関する質問の前に 【 マクロ使用前の注意事項 】 を、必ずお読みください。

尚、新規投稿フォーム下の【 新規投稿時のお願い 】を確認の上、新規投稿をお願い致します。
平行でない2線の中心線
平行でない2線の中心線を作図する案
LT2017にすでにある機能ですがためしに
作ってみました(いまいち)
マクロすでにあるのかもしれませんが
2線クリックのみ出きれば良いのですが。

1案
^C^C_dimangular;\\\_line;_cen;@;_mid;\;.draworder;@;;b;e;@;;

1)2線をクリック
2)角度寸法がでますので線の広い方の端もって行く
3)円弧の中央付近で左クリックを2回

2案
^C^C_pedit;\y;;_area;o;l;explode;l;setenv;L1;$M=$(getvar,perimeter);_dimangular;@;\\_line;_cen;\_mid;\;_lengthen;t;$M=$(getenv,L1);_cen;\;_erase;\;

1)2線をクリック
2)角度寸法がでますので線の広い方の端もって行く
3)円弧の中央付近で左クリックを5回

線の長さが古い記憶長さになってしまいます
遅らせるやり方をもう忘れてしまっています。
  • umsmatsushita
  • MAIL
  • 2017/03/17 (Fri) 16:12:30
Re: 平行でない2線の中心線
148.二点間中点オフセット
http://ameblo.jp/totthi-macro/entry-11508711703.html

これが近いかな?

ただし、2017で動くかは未確認です。
  • とってぃ
  • 2017/03/17 (Fri) 16:35:05
Re: 平行でない2線の中心線
1案
^C^C_dimangular;\\\_line;_cen;@;_mid;\;.draworder;@;;b;e;@;;
点の選択順番を変えれば、1クリック減らせます。
また、.draworderを変えても選択ミスで線分の方を消す事も有るので、selectで確実に角度寸法を消す様にしました。

^C^C_dimangular;\\\select;l;;_line;_mid;@;_cen;@;;erase;p;;

2案
^C^C_pedit;\;_area;o;l;explode;l;setenv;L1;$M=$(getvar,perimeter);_dimangular;@;\\_line;_cen;\_mid;\;_lengthen;t;$M=$(getenv,L1);_cen;\;_erase;\;

評価を遅らせるなら、
 ↓
^C^C_pedit;\y;;_area;o;l;explode;l;setenv;L1;$M=$(getvar,perimeter);_dimangular;@;\\_line;_cen;\_mid;\;_lengthen;t;$M="$(getenv,L1)";_cen;\;_erase;\;

L1に格納しなくても同じことができます。
 ↓
^C^C_pedit;\y;;_area;o;l;explode;l;_dimangular;@;\\_line;_cen;\_mid;\;_lengthen;t;$M=$(getvar,perimeter);_cen;\;_erase;\;


※角度寸法を書く位置によって、線分の位置が変わるので、初めに選んだ線分の長さに合わせる意味が判りませが、
クリック回数が多いので、1案のマクロに長さ調節を追加してみました。
 ↓
^C^Clengthen;dy;;;\;;_dimangular;@;\\select;l;;_line;_mid;@;_cen;@;;erase;p;;lengthen;t;$M=$(getvar,perimeter);@;

構築線を使っても良いなら、こんな方法も。
線分よりも、後の加工が面倒な面もありますが、トリムで加工するなら手間は同じです。
 ↓
^C^Cid;nea;\$M=id;nea;\$M=xline;b;appint;@;$(getvar,lastpoint);$(getvar,lastpoint);"$(getvar,lastpoint)";^M
  • Lon
  • 2017/03/17 (Fri) 17:58:51
Re: 平行でない2線の中心線
二点間中点オフセットで解決ですが
こんな長いマクロ良く考えますね。
細かな解説までありがとうございます。
selectでのやって見たのですが慣れないので
上手くいきませんでした。
評価を遅らせる””も忘れていました。
色々な説明ありがとうございます。
ついでにお願いしてもいですか
文字に四角を書くマク2013用では2016では止まってしまいます。
新しいものがあればお願いします。
めったに使うものではないし困るものでもありません
LTにも標準でついていますが四角が文字に対して少し大きいのが
難点です。以前からある文字に四角がちょうど良いのです。
返事なくても構いません。
ただの、わがままです。
ありがとうございます。

  • umsmatsushita
  • MAIL
  • 2017/03/17 (Fri) 19:18:59
Re: 平行でない2線の中心線
来週考えてみます。
しばらくお待ちください。
  • とってぃ
  • 2017/03/17 (Fri) 22:29:18
Re: 平行でない2線の中心線
おはようございます。

ちょっと直してみました。

♪文字枠作成 Ver2017 試作
*^C^C$m=useri5;0;$(nth,$(getvar,useri5),offset;;^x単一文字オブジェクト選択^x\;select;@;@;;undo;be;useri5;1;-attedit;y;*;*;*;non;@;;$M="""$(if,$(getvar,cmdactive),;useri5;0,)""",,,,,)$(nth,$(getvar,useri5),,explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;non;@;non;@;;useri5;2,,,,)$(nth,$(getvar,useri5),,,ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;extend;p;;@;@;;lengthen;dy;;;l;;sortents;$(getvar,sortents);useri5;3,,,)$(nth,$(getvar,useri5),,,,userr1;$(getvar,perimeter);sortents;127;line;mid;@;non;@0","0.01;;extend;p;;@;@;;lengthen;dy;;;l;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;useri5;4,,)$(nth,$(getvar,useri5),,,,,ucs;o;$(/,$(getvar,perimeter),2)","0;rectang;non;-$(/,$(getvar,perimeter),2)","-$(/,$(getvar,userr1),2);non;$(/,$(getvar,perimeter),2)","$(/,$(getvar,userr1),2);ucs;p;;p;;p;copybase;0<0;l;;undo;e;u;pasteclip;non;0<0)^M

使い方は
72.文字枠作成
http://ameblo.jp/totthi-macro/entry-11061436059.html

と同じです。

ただし、2017での動作は未確認です。


尚、2017に関しましては

【AutoCAD R/LT 2015,2016,2017 の仕様変更】
http://ameblo.jp/totthi-macro/entry-12220279344.html

こちらを参照願います。

  • とってぃ
  • 2017/03/21 (Tue) 08:05:32
Re: 平行でない2線の中心線
何回もありがとうございます。
横線1本で止まります。
LT13用と同じ症状ですね。

別のデーター上では点と全体画面になって止まる


コマンド:
LENGTHEN

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


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

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


*選択無効*
点を指定 または フェンス(F)/元に戻す(U)]:
  • umsmatsushita
  • MAIL
  • 2017/03/21 (Tue) 14:22:01
Re: 平行でない2線の中心線
ちゃんと貼り付けられていませんね。

今回のマクロは、「lengthen;dy;;;l;;」と修正していますが

umsmatsushitaさんの実行結果は
上記の様に、以前のマクロの「lengthen;l;;」ままです。


再度、コピーし貼り付け直してお試しください。
  • とってぃ
  • 2017/03/21 (Tue) 15:32:32
Re: 平行でない2線の中心線
^Mまでちゃんと張り付いています
新規図面では、横線1本
今使っているデーター上では点で止まります。
システム変数が何か他の人と違っているのかもしれません

私のやり方で平行でない2線の中心線やっと3点指示で作図出きるように
なりましたが(線の交点)中心が画面上ないと中心からの線に。角度寸法近くでクリックすると中心線が消えてします
こんな感じなってしまいますが
3点までたどり着きました。XLINE;B;は今まで知りませんでした。
この辺であきらめよう。
^C^C_pedit;\y;;_area;o;l;explode;l;_dimangular;@;\\setenv;L1;$M=$(getvar,lastpoint);_line;_cen;$M="$(getenv,L1)";_mid;$M="$(getenv,L1)";;_lengthen;t;$M=$(getvar,perimeter);_cen;$M="$(getenv,L1)";;_erase;$M="$(getenv,L1)";;
  • umsmatsushita
  • MAIL
  • 2017/03/21 (Tue) 17:11:56
Re: 平行でない2線の中心線
中途半端で申し訳ないのでもう一度
張り付けたものを送ります。


コマンド: lengthen

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

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

コマンド:
LENGTHEN

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


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

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


*選択無効*
点を指定 または フェンス(F)/元に戻す(U)]:
  • umsmatsushita
  • MAIL
  • 2017/03/21 (Tue) 17:44:26
Re: 平行でない2線の中心線
私のLT2017では、これで動きました。

*^C^C$m=useri5;0;$(nth,$(getvar,useri5),offset;;^x単一文字オブジェクト選択^x\;select;@;@;;undo;be;useri5;1;-attedit;y;*;*;*;non;@;;$M="""$(if,$(getvar,cmdactive),;useri5;0,)""",,,,,)$(nth,$(getvar,useri5),,explode;@;"""$m=$(if,$(getvar,cmdactive),;)"""explode;@;"""""""$m=$(if,$(getvar,cmdactive),;)"""""""select;non;@;non;@;;useri5;2,,,,)$(nth,$(getvar,useri5),,,ucs;e;@;sortents;127;line;non;@;non;@0.01<0;;extend;p;;@;@;;lengthen;dy;;;l;;;sortents;$(getvar,sortents);useri5;3,,,)$(nth,$(getvar,useri5),,,,userr1;$(getvar,perimeter);sortents;127;line;mid;@;non;@0","0.01;;extend;p;;@;@;;lengthen;dy;;;l;;;sortents;$(getvar,sortents);ucs;e;l;erase;l;;;l;;useri5;4,,)$(nth,$(getvar,useri5),,,,,ucs;o;$(/,$(getvar,perimeter),2)","0;rectang;non;-$(/,$(getvar,perimeter),2)","-$(/,$(getvar,userr1),2);non;$(/,$(getvar,perimeter),2)","$(/,$(getvar,userr1),2);ucs;p;;p;;p;copybase;0<0;l;;undo;e;u;pasteclip;non;0<0)^M

平行線と文字枠の話を同じスレッド内で行うと、見ているだけの私は混乱してしまいます。
文字枠の件が長引く様でしたら、新しく文字枠用の質問を立ち上げて欲しいです。

愛読者のLonより。

  • Lon
  • 2017/03/21 (Tue) 19:09:51
Re: 平行でない2線の中心線
>二点間中点オフセットで解決ですが

とあったので、2線の中心線に関しては解決とおもっていたのですが
違うのでしょうか?

Lonさんが検証してくださってますが
2017でも環境によっては
lengthen;dy;;;l;;;
としないと動作しないみたいです。


まずは
二点間中点オフセットなのか
文字枠作成なのか
明記したうえでご返答願います。
  • とってぃ
  • 2017/03/21 (Tue) 21:19:46
Re: 平行でない2線の中心線
すいません。
解決とさせて頂きます。
私の頭の構造がちょっとおかしいので。
ご迷惑をおかけします。
  • umsmatsushita
  • MAIL
  • 2017/03/22 (Wed) 15:27:06
Re: 平行でない2線の中心線
二点間中点オフセットも文字枠作成も
2017で動作しましたでしょうか?


>ご迷惑をおかけします。
迷惑とは思っていませんよ。
こちらも、動作確認できていませんので(汗

できれば最後まですっきり解決したかったのですが・・・
  • とってぃ
  • 2017/03/22 (Wed) 15:33:40
Re: 平行でない2線の中心線
2点ほど
1点目

二点間中点オフセットは新規図面では上手く動くのですが
今使用しているデータの中で動かくと挙動不審の動きをします。
2線の外側にオフセットされたり、中央円弧ができて止まったり
2線に線分で結ばれたり図面の場所を移動して動かすと色々です。
かなり大きな図面です全体100mx100m以上ある物です。

2点目
文字枠作成
本日、再度マクロを入れてみたら動いたのですが
1行文字では、これも変わった動きをします
文字が左寄せ(L)の場合は問題ないのですが
文字の基点を動かすと
左下点を基準に長方形を作図します。

解決済み書き込んでしまいました
すいません。
  • umsmatsushita
  • MAIL
  • 2017/03/24 (Fri) 18:23:42
Re: 平行でない2線の中心線
>解決済み書き込んでしまいました
こちらとしましては、そもそも解決したと思っておりません。
むしろ今回の返信は、どちらのマクロも動かないといった内容ですよね。

ただし、バージョン2017においては、まだ未知数な部分もあります。
新しいバージョンになる度に
マクロに関しては問題がありますので
お使いになりたい場合には、ご協力をお願い致します。


一応、文字枠作成マクロに関しては、Lonさん検証の元、2017で動作しているようです。

平行でない2線間の中心線に関しましては
umsmatsushitaさん作成のマクロを修正するので良いのであれば
二点間中点オフセットは無視して、Lonさんの返信をご確認ください。

また、新規投降時のお願い にも記載していますが
バージョン違いによるマクロの動作不良の場合は、キーボードF2を押し、表示されたテキストウィンドウ内の
マクロ開始~終了までのマクロの流れをコピーし、貼り付けてご質問下さい。

尚、掲示板冒頭にも記載していますが
当掲示板は、AuroCADマクロ屋本舗 の掲示板です。
AutoCADのマクロ に関する質問の前に 【 マクロ使用前の注意事項 】 を、必ずお読みください。

現在検証中ですが、2017に関する注意点も記載しております。

上記参照の上、ご返答願います。

長々と書いてしまい申し訳ありませんが
いまいち質問➡解決への内容が把握できておりません。

今一度、詳しくご質問の方お願い致します。


管理人:とってぃ
  • とってぃ
  • 2017/03/25 (Sat) 00:25:09
Re: 平行でない2線の中心線
今日は先週とまた動きが違います。
マイクロトレースを1にして動かしてみました。
今日はいきなり止まります。
私とおなじでこのパソコンちょっと変ですかね。
今日は新規図面でも同じ動きをします。
最初入れた時に動いていたのが、動かなくなって
次に変な動きをして、今日は、いきなりとまるので
やはり、マクロがおかしいのではなく、このパソコンに
問題があるようにも思います。

普段、一人で悩んでいるので、つい、色々なことが頭に浮かんできて
他の質問まで、してしまって、すいません。

MACROTRACE の新しい値を入力 <0>: 1
コマンド:
コマンド:
コマンド: Eval: $(NTH, $(getenv,to), offset

オブジェクト選択\
select
nea
@
nea
@

setenv
p1
$M="$(getvar,lastpoin"

to
1, , , , , , )
Eval: $(GETENV, to)
===> 4
===>
Eval: $(NTH, $(getenv,to), , offset

2つ目のオブジェクト選択\
setenv
to
1
select
nea
@
nea
@

setenv
p2
$M="$(getvar,lastpoin"
zoom
e
dimradius
nea
@
nea
$(getenv,p1)
$M="""$(if,$(getvar,cmdactive),
setenv
to
2,u
setenv
to
3)""", , , , , )
Eval: $(GETENV, to)
===> 4
===>
Eval: $(NTH, $(getenv,to), , , dimangular
nea
$(getenv,p1)
nea
$(getenv,p2)
$M="$(if,$(getvar,cmdactive),
setenv
to
4,setenv
to
3)", , , , )
Eval: $(GETENV, to)
===> 4
===>
Eval: $(NTH, $(getenv,to), , , , line
nea
$(getenv,p1)
per
$(getenv,p2)

lengthen
l



erase
l

offset
$M="$(/,$(getvar,perimeter),2)"
@
$(getenv,p1)
, , , )
Eval: $(GETENV, to)
===> 4
===>
Eval: $(NTH, $(getenv,to), , , , , dist
nea
$(getenv,p2)
int
@
$(getenv,p1)
arc
nea
$(getenv,p2)
c
int
$(getenv,p1)
$(getenv,p2)
nea
$(getenv,p1)
setenv
to
5, , )
Eval: $(GETENV, to)
===> 4
Eval: $(GETENV, p2)
===> -6740.66223415,103975.00631361
Eval: $(GETENV, p1)
===> -10756.80945923,104141.26478621
Eval: $(GETENV, p2)
===> -6740.66223415,103975.00631361
Eval: $(GETENV, p1)
===> -10756.80945923,104141.26478621
Eval: $(GETENV, p2)
===> -6740.66223415,103975.00631361
Eval: $(GETENV, p1)
===> -10756.80945923,104141.26478621
===> dist
nea
-6740.66223415,103975.00631361
int
@
-10756.80945923,104141.26478621
arc
nea
-6740.66223415,103975.00631361
c
int
-10756.80945923,104141.26478621
-6740.66223415,103975.00631361
nea
-10756.80945923,104141.26478621
setenv
to
5
$M=setenv
そのようなコマンド "$M=SETENV" はありません。ヘルプを表示するには F1 キーを押してください。
  • umsmatsushita
  • MAIL
  • 2017/03/27 (Mon) 16:28:13
Re: 平行でない2線の中心線
>マイクロトレースを1にして動かしてみました。
すみませんが、逆に分かり辛いです(汗

通常のマクロ開始~終了までのマクロの流れをコピーし、貼り付けて下さい。


それと
今回の結果は、
148.二点間中点オフセット ですよね??
  • とってぃ
  • 2017/03/27 (Mon) 16:47:31
Re: 平行でない2線の中心線
二点間中点オフセット 
今はいきなり止まります。

コマンド: $M=setenv
そのようなコマンド "$M=SETENV" はありません。ヘルプを表示するには F1 キーを押してください。

コマンド: to
TOOLBAR ツールバー名を入力 または [すべて(ALL)]: 0

ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <0>:

コマンド: *削除*
オブジェクト選択*削除*
  • umsmatsushita
  • MAIL
  • 2017/03/28 (Tue) 16:07:15
Re: 平行でない2線の中心線
2線間オフセット
先ほどの状態からエンターキーで
ツールバーがでてきたのでそこからキャンセル
してもう一度マクロを流すと何かわからない続きが始まり
それをキャンセルしてもう一度マクロ流すと下記のような状態
です。
こんな説明ではわからないですよで、
要は、上手く動かないとき、ただ、キャンセルではなく
一度、エンターで進めてから、キャンセルして、
もう一度、マクロを流すとどこか、途中から何かが始まる感じ
余計にわからない********
いいだいっぺで申し訳ありませんが、私のパソコンおかしいので
もう諦めませんか、つい書き込んでしまう私も悪いのですが
最近根性なくなりました。
以前通り芯を表示するアイデアを質問して
私の言っていることが(話べたで)
理解しえもらえず、フリーの録画ソフトで撮ったもので
質問しようと思いながらもう何か月かたってしまいました。
また、変な質問するかもしれませんが、
今後ともよろしくお願いします。

コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <0>: 0


コマンド: offset

現在の設定: 元のオブジェクトを消去=いいえ 画層=元のオブジェクト OFFSETGAPTYPE=0
オフセット距離を指定 または [通過点(T)/消去(E)/画層(L)] <通過点>:

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>: *削除*
オブジェクト選択*削除*
オブジェクト選択
通過点を指定 または [終了(E)/一括(M)/元に戻す(U)] <終了>:

コマンド: select

オブジェクトを選択: nea
どこに @
認識された数: 1

オブジェクトを選択: nea
どこに @
認識された数: 1 (重複している数: 1), 総数 1

オブジェクトを選択:

コマンド: setenv
変数名を入力: p1
値 <$M=""">: -55124.0309835,69936.16648391


コマンド:
SETENV
変数名を入力: to
値 <0>: 1


コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <1>: 0


コマンド: offset

現在の設定: 元のオブジェクトを消去=いいえ 画層=元のオブジェクト OFFSETGAPTYPE=0
オフセット距離を指定 または [通過点(T)/消去(E)/画層(L)] <通過点>:

オフセットするオブジェクトを選択 または [終了(E)/元に戻す(U)] <終了>: *削除*
2つ目のオブジェクト選択*削除*
2つ目のオブジェクト選択
通過点を指定 または [終了(E)/一括(M)/元に戻す(U)] <終了>:

コマンド: setenv
変数名を入力: to
値 <0>: 1


コマンド: select

オブジェクトを選択: nea
どこに @
認識された数: 1

オブジェクトを選択: nea
どこに @
認識された数: 1 (重複している数: 1), 総数 1

オブジェクトを選択:

コマンド: setenv
変数名を入力: p2
値 <-46401.72488019,71548.40201625>: -46655.57706189,70684.24827902


コマンド: zoom

窓のコーナーを指定、表示倍率を入力(nX または nXP) または
[図面全体(A)/中心点(C)/ダイナミック(D)/オブジェクト範囲(E)/前画面(P)/倍率(S)/窓(W)/選択オブジェクト(O)] <リアル タイム>: e

コマンド: dimradius

円弧または円を選択: nea
どこに @

選択されたオブジェクトは円または円弧ではありません。

円弧または円を選択: nea
どこに -55124.0309835,69936.16648391

選択されたオブジェクトは円または円弧ではありません。

円弧または円を選択:

コマンド: setenv
変数名を入力: to
値 <1>: 2


コマンド:
コマンド:
コマンド: setenv
変数名を入力: to
値 <2>: 0


コマンド: dimangular

円弧、円、線分を選択 または <頂点を指定(S)>: nea
どこに -55124.0309835,69936.16648391

2 本目の線分を選択: nea
どこに -46655.57706189,70684.24827902

円弧寸法線の位置を指定 または [マルチ テキスト(M)/寸法値(T)/寸法値角度(A)/四半円点(Q)]:

コマンド: setenv
変数名を入力: to
値 <0>: 4


コマンド:
コマンド:
コマンド: $M=setenv
そのようなコマンド "$M=SETENV" はありません。ヘルプを表示するには F1 キーを押してください。

コマンド: to
TOOLBAR ツールバー名を入力 または [すべて(ALL)]: 0

ツールバーが見つかりません。
ツールバー名を入力 または [すべて(ALL)] <0>:

コマンド: *削除*
オブジェクト選択*削除*
オブジェクト選択*キャンセル*
  • umsmatsushita
  • MAIL
  • 2017/03/28 (Tue) 16:46:46
Re: 平行でない2線の中心線
>もう諦めませんか、つい書き込んでしまう私も悪いのですが
>最近根性なくなりました。

基本こちらは、どのバージョンでも修正する気持ちですが
当方も仕事の合間に考えていたりしますし
ご協力頂くことが必要なのも事実です。

投稿者さんが諦めるのであれば
こちらもそれ以上は申すことはできません。

またの機会がありましたら、ご利用下さい。
  • とってぃ
  • 2017/03/28 (Tue) 21:43:15

返信フォーム






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