« ソリッドデータの書出し | トップページ | 絶対値 »

2007年7月30日 (月)

イラスト風に間取図

Jw_cadで間取図の一部をイラスト風に作図すると・・・・・。
趣味で作った外変ですが、興味のある方はお試しください。

070730

作図は、水平/垂直方向だけに対応。

--------------------
@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}}

|

« ソリッドデータの書出し | トップページ | 絶対値 »

コメント

これはGoodです
計画する時はこれくらいで充分なんもので

おまけに壁がソリッドなので、塗る必要はないし
柱の位置も解るし
かなりの時間短縮になります
早速使用させてもらいます
?の人のために

の下の間取り図から最後までをエデタでコピーして
layout.awkの名で適当な名前のフォルダを作って保存
@REM 間取図からの上のendまでの部分を
同じく 間取図.batの名前で、同じフォルダに保存
後はその他外部変形から
とても解り易いですから


投稿: giri | 2007年7月31日 (火) 14時24分

giriさん、こんばんは。
プロの方からコメントいただき恐縮です。
また、保存方法の解説までありがとうございます。

ちょっと解説が手薄だったので、
この場を借りて補足です。
壁・窓は、2点を指定するだけで上下左右どちらからでも
作図できます。
ドアは始点側が回転中心となるように作図されます。
柱も作図できますが、実用的には、図形登録を使った方が
良いと思います。

投稿: somem | 2007年8月 1日 (水) 00時10分

コメントを書く



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




トラックバック

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

この記事へのトラックバック一覧です: イラスト風に間取図:

« ソリッドデータの書出し | トップページ | 絶対値 »