イラスト風に間取図
Jw_cadで間取図の一部をイラスト風に作図すると・・・・・。 趣味で作った外変ですが、興味のある方はお試しください。
作図は、水平/垂直方向だけに対応。
--------------------
@REM 間取図
@echo off
goto %1
REM #jww
REM #cd
REM #hm|壁(L)|窓(R)|左ドア(3)|右ドア(4)|柱(5)|
REM
REM #:1
REM #:2
REM #:3
REM #:4
REM #0 1点目を指定してください
REM #1 2点目を指定してください
REM #hr
REM #e
REM #:5
REM #0 中心点を指定してください。
REM #hr
REM #e
:1
:2
:3
:4
jgawk -vN=%1 -f layout.awk jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
:5
jgawk -vN=%1 -f layout.awk jwc_temp.txt>temp.txt
copy temp.txt jwc_temp.txt
del temp.txt
goto end
:end
--------------------
<layout.awk>
--------------------
#間取り図
###
BEGIN{wt=120;dt=wt/2;ds=50}
###
#終点座標
/^hp1/{xe=$2;ye=$3}
#壁
{if(N==1 && xe>0 && ye==0)
{x1=dt;y1=-dt;x2=x1;y2=dt;x3=xe-dt;y3=y2;x4=xe-dt;y4=y1}}
{if(N==1 && xe<0 && ye==0)
{x1=-dt;y1=-dt;x2=x1;y2=dt;x3=xe+dt;y3=y2;x4=xe+dt;y4=y1}}
{if(N==1 && xe==0 && ye>0)
{x1=-dt;y1=dt;x2=x1;y2=ye-dt;x3=dt;y3=y2;x4=x3;y4=y1}}
{if(N==1 && xe==0 && ye<0)
{x1=-dt;y1=-dt;x2=x1;y2=ye+dt;x3=dt;y3=y2;x4=dt;y4=y1}}
#引違い戸
{if(N==2 && xe>0 && ye==0)
{x1=dt;y1=-dt;x2=xe-dt;y2=y1;x3=x1;y3=dt;x4=x2;y4=y3;
x5=xe/2-ds;y5=-wt/6;x6=x2;y6=y5;x7=x1;y7=wt/6;x8=xe/2+ds;y8=y7;
x9=xe/2;y9=-dt-ds;x10=x9;y10=dt+ds}}
{if(N==2 && xe<0 && ye==0)
{x1=xe+dt;y1=-dt;x2=-dt;y2=y1;x3=x1;y3=dt;x4=x2;y4=y3;
x5=xe/2-ds;y5=-wt/6;x6=x2;y6=y5;x7=x1;y7=wt/6;x8=xe/2+ds;y8=y7;
x9=xe/2;y9=-dt-ds;x10=x9;y10=dt+ds}}
{if(N==2 && xe==0 && ye>0)
{x1=dt;y1=dt;x2=x1;y2=ye-dt;x3=-dt;y3=y1;x4=x3;y4=y2
x5=wt/6;y5=ye/2-ds;x6=x5;y6=y2;x7=-wt/6;y7=y1;x8=x7;y8=ye/2+ds;
x9=-dt-ds;y9=ye/2;x10=dt+ds;y10=y9}}
{if(N==2 && xe==0 && ye<0)
{x1=dt;y1=ye+dt;x2=x1;y2=-dt;x3=-dt;y3=ye+dt;x4=x3;y4=y2
x5=wt/6;y5=ye/2-ds;x6=x5;y6=y2;x7=-wt/6;y7=y1;x8=x7;y8=ye/2+ds;
x9=-dt-ds;y9=ye/2;x10=dt+ds;y10=y9}}
#左ドア
{if(N==3 && xe>0 && ye==0)
{x1=dt;y1=-dt;x2=xe-dt;y2=y1;x3=x1;y3=dt;x4=x2;y4=y3;
x5=dt+ds;y5=y1;r=xe-wt-ds;x6=x5;y6=y5-r;th0=270;th1=0}}
{if(N==3 && xe<0 && ye==0)
{x1=-dt;y1=dt;x2=xe+dt;y2=y1;x3=x1;y3=-dt;x4=x2;y4=y3;
x5=-dt-ds;y5=y1;r=-xe-wt-ds;x6=x5;y6=y5+r;th0=90;th1=180}}
{if(N==3 && xe==0 && ye>0)
{x1=dt;y1=dt;x2=x1;y2=ye-dt;x3=-dt;y3=y1;x4=x3;y4=y2
x5=x1;y5=dt+ds;r=ye-wt-ds;x6=x5+r;y6=y5;th0=0;th1=90}}
{if(N==3 && xe==0 && ye<0)
{x1=-dt;y1=-dt;x2=x1;y2=ye+dt;x3=dt;y3=y1;x4=x3;y4=y2
x5=x1;y5=-dt-ds;r=-ye-wt-ds;x6=x5-r;y6=y5;th0=180;th1=270}}
#右ドア
{if(N==4 && xe>0 && ye==0)
{x1=dt;y1=dt;x2=xe-dt;y2=y1;x3=x1;y3=-dt;x4=x2;y4=y3;
x5=dt+ds;y5=y1;r=xe-wt-ds;x6=x5;y6=y5+r;th0=0;th1=90}}
{if(N==4 && xe<0 && ye==0)
{x1=-dt;y1=-dt;x2=xe+dt;y2=y1;x3=x1;y3=dt;x4=x2;y4=y3;
x5=-dt-ds;y5=y1;r=-xe-wt-ds;x6=x5;y6=y5-r;th0=180;th1=270}}
{if(N==4 && xe==0 && ye>0)
{x1=-dt;y1=dt;x2=x1;y2=ye-dt;x3=dt;y3=y1;x4=x3;y4=y2
x5=x1;y5=dt+ds;r=ye-wt-ds;x6=x5-r;y6=y5;th0=90;th1=180}}
{if(N==4 && xe==0 && ye<0)
{x1=dt;y1=-dt;x2=x1;y2=ye+dt;x3=-dt;y3=y1;x4=x3;y4=y2
x5=x1;y5=-dt-ds;r=-ye-wt-ds;x6=x5+r;y6=y5;th0=270;th1=0}}
#柱
{if(N==5){x1=-dt;y1=-dt;x2=-dt;y2=dt;x3=dt;y3=y2;x4=x3;y4=y1}}
###
END{
if(N==1 || N==5){printf "%s %.15g %.15g %.15g %.15g %.15g %.15g %.15g %.15g\n","sl",x1,y1,x2,y2,x3,y3,x4,y4}
if(N==2){printf"%.15g %.15g %.15g %.15g\n",x1,y1,x2,y2;
printf"%.15g %.15g %.15g %.15g\n",x3,y3,x4,y4;
printf"%.15g %.15g %.15g %.15g\n",x5,y5,x6,y6;
printf"%.15g %.15g %.15g %.15g\n",x7,y7,x8,y8;
print"lt5";printf"%.15g %.15g %.15g %.15g\n",x9,y9,x10,y10}
if(N==3 || N==4){printf"%.15g %.15g %.15g %.15g\n",x1,y1,x2,y2;
printf"%.15g %.15g %.15g %.15g\n",x3,y3,x4,y4;
printf"%.15g %.15g %.15g %.15g\n",x5,y5,x6,y6;
print"lt5";printf"%s %.15g %.15g %.15g %.15g %.15g %.15g %.15g","ci",x5,y5,r,th0,th1,1,0}}
| 固定リンク | コメント (2) | トラックバック (0)


最近のコメント