Jw_cad 情報交換室−その3New

 JWW についての情報交換の場としてお使いください
初心者の方などのご相談は Jw_cad 相談 室−その2をご利用ください
なお、情報交換室と相談室の両方に同じ内容を投稿するのはご遠慮ください

2009年9月以前の発言過去ログのページからご覧ください。

それ以降の過去ログは消失しています。
申し訳ありませんが、復活の予定はありません。


新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
295 / 368 ツリー    ←次へ | 前へ→

座標面積計算結果について yama 21/4/15(木) 11:41

Re:座標面積計算結果について R.N 21/5/25(火) 22:11
Re:座標面積計算結果について kojima 21/5/26(水) 11:41
Re:座標面積計算結果について R.N 21/5/26(水) 19:31

Re:座標面積計算結果について
 R.N  - 21/5/25(火) 22:11 -
▼kojimaさん:

こんばんは、
いつも外変提供して頂き、感謝です。

[Xn(m)]列と[Yn(m)]列の列幅を揃えたくて
278行目(gyo=(moji_h+cl*2)*zusun の前の行)あたりに

l2=l3 if l2<l3
l3=l2 if l2>=l3

を追記してみましたが?

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0@pl76773.ag2001.nttpc.ne.jp>
・ツリー全体表示

Re:座標面積計算結果について
 kojima  - 21/5/26(水) 11:41 -
▼R.Nさん:
>[Xn(m)]列と[Yn(m)]列の列幅を揃えたくて
>278行目(gyo=(moji_h+cl*2)*zusun の前の行)あたりに
>
>l2=l3 if l2<l3
>l3=l2 if l2>=l3
>
>を追記してみましたが?

そのほうが見栄えいいですね。
あと、文字位置も微妙にズレていました。


#後半分
puts "cc1",cn
zukei=loop_renzoku(sen_a)
unless zukei
printf("h#データが不適当です\n")
exit
end
ten_a=[]
zukei.each{|item|
l=hypot(item[3]-item[1],item[2]-item[0])
arg=atan2(item[3]-item[1],item[2]-item[0])
x=item[0]+l/2*cos(arg)
y=item[1]+l/2*sin(arg)
puts "z3" if ki==1 && hpx !=nil
printf("cs %.11f %.11f %.11f %.11f\"%.3f\n",
x+cl2*cos(arg+PI/2),y+cl2*sin(arg+PI/2),cos(arg),sin(arg),l/1000) if ki==1 && hpx !=nil
ten_a<<[item[0],item[1]]
}
array=[]
0.upto(ten_a.size-1){|i|
x,y=ten_a[i]
moji_a=ch_a.find{|item|(x-item[0]).abs<cl3 && (y-item[1]).abs<cl3}
moji_a != nil ? no2= moji_a[2] : no2="#{pre_moji}#{no}"
array<<[no2,keta_f(x/1000,keta),keta_f(y/1000,keta),nil]
if i==ten_a.size-1
x2,y2=ten_a[0]
else
x2,y2=ten_a[i+1]
end
arg=atan2(y2-y,x2-x)
l=hypot(y2-y,x2-x)
if i==0
x1,y1=ten_a[-1]
else
x1,y1=ten_a[i-1]
end
arg2=atan2(y1-y,x1-x)
x1=x+l*cos(arg2)
y1=y+l*sin(arg2)
l=hypot(y2-y1,x2-x1)
arg2=atan2(y2-y1,x2-x1)
x3=x1+l/2*cos(arg2)
y3=y1+l/2*sin(arg2)
arg=atan2(y3-y,x3-x)
if ki==1
unless moji_a
printf("ch %.11f %.11f %.11f %.11f \"%s\n",
x-cl2*cos(arg),y-cl2*sin(arg),cos(arg+PI/2),sin(arg+PI/2),no2)
end
end
no += 1
}
unless hpx
file="ztemp.txt"
f=open(file,"w")
if f_t==1
f.printf("#座標値\t[XY座標]\n")
array.each{|item|f.printf("%s\t%s\t\"%s\"\n",item[1],item[2],item[0])}
f.printf("%s\t%s\t\n",array[0][1],array[0][2])
else
f.printf("#座標値\t[YX座標]\n")
array.each{|item|f.printf("%s\t%s\t\"%s\"\n",item[2],item[1],item[0])}
f.printf("%s\t%s\t\n",array[0][2],array[0][1])
end
f.close
system("start notepad #{file}")
exit
end
0.upto(array.size-1){|i|
i==0 ? x1=array[-1][1].to_f : x1=array[i-1][1].to_f
i==array.size-1 ? x2=array[0][1].to_f : x2=array[i+1][1].to_f
y=array[i][2].to_f
array[i][3]=keta_f((x2-x1)*y,6)
}
t_s=0
0.upto(array.size-1){|i|
t_s += array[i][-1].to_f
}
array2=["敷地面積","Xn(m)","Yn(m)","(Xn+1-Xn-1)・Yn"]
l1=str_l(array2[0],moji_w,moji_d,zusun)
l2=str_l(array2[1],moji_w,moji_d,zusun)
l3=str_l(array2[2],moji_w,moji_d,zusun)
l4=str_l(array2[3],moji_w,moji_d,zusun)
array.each{|item|
ll2=str_l(item[1],moji_w,moji_d,zusun)
ll3=str_l(item[2],moji_w,moji_d,zusun)
ll4=str_l(item[3],moji_w,moji_d,zusun)
l2 = ll2 if l2<ll2
l3 = ll3 if l3<ll3
l4 = ll4 if l4<ll4
}
ll2=str_l("#{keta_f(t_s.abs/2,2)} m2",moji_w,moji_d,zusun)
l2 = ll2 if l2<ll2

