« September 2006 | Main | November 2006 »

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弾!もどうぞ。

| | Comments (0) | TrackBack (0)

October 06, 2006

■外部変形-ブロック編集もどき

★外部変形-ブロック編集もどき を初公開しました。

最新バージョンは、トップページの Information を確認して下さい。
(VisualBasic6.0ランタイムの動作する環境)

Block_modoki2

■概要
 基本となる図形を指定し、同一の図形を探し編集します。
 ブロック図形でない図形群をブロック編集のごとく編集する外部変形です。

(始めからブロック図形にて図面を書いていれば、ブロック図形を一つ編集
 すれば他も編集されるのですが、ブロック図形としてなくて、同じ図形が
 たくさんあり、そして、編集しなければならない場合の一括編集などに。)

■利用方法
|①元図選択(L)|②消去線円選択|③追加線円選択|④元図直編集|⑤元複写編集|
|⑥元移動編集|⑦ 消 去|

上記メニューの①から③で編集基本データを定義します。
 その後④、⑤、⑥、⑦の一つを選択し実施します。
・|④元図直編集|->編集する図形のあるレイヤを変更せず編集します。
・|⑤元複写編集|->編集する図形を書き込みレイヤに複写し編集します。
・|⑥元移動編集|->編集する図形を書き込みレイヤに移動し編集します。
・|⑦ 消 去  |->元図形と同じ図形を消去します。

 編集データを選択後、下記サブメニューを選択します。
 ペン、線種等は|曲有全て一致|曲有形状のみ|曲無全て一致|曲無形状のみ|
 それぞれの意味は以下のとおりです。
・|曲有全て一致|->曲線属性化有りで、形状・線種・線色・線幅を一致させる
・|曲有形状のみ|->曲線属性化有りで、形状のみ一致させる
・|曲無全て一致|->曲線属性化無しで、形状・線種・線色・線幅を一致させる
・|曲無形状のみ|->曲線属性化無しで、形状のみ一致させる

※詳細はブロック編集もどき.jww をご覧下さい。
※giriさん制作の「使用法ムービー」もご覧下さい。 (giriさんに感謝)

■謝辞
 Jw_cad等の有用なプログラムを無償で提供して下さっている方々、そして、
 掲載を承諾していただきました作者様・協力者様に、御礼申し上げます。
 尚、今回の公開に際し、多大なるご協力をいただきました スターさんに、
 心より感謝いたします。

| | Comments (0) | TrackBack (2)

« September 2006 | Main | November 2006 »