Jw_cad 相談室−その2 New

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

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

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


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

展開図 土木や 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

展開図
 土木や E-MAIL  - 20/9/28(月) 8:44 -
お世話になります 
手摺の笠木(手で握るところ)と切欠いた支柱を溶接接合しようと思って
います
支柱の切り欠き展開図の書き方をどなたかお教え願いませんか

材質はステンレスです
笠木 Φ38 t1.5
支柱 Φ32 t1.5
笠木の 30℃
支柱は垂直です

よろしくお願いします

引用なし

パスワード


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

Re:展開図
 KEN-E  - 20/9/28(月) 18:32 -
▼土木やさん:
>お世話になります 
>手摺の笠木(手で握るところ)と切欠いた支柱を溶接接合しようと思って
>います
>支柱の切り欠き展開図の書き方をどなたかお教え願いませんか
>
>材質はステンレスです
>笠木 Φ38 t1.5
>支柱 Φ32 t1.5
>笠木の 30℃
>支柱は垂直です
>
>よろしくお願いします


「手摺 CAD」「手摺詳細 CAD」等で
ネット検索すると複数メーカーがヒットしますので
イメージに近い物のデーターをダウンロードして
多少アレンジされれば良いのでは?

引用なし

パスワード


<Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko@p347171-ipngn200302sasajima.aichi.ocn.ne.jp>
・ツリー全体表示

外部変形
 kojima  - 20/9/29(火) 17:59 -
▼土木やさん:
>お世話になります 
>手摺の笠木(手で握るところ)と切欠いた支柱を溶接接合しようと思って
>います
>支柱の切り欠き展開図の書き方をどなたかお教え願いませんか
>
>材質はステンレスです
>笠木 Φ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; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36 Edg...@ai126250106010.11.tss.access-internet.ne.jp>
・ツリー全体表示

Re:展開図
 やま E-MAIL  - 20/9/30(水) 10:17 -
▼土木やさん:
>お世話になります 
>手摺の笠木(手で握るところ)と切欠いた支柱を溶接接合しようと思って
>います
>支柱の切り欠き展開図の書き方をどなたかお教え願いませんか

パイプの接合部の加工は
実際には通し材の笠木φ38に端部を加工した支柱φ32を溶接します。

φ32パイプを「パイプえぐり加工機」(正式名は不明)にセットして
端部を切り欠きします。

で、何が言いたいのかと言えば、展開図はいらない。
姿図(横から見た図)のラインも適当でかまわない。

ちゃんと作図すると結構面倒な作業になります。

私は、接楕円(平行四辺内接)で簡単に書きますが
文字にするとちょっと面倒なので省略。

引用なし

パスワード


<Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0@wmx2-pvt-110-134-255-123.kualnet.jp>
・ツリー全体表示

外部変形2
 kojima  - 20/10/1(木) 16:37 -
○手摺本体側の展開図作図用

前回のスクリプト共々、2008年に作っていたものです。
入力部分のデフォルト値のみ変更しました。


@REM 円筒がY接続された主円筒の展開図
@echo off
REM #jww
REM #cd
REM #c主円筒の直径 無指定:38.0/_/a
REM #c円筒の長さ 無指定:1000.0/_/b
REM #c穴の直径 無指定:32.0/_/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/
l1=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)
arg_y2=y2+r2*sin(arg+kakudo_arg)
sen2=[arg_x2,arg_y2,arg_x2+r2*cos(kakudo_arg),arg_y2+r2*sin(kakudo_arg)]
arg_l=r2*cos(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)
if arg1<PI/2
r1_l=r1*(PI/2-arg1)
else
r1_l=-r1*(arg1-PI/2)
end
zahyo<<[kouten_x1,r1_l]
arg += bun_arg
}
puts "pl"
zahyo.each{|a,b|puts("#{a} #{b}")}
puts "#"
printf("%.11f %.11f %.11f %.11f\n",l1/2,r1*PI,-l1/2,r1*PI)
printf("%.11f %.11f %.11f %.11f\n",l1/2,-r1*PI,-l1/2,-r1*PI)
printf("%.11f %.11f %.11f %.11f\n",l1/2,r1*PI,l1/2,-r1*PI)
printf("%.11f %.11f %.11f %.11f\n",-l1/2,r1*PI,-l1/2,-r1*PI)

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 6.3; WOW64; Trident/7.0; MALNJS; rv:11.0) like Gecko@ai126192047119.75.access-internet.ne.jp>
・ツリー全体表示

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 / 347 ツリー    ←次へ | 前へ→
  新規投稿 ┃ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索 ┃設定 ┃過去ログ ┃ホーム  
 783518
ページ:  ┃  記事番号:  

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