« ■外部変形-ブロック編集もどき | Main | ■外部変形-ブロック編集もどき 02 »

October 28, 2006

■好きです”外変”-3

 私のBBSで、紹介しました外部変形をここにまとめさせていただきます。 (第3弾!
今回は、マニアックに [batファイル] だけの外部変形です。 コマンドラインに一行の
プログラムを直接書いたもので、「一行野郎 とか one liners」 と呼ばれています。
実は、この "シンプルさ" と "速さ" が 『粋』 で好きなんです。
-------------------------------------------------------------------
■koさんの[2線.bat]

@REM 二線
@echo off
goto 1
REM #jww
REM #cd
REM #h0
REM #0 開始位置
REM #1 終了位置
REM #c 間隔(省略時:前回値)
REM #hr
REM #e
REM
REM
:1
copy jwc_temp.txt+P.txt
jgawk -vP=%1 '/^^[0-9.]/{if(P+0 == 0){P=$1}};/^^hp1/{x=$2;y=$3};END{p=P/2;k=atan2(y,x);s=sin(k);c=cos(k);printf("%%.15g %%.15g %%.15g %%.15g\n",-s*p,c*p,x-s*p,y+c*p);printf("%%.15g %%.15g %%.15g %%.15g\n",s*p,-c*p,x+s*p,y-c*p);}' jwc_temp.txt > temp.txt
rename P.txt PP.txt
jgawk -vP=%1 'BEGIN{if(P-0 != 0){print P;exit}};/^^[0-9.]/{print $0}' PP.txt > P.txt
del PP.txt
del jwc_temp.txt
rename temp.txt jwc_temp.txt
:pause
-------------------------------------------------------------------
■koさんの[基点から線.bat]

@REM クリック位置に基点から線
@echo off
goto exe
REM バッチファイルによる設定
REM
REM #jww 外部プログラムの宣言
REM #cd
REM #h0
REM #0 基点を指定
REM #99# 対象点を指定
REM #ht10
REM #ht20
REM #ht30
REM #ht40
REM #e
:exe
jgawk '/^hp/ {print" 0 0 "$2" "$3 ;next}' jwc_temp.txt > temp.txt
goto end
:end
del jwc_temp.txt
rename temp.txt jwc_temp.txt
:pause
-------------------------------------------------------------------
■koさんの[文字変更.bat]

@REM 任意文字の変更(近い文字種に変更)
@echo off
REM バッチファイルによる設定
REM
REM #jw 外部プログラムの宣言
REM #cd
REM #h3 【変換文字】範囲を指定
REM #e
jgawk '/^hq/ {$0= "hd"};{ print }' jwc_temp.txt > temp.txt
del input.txt
rename jwc_temp.txt input.txt
rename temp.txt jwc_temp.txt
:pause
-------------------------------------------------------------------
■名無しさんの[線端に点.bat]

@REM 線端点に補助点
@echo off
goto 1
REM #jww
REM #cd
REM #h1
REM #hc範囲を選択
REM #hr
REM #e
REM
REM
:1
jgawk 'BEGIN{print "pn9";};/^^ [0-9.-]/{print"pt "$1" "$2;print"pt "$3" "$4;}' jwc_temp.txt > temp.txt
del jwc_temp.txt
rename temp.txt jwc_temp.txt
:pause
-------------------------------------------------------------------
■スターさんの[軸角補助線.bat]

REM 軸角補助線
goto %1
REM #jww
REM #cd
REM #hm |水 平(L)|垂 直(R)|十 字③|
REM #:1
REM #0 軸角度の補助線を描く点を指示してください:(L)free:(R)Read
REM #hr
REM #e
REM #:2
REM #0 軸角度の補助線を描く点を指示してください:(L)free:(R)Read
REM #hr
REM #e
REM #:3
REM #0 軸角度の補助線を描く点を指示してください:(L)free:(R)Read
REM #hr
REM #e
:1
copy JWC_TEMP.TXT TEMP.TXT >nul
echo lt9 >JWC_TEMP.TXT
echo lc9 >>JWC_TEMP.TXT
echo lyf >>JWC_TEMP.TXT
jgawk '/^hk/{printf"by1e+7\nK11\n%%s 1 \n180 2\n k0",$2}' TEMP.TXT >>JWC_TEMP.TXT
goto END
:2
copy JWC_TEMP.TXT TEMP.TXT >nul
echo lt9 >JWC_TEMP.TXT
echo lc9 >>JWC_TEMP.TXT
echo lyf >>JWC_TEMP.TXT
jgawk '/^hk/{printf"by1e+7\nK11\n%%16.13f 1 \n180 2\n k0",$2+90}' TEMP.TXT >>JWC_TEMP.TXT
goto END
:3
copy JWC_TEMP.TXT TEMP.TXT >nul
echo lt9 >JWC_TEMP.TXT
echo lc9 >>JWC_TEMP.TXT
echo lyf >>JWC_TEMP.TXT
jgawk '/^hk/{printf"by1e+7\nK11\n%%s 1 \n180 2\nK11\n%%16.13f 1 \n180 2\n k0",$2,$2+90}' TEMP.TXT >>JWC_TEMP.TXT
goto END
:END
-------------------------------------------------------------------
■ [JWC_TEMPデータ書出し.bat] (awkスクリプトではありません。)

@REM JWC_TEMPデータ確認用
@echo off
REM #jww
REM #cd
REM #h1 範囲内のデータのみ選択
REM #hc データを範囲選択
REM #g1 全グループレイヤ対象
REM #zz ハッチ・図形・寸法・建具属性
REM #zw 線幅
REM #zc 文字基準点
REM #e
start /w notepad.exe jwc_temp.txt
:pause
-------------------------------------------------------------------
※いずれのbatも現在、HP上では公開されておらず、過去に発表されたものを掲載しました。
 著作権等に問題がある場合は、削除いたします。

・好きです"外変"-第1弾!第2弾!もどうぞ。

|

« ■外部変形-ブロック編集もどき | Main | ■外部変形-ブロック編集もどき 02 »

Comments

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/51994/12464309

Listed below are links to weblogs that reference ■好きです”外変”-3:

« ■外部変形-ブロック編集もどき | Main | ■外部変形-ブロック編集もどき 02 »