Jw_cad 相談室−その2 New

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

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

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


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

Re:外部変形
 土木や E-MAIL  - 20/10/1(木) 18:23 -
▼kojimaさん:
>▼土木やさん:
>>お世話になります 
>>手摺の笠木(手で握るところ)と切欠いた支柱を溶接接合しようと思って
>>います
>>支柱の切り欠き展開図の書き方をどなたかお教え願いませんか
>>
>>材質はステンレスです
>>笠木 Φ38 t1.5
>>支柱 Φ32 t1.5
>>笠木の 30℃
>>支柱は垂直です
>>
>>よろしくお願いします
>
>バッチファイルにrubyスクリプトを記述した外部変形。
>Rubyのインストールが必要です。以下を参照してください。
>https://www.javadrive.jp/ruby/install/index1.html
>
>
>@REM 主円筒にY接続する円筒の展開図
>@echo off
>REM #jww
>REM #cd
>REM #c主円筒の直径 無指定:38/_/a
>REM #c円筒の長さ 無指定:1000.0/_/b
>REM #c穴の直径 無指定:32/_/c
>REM #c円の分割角度 無指定:10/_/d
>REM #c円筒の接続角度 無指定:60/_/e
>REM #0
>REM #e
>copy jwc_temp.txt temp.txt > nul
>ruby -x %~f0 temp.txt %1 %2 %3 %4 %5 > jwc_temp.txt
>goto end
>
>#!ruby -Ks
>include Math
>def sen_sen_kouten2(sen1,sen2)
> sen1x=sen1[2]-sen1[0]
> sen1y=sen1[3]-sen1[1]
> sen1xy=sqrt(sen1x**2+sen1y**2)
> sen1_arg=atan2(sen1y,sen1x)
> x1_1=sen1[0]
> x1_2=sen1[0]+sen1xy
> y1_1=sen1[1]
> y1_2=sen1[1]
>
> x=sen2[0]-sen1[0]
> y=sen2[1]-sen1[1]
> xy=sqrt(x**2+y**2)
> arg=atan2(y,x)
> henkaku=arg-sen1_arg
> x2_1=sen1[0]+xy*cos(henkaku)
> y2_1=sen1[1]+xy*sin(henkaku)
>
> x=sen2[2]-sen1[0]
> y=sen2[3]-sen1[1]
> xy=sqrt(x**2+y**2)
> arg=atan2(y,x)
> henkaku=arg-sen1_arg
> x2_2=sen1[0]+xy*cos(henkaku)
> y2_2=sen1[1]+xy*sin(henkaku)
>
> x=x2_2-x2_1
> y=y2_2-y2_1
> delta=y/x
> y=y1_1-y2_1
> dx=y/delta
> kouten_x=x2_1+dx
> kouten_y=y1_1
>
> x=kouten_x-x1_1
>
> kouten_xt=x1_1+x*cos(sen1_arg)
> kouten_yt=y1_1+x*sin(sen1_arg)
>
> if kouten_xt && kouten_yt
> return [kouten_xt,kouten_yt]
> else
> nil
> end
>end
>
>d1=38.0;d2=32.0;l2=1000.0;bunkaku=10.0;l1=1000.0;kakudo=60.0
>while ARGV.size>1
> case argument=ARGV.pop
> when /\/a/
> d1=argument[2..-1].to_f
> when /\/b/
> l2=argument[2..-1].to_f
> when /\/c/
> d2=argument[2..-1].to_f
> when /\/d/
> bunkaku=argument[2..-1].to_f
> when /\/e/
> kakudo=argument[2..-1].to_f
> end
>end
>
>r1=d1/2;r2=d2/2
>n=(360/bunkaku).to_i
>bun_arg=bunkaku*2*PI/360
>kakudo_arg=kakudo*2*PI/360
>kakudo_arg2=kakudo_arg+PI/2
>
>x1,y1=l1,-r1
>x2,y2=l2*cos(kakudo_arg),l2*sin(kakudo_arg)
>a2=r2/sin(kakudo_arg)
>sen3=[a2,0,a2+r2*cos(kakudo_arg2),r2*sin(kakudo_arg2)]
>arg=0
>zahyo=[]
>(n+1).times{
> arg_x2=x2+r2*cos(arg+kakudo_arg-PI/2)
> arg_y2=y2+r2*sin(arg+kakudo_arg-PI/2)
> sen2=[arg_x2,arg_y2,arg_x2+r2*cos(kakudo_arg),arg_y2+r2*sin(kakudo_arg)]
>
> arg_l=r2*sin(arg)
> arg_y=sqrt(r1**2-arg_l**2)
>
> arg1=atan2(arg_y,arg_l)
> arg_x1=x1+r1*cos(arg1)
> arg_y1=y1+r1*sin(arg1)
> sen1=[arg_x1,arg_y1,arg_x1+r1,arg_y1]
>
> kouten_x1,kouten_y1=sen_sen_kouten2(sen1,sen2)
> kouten_x2,kouten_y2=sen_sen_kouten2(sen3,sen2)
>
> y=hypot(kouten_y2-kouten_y1,kouten_x2-kouten_x1)
> r2_l=r2*arg
> zahyo<<[r2_l,-y]
>
> arg += bun_arg
>}
>puts "pl"
>zahyo.each{|a,b|puts("#{a} #{b}")}
>puts "#"
>printf("%.11f %.11f %.11f %.11f\n",0,l2,r2*2*PI,l2)
>printf("%.11f %.11f %.11f %.11f\n",0,l2,zahyo[0][0],zahyo[0][1])
>printf("%.11f %.11f %.11f %.11f\n",r2*2*PI,l2,zahyo[-1][0],zahyo[-1][1])
>
>open("座標.txt","w"){|f|
> f.printf("%4s%10s%10s\n","点名","X座標","Y座標")
> point=1
> zahyo.each{|a,b|
> puts("pt #{a} #{b}")
> f.printf("%4d %10.3f %10.3f\n",point,a,b)
> point += 1
> }
>}
>system("notepad 座標.txt")
>__END__
>:end
皆さんありがとうございます
僕が図面にこだわったのは、展開図を支柱に写し取りサンダーで
きれいに削れば、ティグ溶接がきれいに仕上がるかと思いました
早速のアドバイスありがとうございました。参考に致したいと思います。

引用なし

パスワード


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

展開図 土木や 20/9/28(月) 8:44
Re:展開図 KEN-E 20/9/28(月) 18:32
外部変形 kojima 20/9/29(火) 17:59
外部変形2 kojima 20/10/1(木) 16:37
Re:外部変形 土木や 20/10/1(木) 18:23
Re:展開図 やま 20/9/30(水) 10:17

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

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