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 さんのはなんとなくで申し訳ないですが解りました。

コジマさんのは外部変形の円弧のソフトを探しきれませんでした
ごめんなさい。
近いうちに経過を報告します。
ごめんなさい。

明日も現場で申し訳ないです・・・