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

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

”隠れ線処理”について
初めての相談です。よろしくお願いいたします。
AUTOCADLT2012
①隠れ線処理に用いる線(HIDEN)を未ロードの状態から用いる際、
 グローバル線種尺度の設定を反映する様に出来ないでしょうか。
 《補足》
 1.グローバル線種尺度の設定は”0.1”・・・但し、変更の場合もあります。
 2.選択された線自体の線種尺度は”1”にしたい。
以上、よろしくお願いいたします。
  • TERU
  • 2016/10/30 (Sun) 10:00:27
Re: ”隠れ線処理”について
マクロ中2カ所ある

chprop;non;$(getenv,p0);;lt;HIDDEN;S;$(*,$(getvar,dimscale),0.5)

この部分の
「S;$(*,$(getvar,dimscale),0.5)」が線種尺度の設定となっています。

「S;1」とすると、線種尺度1になると思います。
お試しください。
  • とってぃ
  • 2016/10/31 (Mon) 08:26:10
Re: ”隠れ線処理”について
ご連絡有難うございます。

ただ、私の説明不足で申し訳ございません。
今回ご相談致しましたのは”線種管理で設定されたグローバル線種尺度を反映した線が描けないでしょうか”のご相談でした。

描かれる線の尺度は、グローバル線種尺度×線種尺度と認識しています・・・間違っていたら申し訳ございません。
現在のコマンドでは、線種管理内で設定されたグローバル線種尺度に関わらず”1”となっているのではないでしょうか⇒1×0.5(線種尺度)=0.5(線の尺度)

これを”線種管理内で設定されたグローバル線種尺度×線種尺度”に出来ればと願っているところです。
先に線をロードしておけば解決する事は承知しています。そこを未ロードで対応出来ればと...。

お忙しいところ、誠にお手数をおかけいたしますがご教授頂きたく。
よろしくお願い致します。
  • TERU
  • 2016/10/31 (Mon) 10:55:27
Re: ”隠れ線処理”について
失礼しました。


先程の
chprop;non;$(getenv,p0);;lt;HIDDEN;S;$(*,$(getvar,dimscale),0.5)

の部分を

chprop;non;$(getenv,p0);;lt;HIDDEN;S;$(*,$(getvar,ltcale),1)

にしてみて下さい。

※マクロ中2カ所
  • とってぃ
  • 2016/10/31 (Mon) 11:58:27
Re: ”隠れ線処理”について
ご連絡有難うございます。
一見、前回と変わらぬ様です。
①線種は破線になりますが、線の見た目が破線にならず1本の線に見えます・・・再作図でも変化なし。
②線種管理の画面を開き、グローバル線種を0.1の設定から再度0.1にして再ロードとすると、
 思ったサイズの破線になります。
 ※線種の再ロードが重要の様です。コマンドの”LTS”で変更しても変化はありますが、
  思った破線サイズとは違う様です。
 
 再ロードされる線が別のHIDDENという事であれば納得できる様な状況です。

状況については以上です。

誠に恐縮でありますが、ぜひとも、解決出来ればと願っています。
よろしくお願い致します。
  • TERU
  • 2016/10/31 (Mon) 13:38:12
Re: ”隠れ線処理”について
あ、すみません

chprop;non;$(getenv,p0);;lt;HIDDEN;S;$(*,$(getvar,ltcale),1)

じゃなく

chprop;non;$(getenv,p0);;lt;HIDDEN;S;$(*,$(getvar,ltscale),1)

でした。
誤 ltcale
正 ltscale

ご確認ください。
  • とってぃ
  • 2016/10/31 (Mon) 13:51:53
Re: ”隠れ線処理”について
ご連絡有難うございます。

試してみました結果、線種尺度が0.1になりました。線種尺度は1のままの予定です。

何度もすみません。
  • TERU
  • 2016/10/31 (Mon) 14:17:33
Re: ”隠れ線処理”について
もしかしてこぉですか?

ltscale;0.1;chprop;non;$(getenv,p0);;lt;HIDDEN;S;1

マクロ中2か所を、上記に変更してみて下さい。
  • とってぃ
  • 2016/10/31 (Mon) 15:34:48
Re: ”隠れ線処理”について
ご連絡有難うございます。
勉強不足で申し訳ございませんが、マクロ内のどの部分と入れ替えでしょうか?

更に1点。
ltscale;0.1とありますが、グローバル線種尺度は線種管理内で設定した値を用いたいと考えています。

以上、よろしくお願い致します。
  • TERU
  • 2016/10/31 (Mon) 15:43:31
Re: ”隠れ線処理”について
ちょっと確認です。

>グローバル線種尺度は線種管理内で設定した値を用いたいと考えています。
マクロ中でグローバル線種尺度は元々変更しておりません。


また

>これを”線種管理内で設定されたグローバル線種尺度×線種尺度”に出来ればと願っているところです。

上記内容を反映したのが

chprop;non;$(getenv,p0);;lt;HIDDEN;S;$(*,$(getvar,ltscale),1)

です。


こちらの解釈が違いましたでしょうか?
  • とってぃ
  • 2016/10/31 (Mon) 16:00:32
Re: ”隠れ線処理”について
ご連絡有難うございます。
当方の勉強不足の為、お手数をおかけいたしまして、誠に申し訳ございません。

解釈頂いている事に間違いはないと思います。
ただ、結果として思ったものとは違う為、私の伝え方に不足があるのだと思います。

