Excel データの作図(拡張版)
距離と角度から、Excel で座標データを計算し、作図する外部変形の拡張版です。
分岐コマンドから、2種類の作図が可能です。
Excel シートの作成方法は、こちらで
線種/線色は、lt */lc * で変更することができます。
レイヤは、ly * を変更してください。
縮尺は、スプリクト9行目のS=10 を変更する必要があります。
1/100の時、S=100です。
この外部変形の作成にあたっては、
盗朱さんのアドバイスをいただきました。感謝です。
<cord2.bat>
--------------------
@REM Excel to Jww 座標出力
@echo off
goto %1
REM
REM #jww
REM #cd
REM #hm|敷地図 (L)|座標点 (R)|
REM #:1
REM #:2
REM #0 原点を指定してください
REM #hr
REM #e
REM
:1
:2
jgawk -vN=%1 -f cord2.awk cord.csv>jwc_temp.txt
REM del cord.csv
goto end
:end
<cord2.awk>
--------------------
###Excel to Jww 座標出力(レイヤ別)
###
BEGIN{
#カンマ区切り(CSV用)
FS=",";
#文字列設定
dq="\"";deg="°";min="'";sec="”";sh="/";sp=" ";wd=10;
#縮尺(S=1/10)
S=10;
#文字位置調整
cdx=0;cdy=3*S;
#文字方向指定(水平)
ddx=5
}
###
#座標値取得
/^#/,/^##/{
if($1=="#"){ns=NR;ch1=$3;ch2=$4;cht=dq ch1 ch2}
if(NF==10){
chn[NR]=$2;x[NR]=$3;y[NR]=$4;L[NR]=$5;d[NR]=$6;m[NR]=$7;s[NR]=$8;
chr[NR]=dq chn[NR] sp L[NR] sh d[NR] deg m[NR] min s[NR] sec}
if($1=="##"){ne=NR;next}
}
END{
###表題の作図
print "ly3";printf "%s %d %d %d %d %s\n","ch",-20*S,5*S,ddx,0,cht;
#####
#中心線の作図
print "ly1";
print "lc2";
print "lt5";
printf "%d %d %d %d\n",-wd*S,0,wd*S,0;
printf "%d %d %d %d\n",0,-wd*S,0,wd*S;
#####
###原点/座標点の作図
print "ly2";
printf "%s %d %d\n","pt",0,0;
for(i=ns+1;i<=ne;i++)
{printf "%s %.15g %.15g\n","pt",x[i],y[i]}
###符号/距離/角度表示
print "ly3";
for(i=ns+1;i<=ne;i++)
{xc=x[i]+cdx;yc=y[i]+cdy;
printf "%s %.15g %.15g %.15g %.15g %s\n","ch",xc,yc,ddx,0,chr[i]}
###敷地作図
#線種指定
if(N==1){
print "ly0";
print "lc3";
print "lt5";
for(i=ns+1;i<=ne-1;i++)
{printf "%.15g %.15g %.15g %.15g\n",x[i],y[i],x[i+1],y[i+1]}
printf "%.15g %.15g %.15g %.15g\n",x[ne],y[ne],x[ns+1],y[ns+1]
}}
| 固定リンク
コメント
ペコリ(o_ _)o)) ありがとうございます。
投稿: 盗朱 | 2008年3月13日 (木) 09時12分
どういたしまして。!(^^)!
お役に立ててよかったです。
投稿: somem | 2008年3月13日 (木) 20時57分
はじめまして。
kazuと申します。
活用させて頂きたいので盗朱さんから、
こちらで作成されたファイルを頂きました。
ありがとうございます。
今後とも宜しくお願い致します。
投稿: kazu | 2009年6月11日 (木) 17時37分
kazuさん、はじめまして。
わざわざ、ご訪問いただきありがとうございます。
思いつきで作った外変ですが、活用していただければ何よりです。
盗朱さんには、いろいろサポートしていただいておりますが、
もし、不具合等がありましたら遠慮なくコメントをください。
よろしくお願いします。
投稿: somem | 2009年6月11日 (木) 21時22分