









 
 




 
 


How would you go about designing a involute gear tooth? Is it possible using
CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
Superquadric Ellipsoid would be good, as I'm concerned that it won't be
accurate. However I'm intrigued by the isosurface, given that I could somehow
feed it the function for an involute surface, say an extrusion of a 2D line
based on the base circle diametre.
Hoping for some constructive feedback. :)
Post a reply to this message


 
 




 
 


"KEBman" <nomail@nomail> wrote:
> How would you go about designing a involute gear tooth? Is it possible using
> CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
> Superquadric Ellipsoid would be good, as I'm concerned that it won't be
> accurate. However I'm intrigued by the isosurface, given that I could somehow
> feed it the function for an involute surface, say an extrusion of a 2D line
> based on the base circle diametre.
>
> Hoping for some constructive feedback. :)
I've "drawn" involute gears with POVRay using the ole' sphereandcylinder
sweep method. I suppose if you made an array of points for the gear, you could
do a prism object, or just use what I already have with upright cylinders
instead of spheres and boxes instead of cylinders...
My SDL also writes out an SVG file, so you have that too.
(not sure if that part works correctly...)
I'll post my code over in the scenefiles section.
Depending upon time & energy, I'm sure I could puzzle out a much more efficient
way of doing it  so be advised that the code isn't efficient or pretty.
Having a robust involute gear macro would be a delightful thing, and it's
definitely on my todo list.
Post a reply to this message


 
 




 
 


OK, I posted code over at
http://news.povray.org/povray.text.scenefiles/thread/%3Cweb.5abad9041b37ed635cafe28e0%40news.povray.org%3E/
You may also be interested in:
http://news.povray.org/povray.general/thread/%3Cweb.5936b8342f8a2783c437ac910%40news.povray.org%3E/
and
http://news.povray.org/povray.binaries.images/thread/%3Cweb.593939a97ee89277c437ac910%40news.povray.org%3E/?ttop=419432
&toff=50&mtop=416421
Ideally, it would be nice to be able to specify a gear of a certain module, the
number of teeth, and the axle radius to get a gear,
or / and
"Scan" a given gear and build a POVRay object from that.
Post a reply to this message


 
 




 
 


On 27/03/2018 23:33, KEBman wrote:
> How would you go about designing a involute gear tooth? Is it possible using
> CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
> Superquadric Ellipsoid would be good, as I'm concerned that it won't be
> accurate. However I'm intrigued by the isosurface, given that I could somehow
> feed it the function for an involute surface, say an extrusion of a 2D line
> based on the base circle diametre.
>
> Hoping for some constructive feedback. :)
>
>
Have a look at this post
http://news.povray.org/povray.binaries.utilities/message/%3C37972354.30518106%40news.povray.org%3E/
It might give you an idea.

Regards
Stephen
Post a reply to this message


 
 




 
 


Le 180327 Ã 18:33, KEBman a Ã©critÂ :
> How would you go about designing a involute gear tooth? Is it possible using
> CSG? Or perhaps is it better to use SOR or even lathe? I'm not convinced a
> Superquadric Ellipsoid would be good, as I'm concerned that it won't be
> accurate. However I'm intrigued by the isosurface, given that I could somehow
> feed it the function for an involute surface, say an extrusion of a 2D line
> based on the base circle diametre.
>
> Hoping for some constructive feedback. :)
>
>
The lathe object is not suitable for that purpose.
The sor object allow more freedom in the shape. It can make toruslike
shapes.
BOTH can't have wavy surfaces along a given circumference. They are
shapes that are rotated smoothly around an axis.
So, while the sor can be used to make the body of your gear, it just
can't model the teeth of the gear.
You are correct about the isosurface : IF you can come out with some
function for your gear, it will make the ideal gear. It problem is
devising that function.
Post a reply to this message


 
 




 
 