内容を再度整理して、改めてご相談させて頂こうかと考えますので、その際はよろしくお願い致します。
  • TERU
  • 2016/10/31 (Mon) 17:32:25
Re: ”隠れ線処理”について
グローバル線種尺度×オブジェクト線種尺度=表示される線種尺度=1
にしたいと理解すると
$(/,1,$(getvar,ltscale))
ではないでしょうか。
  • zukki-
  • 2016/11/01 (Tue) 12:50:37
Re: ”隠れ線処理”について
もしかして

> 1.グローバル線種尺度の設定は”0.1”・・・但し、変更の場合もあります。
> 2.選択された線自体の線種尺度は”1”にしたい。

ただの「1」で良いのかな?


とりあえず貼っておきます。

♪隠れ線処理(線種尺度1)
*^C^C$m=setenv;to;0;$(nth,$(getenv,to),copy;^X\non;@;;non;@;non;@;erase;p;;setenv;to;1,explode;non;@;$M="""$(if,$(getvar,cmdactive),;setenv;to;2,undo;;setenv;to;3);;p0;$(getvar,lastpoint)^H^H""",,,,,)$(nth,$(getenv,to),,,area;o;non;@;$m="""$(if,$(getvar,cmdactive),;setenv;to;3,setenv;to;4)""",break;non;@;f;int;\non;@;;non;$(getenv,p0);f;int;\non;@;chprop;non;$(getenv,p0);;lt;HIDDEN;S;1;,,,)$(nth,$(getenv,to),,,,,move;non;@;;int;\non;@;setenv;p1;$M="""$(getvar,lastpoint)^H^H""";move;p;;int;\non;@;setenv;to;5,,)$(nth,$(getenv,to),,,,,,;p2;$(getvar,lastpoint)^H^H;arc;non;@;nea;$(getenv,p0);non;$(getenv,p1);chprop;L;;lt;HIDDEN;S;1;;setenv;to;6,)$(nth,$(getenv,to),,,,,,,copybase;non;$(getenv,p2);L;;erase;L;;line;non;$(getenv,p1);non;$(getenv,p2);;trim;L;;non;$(getenv,p0);;erase;p;;pasteclip;non;$(getenv,p2))^M
  • とってぃ
  • 2016/11/01 (Tue) 13:17:22
Re: ”隠れ線処理”について
zukki様 とってい様

引き続き、ご検討下さいまして有難うございます。
ただ、うまく内容をお伝えする事が難しいので、悩んでいるところです。

ご検討いただいたマクロについては、試してみましたが、思ったものとは違うようです。
状況を一番ご理解頂き易いのは、実際の作業フローでお試しいただく事かと思いますので、お知らせいたします。
もし、よろしければお試し下さい。

”作業フロー”・・・破線に見えない症状 AUTOCADLT2012
①新規図面を立ち上げる・・・”まっさら”な図面です。
②メニューの形式(O)⇒線種設定(N)⇒線種管理⇒グローバル線種尺度(G)を”0.1”⇒線種のロードまたは再ロードで”CENTER”を選びOK。
 *ロードで選ぶ線はHIDDEN以外であれば適当です。
③図面上に、適当に交差する線を描く。
④交差した部分を隠れ線処理のコマンドで破線に変更する⇒結果:破線に見えない。
***以上が破線に見えない状況まで***

***以下破線に見える様にするまで***
⑤メニューの形式(O)⇒線種設定(N)⇒線種管理⇒線種のロードまたは再ロードで”HIDDEN”を選び再ロードする。
⑥メニューの表示(V)⇒再作図(G)
⑦破線に見える
以上。

HIDDENを先にロードしておけば、上記のようにはならず、最初から破線に見えるように描かれます。
ただ、今回”HIDDENを未ロードのままコマンドを使っても最初から破線に見える様にならないか”というのが思いでした。

まだまだ説明不足とは思いますが、今お伝えできる事は以上です。

お忙しい中、お時間をお取り頂きまして感謝致します。有難うございます。
  • TERU
  • 2016/11/01 (Tue) 14:10:17
Re: ”隠れ線処理”について
なるほど。理解しました。

何も設定していない図面に対応したマクロは可能です。

ただし、マクロは全てに対応できませんので
設定済みのテンプレート図面用があるのであれば
全てのマクロを2つ用意しなければなりません。

また、一度描かれた破線は
寸法スタイル管理の全体の尺度を変更した場合
線種尺度は変更されません。

その為には、自ら線種尺度を変更する必要があります。

今回の隠れ線マクロでは

chprop;non;$(getenv,p0);;lt;HIDDEN;S;$(*,$(getvar,dimscale),0.5);

全体の尺度に合せて、線種尺度を決めています。
ですので、通常は、上記マクロの0.5を
お使いの状態に合わせて修正して頂く必要があります。

何も設定されていない図面でも
上記数値を直せば、破線として見えます。

自分のCADで試しましたら、数値を10にすれば、
ゼロからの図面でも、破線として認識できます。(全体の尺度=1)

破線に見える様にするだけでしたら、今一度
上記数値を変更してお試しください。
  • とってぃ
  • 2016/11/01 (Tue) 14:44:56
Re: ”隠れ線処理”について
とってぃ様

ご連絡有難うございます。
内容について承知しました。

お忙しい中お時間を割いて頂きまして、
誠に有難うございました。
  • TERU
  • 2016/11/01 (Tue) 16:10:26

返信フォーム






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