« 2.5Dレイヤ名設定 | トップページ | 2.5D台形出窓 »

2008年2月23日 (土)

2.5Dレイヤ間移動/複写(改)

2.5Dの側面(立面)作図では、レイヤを分けた後、基点と方向の指定が必要なので、
レイヤ間移動/複写に実点/補助線作図を外変用バッチファイルにまとめました。

それぞれの使い方は、レイヤ間移動/複写実点/補助線作図を見てください。

分岐コマンドに 角度補助線 を追加しました。 08/04/05

分岐コマンドに "Next" を追加しました。
外部変形 "レイヤ名設定" に移動できます。
相互に利用する"バッチファイル名"に注意してください。 08/04/06

分岐コマンドに 実点/補助線消去 を追加しました。
外変移動後に「未実行」を表示しないようにしました。 08/04/08

Layer_ch_e

< layer_ch_n.bat >                                                     --------------------
@REM レイヤ間移動/複写
@echo off
goto %1
REM
REM #jww
REM #cd
REM #hm|移動 (L)|複写 (R)|基点設定 (3)|角度補助線(4)|消去 (5)|Next (6)|
REM
REM #:1
REM #:2
REM #h1 範囲選択
REM #hc 図形を矩形選択してください
REM #hr
REM #e
REM
REM #:3
REM #1 線色6実点位置を指定してください
REM #2 線色5実点位置を指定してください
REM #3 線色5補助線種の方向を指定してください
REM #hr
REM #e
REM
REM #:4
REM #0 始点を指定してください(R)
REM #1ln 角度線を指定してください(L)
REM #hr
REM #e
REM
REM #:5
REM #h1 範囲選択
REM #hc 実点と補助線を選択してください
REM #hr
REM #e
REM
REM #:6
REM #h/lyr_set_3l_n.bat
REM #e
REM
REM 移動
:1
jgawk 'BEGIN{print "hd"};/^^#/,/NF==0/{if(substr($1,1,2)=="ly"){next}if(substr($1,1,2)=="lg"){next}else{print $0}}' jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
REM 複写
:2
jgawk '/^^#/,/NF==0/{if(substr($1,1,2)=="ly"){next}if(substr($1,1,2)=="lg"){next}else{print $0}}' jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
REM 基点設定
:3
jgawk '/^^hp1/{print "pn6";printf "%%s %%.15g %%.15g\n","pt",$2,$3};/^^hp2/{x0=$2;y0=$3;print "pn5";printf "%%s %%.15g %%.15g\n","pt",x0,y0};/^^hp3/{x1=$2;y1=$3;print "lc5";print "lt9";printf "%%.15g %%.15g %%.15g %%.15g\n",x0,y0,x1,y1}' jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
REM 角度補助線
:4
jgawk '/^^#/,/NF==0/{if(NF==4 ^&^& $1^>$3){x1=$1-$3;y1=$2-$4}else{x1=$3-$1;y1=$4-$2}}END{if(y1^<0){x=-x1;y=-y1}else{x=x1;y=y1}print "lc6";print "lt9";printf "%%.15g %%.15g %%.15g %%.15g\n",0,0,x,y}' jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
REM 消去
:5
jgawk 'BEGIN{print "hd"}/^^#/,/NF==0/{if($1=="#"){next}if($1=="lc5"){next}if($1=="lt9"){n=NR;next}if(NR==n+1){next}if($1=="pn6" ^|^| $1=="pn5"){next}if($1=="pt"){next}else{print $0}}' jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
:6
echo #>jwc_temp.txt
:end

|

« 2.5Dレイヤ名設定 | トップページ | 2.5D台形出窓 »

コメント

somemさん、こんにちは。

早速の連携プレー、良いですね!
いろいろと面白い使い方ができそうです。

投稿: 住職 | 2008年4月 7日 (月) 19時21分

住職さん、こんばんは。

住職さんのヒントのおかげです。
外変は、分岐が多すぎても使いずらいし・・・・・。

あと一つ追加しなければいけないのがあるんですが、
ようやく、完成形に近づいてきました。m(__)m

投稿: somem | 2008年4月 7日 (月) 21時44分

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/94529/40236019

この記事へのトラックバック一覧です: 2.5Dレイヤ間移動/複写(改):

« 2.5Dレイヤ名設定 | トップページ | 2.5D台形出窓 »