l2 = l3 if l2<l3
l3 = l2 if l2>l3

gyo=(moji_h+cl*2)*zusun
x1=hpx
x2=hpx+l1+l2+l3+l4+8*cl*zusun
y=hpy
printf(" %.11f %.11f %.11f %.11f\n",x1,y,x2,y)
y -= gyo
0.upto(array.size+2){|i|
printf(" %.11f %.11f %.11f %.11f\n",x1,y,x2,y)
y -= gyo
}
x=hpx
x_array=[x,x +=l1+2*cl*zusun,x +=l2+2*cl*zusun,x +=l3+2*cl*zusun,x +=l4+2*cl*zusun]
x_array.each{|item|printf(" %.11f %.11f %.11f %.11f\n",item,hpy,item,y+gyo)}
x=hpx+l1/2+cl*zusun
x_array=[l1,l2,l3,l4]
ch_array=["座標点","X^dn(m)","Y^dn(m)","(X^dn^d+^d1-X^dn^d-^d1)・Y^dn"]
y=hpy-gyo/2
puts "cc4"
0.upto(x_array.size-1){|i|
printf("ch %.11f %.11f 1 0 \"%s\n",x,y,ch_array[i])
x+=x_array[i]/2+x_array[i+1]/2+2*cl*zusun if i<x_array.size-1
}
x1=hpx+l1/2+cl*zusun
x2=x1+l1/2+cl*zusun+l2+cl*zusun
x3=x2+cl*zusun+l3+cl*zusun
x4=x3+cl*zusun+l4+cl*zusun
x_array=[x1,x2,x3,x4]
y -= gyo
array.each{|item|
0.upto(x_array.size-1){|i|
if i==0
puts "cc4"
else
puts "cc5"
end
printf("ch %.11f %.11f 1 0 \"%s\n",x_array[i],y,item[i])
}
y -= gyo
}
puts "cc4"
printf("ch %.11f %.11f 1 0 \"倍面積\n",x3-l3/2,y)
puts "cc5"
printf("ch %.11f %.11f 1 0 \"%s\n",x_array[3],y,keta_f(t_s.abs,6))
y -= gyo
ts2=sprintf("%.2f",(t_s.abs/2*100).floor/100.0)
x_array=[x1,x2,x3-l3/2,x4]
ch_array=["敷地面積",ts2+" m^u2","面 積\n",keta_f(t_s.abs/2,6)]
0.upto(x_array.size-1){|i|
if i==0 or i==2
puts "cc4"
else
puts "cc5"
end
printf("ch %.11f %.11f 1 0 \"%s\n",x_array[i],y,ch_array[i])
}
puts "cc0"
printf("ch %.11f %.11f 1 0 \"座標面積計算表\n",hpx,hpy+cl*zusun)
__END__
:end

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko@ai126172093231.49.access-internet.ne.jp>
・ツリー全体表示

Re:座標面積計算結果について
 R.N  - 21/5/26(水) 19:31 -
▼kojimaさん:

こんにちは、
Rubyスクリプトをまだまだ理解できてませんが、
今後とも、めげることなく、よろしくお願いします。

ありがとうございました。

提供して頂いた、スクリプトに対して、ちゃちゃ入れることは簡単かと思いますが、
いざ、作ってみろと言われると、できないのが現実です。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:88.0) Gecko/20100101 Firefox/88.0@pl76773.ag2001.nttpc.ne.jp>
・ツリー全体表示

295 / 368 ツリー    ←次へ | 前へ→
新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム
 1473644
ページ:  ┃  記事番号:  

C-BOARD Moyuku v1.03b5
Jw_cad Copyright (C)1997-2021 Jiro Shimizu & Yoshifumi Tanaka