Indexへ
(2619)// 【2615】→(2639) ------------------------ 【タイトル】累進で
【記事番号】 2615 (*)
【 日時 】05/06/23 19:09
【 発言者 】晃 ppm12@vesta.ocn.ne.jp
前回に「累進」を教えてもらいました。
paradiso2 さんありがとう御座いました。
今回はなぜ円周では「累進」はできないのでしょうか?
色々と試して見ましたがやっぱりできないのでしょうか?
Indexへ
(2615)← 【2639】→(2640) ------------------------ 【タイトル】Re(1):累進っぽくなら
【記事番号】 2639 (2615 )
【 日時 】05/06/24 15:51
【 発言者 】paradiso2
▼晃さん:
>今回はなぜ円周では「累進」はできないのでしょうか?
>色々と試して見ましたがやっぱりできないのでしょうか?
寸法コマンドで円周の「累進」・・・私も知りたいですが。
◎寸法コマンドで「累進っぽく」の場合。
1、寸法|円周|円指示(L)
2、引出し線指示、寸法線指示
3、始点指示
4、左周りで終点"1"指示(R)
----ここから「累進っぽく」----
5、始点(4と同じ始点)指示
6、左周りで終点"2"指示(R)
7、以降、終点の数だけ繰り返し。
※寸法値の位置や向きなどは修正が必要かと思います。
◎測定コマンドで「累進っぽく」の場合。(こちらがお勧め)
1、測定|距離測定
2、始点指示(R)
3、( 弧 指定|円指示(R)
4、終点指示(R)
5、測定結果書込|文字位置指示
----ここから「累進っぽく」----
6、3〜5を繰り返す。
※測定値の位置や向きなどは修正が必要かと思います。
違ってたら、どなたかツッコミ入れて下さい。
外変とかでもありそうですが・・・。
Indexへ
(2639)← 【2640】→(2652) ------------------------ 【タイトル】Re(2):一部訂正です
【記事番号】 2640 (2639 )
【 日時 】05/06/24 16:37
【 発言者 】paradiso2
>◎寸法コマンドで「累進っぽく」の場合。
>5、始点(4と同じ始点)指示
⇒ 始点(3と同じ始点)指示
の間違いでした。
>◎測定コマンドで「累進っぽく」の場合。(こちらがお勧め)
>3、( 弧 指定|円指示(R)
⇒ ( 弧 指定|円指示(L)
の間違いでした。
すいません。
Indexへ
(2640)← 【2652】→(2723) ------------------------ 【タイトル】Re(1):累進で
【記事番号】 2652 (2615 )
【 日時 】05/06/25 00:08
【 発言者 】コジマ
▼晃さん:
>前回に「累進」を教えてもらいました。
>paradiso2 さんありがとう御座いました。
>
>今回はなぜ円周では「累進」はできないのでしょうか?
>色々と試して見ましたがやっぱりできないのでしょうか?
円周の「累進」寸法記入の外変です。
mswin32 版 Ruby のインストールが必要です。
以下で入手できます。
http://www61.tok2.com/home2/gravelroad/libraries.html
コピペ後全角スペースを半角スペースに一括置換してください。
◎テキストファイル(ファイル名 属性設定.txt)
a
1
1
2.5
1
3
2
◎バッチファイル(ファイル名 円累進寸法.bat)
@REM 円周の累進寸法
@echo off
REM #jww
REM #cd
REM #h0
REM #1ci円を指示してください
REM #2寸法作図位置を指示してください
REM #3測定開始点を指示してください
REM #4測定点を指示・・・左周り
REM #99#
REM #e
copy jwc_temp.txt temp.txt > nul
ruby -Ks 円累進寸法.rb temp.txt> jwc_temp.txt
◎スクリプトファイル(ファイル名 円累進寸法.rb)
require 'vr/vruby'
require 'vr/vrcontrol'
module Frm_form1
def _form1_init
$_form1_fonts=[
@screen.factory.newfont('MS ゴシック',-16,0,4,0,0,0,49,128)
]
self.caption = '属性設定'
self.move(326,197,327,357)
addControl(VRStatic,'static2',"作図線色",88,56,120,24,1342177282)
@static2.setFont($_form1_fonts[0])
addControl(VRStatic,'static4',"矢印の長さ(図寸)",16,120,184,24,1342177282)
@static4.setFont($_form1_fonts[0])
addControl(VRStatic,'static5',"文字と線の離れ(図寸)",16,152,192,24,1342177282)
@static5.setFont($_form1_fonts[0])
addControl(VRStatic,'static7',"小数点以下有効桁数",16,216,192,24,1342177282)
@static7.setFont($_form1_fonts[0])
addControl(VREdit,'edit6',"",224,184,64,24,1342177408)
@edit6.setFont($_form1_fonts[0])
addControl(VRStatic,'static6',"書込文字種",16,184,192,24,1342177282)
@static6.setFont($_form1_fonts[0])
addControl(VREdit,'edit5',"",224,152,64,24,1342177408)
@edit5.setFont($_form1_fonts[0])
addControl(VRStatic,'static3',"引出線の突出寸法(図寸)",16,88,192,24,1342177282)
@static3.setFont($_form1_fonts[0])
addControl(VRButton,'button1',"設定完了",32,272,264,32,1342177280)
@button1.setFont($_form1_fonts[0])
addControl(VREdit,'edit1',"",224,24,64,24,1342177408)
@edit1.setFont($_form1_fonts[0])
addControl(VREdit,'edit7',"",224,216,64,24,1342177408)
@edit7.setFont($_form1_fonts[0])
addControl(VRStatic,'static1',"作図レイヤ",80,24,128,24,1342177282)
@static1.setFont($_form1_fonts[0])
addControl(VREdit,'edit2',"",224,56,64,24,1342177408)
@edit2.setFont($_form1_fonts[0])
addControl(VREdit,'edit4',"",224,120,64,24,1342177408)
@edit4.setFont($_form1_fonts[0])
addControl(VREdit,'edit3',"",224,88,64,24,1342177408)
@edit3.setFont($_form1_fonts[0])
date=[]
$edit=[@edit1,@edit2,@edit3,@edit4,@edit5,@edit6,@edit7]
open("属性設定.txt","r"){|f|
while line=f.gets
date< end}
0.upto(date.size-1){|i|$edit[i].text=date[i]}
end
def construct
_form1_init
end
def button1_clicked
$edit=[@edit1,@edit2,@edit3,@edit4,@edit5,@edit6,@edit7]
$moji="cn"+@edit6.text
$ly="ly"+@edit1.text
$lc="lc"+@edit2.text
$tuki=@edit3.text.to_f
$nagasa=@edit4.text.to_f
$hanare=@edit5.text.to_f
$keta=@edit7.text
open("属性設定.txt","w"){|f|
$edit.each{|item|f.puts item.text}
}
close
end
end
VRLocalScreen.start Frm_form1
def ika(x)
keta=$keta.to_i
a=((x.to_f)*10**keta).to_i/(10**keta).to_f
if a.to_s=~/\.0/;a.to_i;end;return a
end
def sen(x1,y1,x2,y2)
printf("%f %f %f %f\n",x1,y1,x2,y2)
end
include Math
puts $ly;puts $lc;puts "lt1";puts "cc3";puts $moji
hp=[];by=[]
while ARGF.gets
xy =split
if xy[0] =~ /^hs/
xy[1..-1].each{|item|by< end
if xy[0] =~ /^lg/
lg=xy[0][2,1]
zusun=by[lg.hex]
end
if xy[0] =~ /^hp/
hp<<[xy[1].to_f,xy[2].to_f]
end
if xy[0] =~ /^ci/
x=xy[1].to_f
y=xy[2].to_f
r=xy[3].to_f
sikaku=xy[4].to_f
syukaku=xy[5].to_f
r2=sqrt((hp[1][0]-x)**2+(hp[1][1]-y)**2)
enkotyo=0
2.upto(hp.size-2){|i|
x1=hp[i][0]-x
y1=hp[i][1]-y
x2=hp[i+1][0]-x
y2=hp[i+1][1]-y
kakudo1=atan2(y1,x1)
kakudo2=atan2(y2,x2)
if kakudo1 > kakudo2 && kakudo2<0
kakudo2+=2*PI
end
if kakudo1 > kakudo2 && kakudo1<0
kakudo1+=2*PI
end
printf("ci %f %f %f %f %f %f %f\n",
x,y,r2,kakudo1*360/(2*PI),kakudo2*360/(2*PI),1,0)
ya_x=x+r2*cos(kakudo2)
ya_y=y+r2*sin(kakudo2)
ya_x1=ya_x+$nagasa*zusun*cos(kakudo2-75*(2*PI)/360)
ya_y1=ya_y+$nagasa*zusun*sin(kakudo2-75*(2*PI)/360)
ya_x2=ya_x+$nagasa*zusun*cos(kakudo2-105*(2*PI)/360)
ya_y2=ya_y+$nagasa*zusun*sin(kakudo2-105*(2*PI)/360)
sen(ya_x,ya_y,ya_x1,ya_y1)
sen(ya_x,ya_y,ya_x2,ya_y2)
sen(x+(r+$tuki*zusun)*cos(kakudo2),
y+(r+$tuki*zusun)*sin(kakudo2),
x+(r2+$tuki*zusun)*cos(kakudo2),
y+(r2+$tuki*zusun)*sin(kakudo2))
enko=r*(kakudo2).abs-r*(kakudo1).abs
enko=r*(kakudo2-kakudo1)
enkotyo+=enko
printf("ch %f %f %f %f\"%s\n",
x+(r2+($tuki+$hanare)*zusun)*cos(kakudo2),
y+(r2+($tuki+$hanare)*zusun)*sin(kakudo2),
cos(kakudo2),sin(kakudo2),
ika(enkotyo))
}
end
end
Indexへ
(2652)← 【2723】//(2631) ------------------------ 【タイトル】遅くなりました
【記事番号】 2723 (2615 )
【 日時 】05/06/27 20:06
【 発言者 】晃 ppm12@vesta.ocn.ne.jp
paradiso2 さん、コジマさん
情報ありがとう御座いました。
今日は朝から現場で連絡遅れて済みませんでした。
paradiso2 さんのはなんとなくで申し訳ないですが解りました。
コジマさんのは外部変形の円弧のソフトを探しきれませんでした
ごめんなさい。
近いうちに経過を報告します。
ごめんなさい。
明日も現場で申し訳ないです・・・