Thanks for your help, guys!
Alain <kua### [at] videotronca> wrote:
> You are correct about the isosurface : IF you can come out with some
> function for your gear, it will make the ideal gear. It problem is
> devising that function.
I'm no math expert, but here are two similar equations for making the involute
of a circle.
x(u) = d_b(cos u + u sin u)
x(u) = d_b(cos u  u sin u)
Where d = diameter (d) of the base circle (_b), and I assume u is
some unit of measurement.
Source: Tutorial: How to Model Geometrically Correct (Involute) Gears in Blender
https://youtu.be/DqBOva04lcE
X(t) = r(cos t + (t  a) sin t)
Y(t) = r(cos t  (t  a) sin t)
Where r = radius and t = time, and a some constant where 0 represents the
"azimuth" of the circle.
Source: https://en.wikipedia.org/wiki/Involute#Examples
I tried this, but it didn't work:
isosurface {
function { r*(cos(t)+(ta)*sin(t)) } // does not work...
max_gradient 4
contained_by { box { 2, 2 } }
pigment {
color rgb <1, 0, 0>
}
rotate y*20
}
However this function {1*(cos(tid)+(tid0)*sin(tid))} does yield a box when
'tid' is #declare tid = 3; 3, 4, 5, or above 9, which just seems odd to me...
These numbers for tid yielded nothing: 2,1,0,1,2,7,8,9, though the renderer
seems to hit some kind of treshold at 9.317, gradually slowing down as decimal
places are added. So again, I'm not really that good with mathematics... Still
an isosurface for this would be ideal.
Any help would be much appreciated!
Post a reply to this message


 
 




 
 


So, here's the deal  the equations you're suggesting are AFAIK, going to be
_parametric_. x, y, and z are going to depend on some independent variable, in
your case, t.
So the easiest way to implement this is with a parametric {} object.
It's also ridiculously slow unless you employ some tricks.
Parametrics use the variables u and v. I used u for the curve, and v for the
height.
An isosurface would require you to figure out what the implicit equation is for
the curve  one equation that uses x, y, and z.
Not sure what your idea is with this  I could speculate, but I'd say there are
probably better ways.
#version 3.7;
// Bill Walker "Bald Eagle" March 2018
global_settings {assumed_gamma 1.0}
#include "colors.inc"
camera {
location <0, 10, 20>
right x*image_width/image_height
look_at <0, 0, 0>}
light_source { <0, 15, 50> color rgb <1, 1, 1>}
plane {y, 0 pigment {Gray10}}
#declare a = 0.5; //(1+sqrt(5))/2;
#declare r = 0.25;
parametric {
function {r * (cos (u) + (u  a) * sin (u))}
function { v }
function {r * (sin (u)  (u  a) * cos (u))}
<0, 1>, <10*tau, 1> // start, end of (u,v)
contained_by {box {<1, 1, 1>*10, <1, 1, 1>*10} }
max_gradient 20
accuracy 0.01
precompute 20 x,y,z
texture {pigment {color rgb <1,1,1>}
finish {specular 0.4 phong 0.5}}
scale 1
rotate <0, 0, 0>
}
Post a reply to this message


 
 




 
 


I'd also highly recommend reading
http://www.econym.demon.co.uk/isotut/index.htm
I always learn a lot from Mike, and he's got a lot of great tricks.
Post a reply to this message


 
 




 
 


On 29/03/2018 22:50, KEBman wrote:
> Thanks for your help, guys!
>
> Alain <kua### [at] videotronca> wrote:
>> You are correct about the isosurface : IF you can come out with some
>> function for your gear, it will make the ideal gear. It problem is
>> devising that function.
>
> I'm no math expert, but here are two similar equations for making the involute
> of a circle.
>
> x(u) = d_b(cos u + u sin u)
> x(u) = d_b(cos u  u sin u)
> Where d = diameter (d) of the base circle (_b), and I assume u is
> some unit of measurement.
> Source: Tutorial: How to Model Geometrically Correct (Involute) Gears in Blender
> https://youtu.be/DqBOva04lcE
>
Thanks for posting the link, I had lost it.
I think that this one might work. I also think Bald Eagle is on the
right track with the parametric object. I suspect that you might have
to build it in sections and duplicate and rotate the sections. The way
it was done in the tutorial.

Regards
Stephen
Post a reply to this message


 
 




 

