一括表示

  渦巻き 投稿者:見習い  
渦巻き (画像サイズ: 1160×861 155kB)

円のコマンドorスクリプトで欲しい機能があります。
画像を添付してますので、検討頂けると幸いです。

中心位置指定で最小径、最大径、180度円開始角度、ピッチ指定で自動作図して欲しいです。

180度円の場合だと0から180度の円の中心と
180度から360度の円の中心は指定中心位置から対象になります。

円の仕上げ加工に使いたいのですが、独自機能になるようなので
渦巻きの作図機能があれば、径補正付きの開いた形状でアプローチ用のデータを作りたいと考えております。

2015/02/02(Mon) 18:49:38  [No.4816]


  Re: 渦巻き 投稿者:管理人  

> 円のコマンドorスクリプトで欲しい機能があります。
> 画像を添付してますので、検討頂けると幸いです。

どれ位のパターンが有るのか存じませんが、数パターンをシンボル化しておき、シンボル分解により加工するのはいかがでしょうか?
この場合スクリプトで作るならオーダー(有償)になります。

2015/02/03(Tue) 09:45:04  [No.4817]


  Re: 渦巻き 投稿者:見習い  

> どれ位のパターンが有るのか存じませんが、数パターンをシンボル化しておき、シンボル分解により加工するのはいかがでしょうか?
> この場合スクリプトで作るならオーダー(有償)になります。

シンボル化できるか検討します。
ご回答ありがとうございます。

2015/02/03(Tue) 10:49:39  [No.4818]


  Re: 渦巻き 投稿者:見習い  

REM #c回転方向 左廻り:1 右廻り:無指定 /_/a
REM #c最内側の半径を入力:r(mm) /_/b
REM #c追加する半径との数値差を入力:dr1(mm) /_/c
REM #c数値差を順次増加させる値を入力:dr2(mm) /_/d
REM #c渦巻き数を入力 /_/e
REM #1基準点を指示

BEGIN{
$x1=Array.new
$x2=Array.new
$kaiten=0
$r=50
$dr1=1
$dr2=0
$n=10

while ARGV.length > 1
case argument=ARGV.pop
when/^\/a/
$kaiten=argument[2..-1].to_i
when/^\/b/
$r=argument[2..-1].to_f
when/^\/c/
$dr1=argument[2..-1].to_f
when/^\/d/
$dr2=argument[2..-1].to_f
when/^\/e/
$n=argument[2..-1].to_i
end
end }

while ARGF.gets
xy =split

if xy[0]=="hp1"
ax=xy[1].to_f
ay=xy[2].to_f
end
end

printf("ci %e %e %e %e %e %e %e\n",ax,ay,$r,180,360,1,0)
$x1.push(ax-$r)
$x2.push(ax+$r)
n=0
r=$r+$dr1+$dr2/4
($n-1).times{
if $kaiten==1
zure=(1+n)*$dr2/4
else
zure=(-1-n)*$dr2/4
end
printf("ci %e %e %e %e %e %e %e\n",ax+zure,ay,r,180,360,1,0)
$x1.push(ax+zure-r)
$x2.push(ax+zure+r)
n+=1
r+=$dr1+$dr2/4+$dr2*n }
#times 実行文の末尾

if $kaiten==1
n=$x1.size-1
m=$x1.size-2
else
n=$x1.size-2
m=$x1.size-1
end

($n-1).times{
x=$x1[n]+($x2[m]-$x1[n])/2
r=($x2[m]-$x1[n])/2
printf("ci %e %e %e %e %e %e %e\n",x,ay,r,0,180,1,0)
n-=1
m-=1 }



上記rubyらしいですが
私のやりたい渦巻き円弧と似たような事が出来る書式があったので
勉強がてら試したいと思います。

鍋CADスクリプトと似たような書式なので混乱しそうですが。

修正点は
1、上側円弧の中心が指定位置にいるので、r1の数値の半分ずらす。
2、回数を半径に変更する
3、今の所r2は0以外使用しないので削除(ピッチ一定で増大させない)
4、加工精度を上げる為に、180度分割を90度分割or45度分割
5、内側から外側の逆も出来るようにする

修正点の内容が多いですが、課題とします。

2015/02/22(Sun) 18:32:44  [No.4893]