InvoluteGearsDoc.txt
http://forum.openscad.org/file/n13121/InvoluteGearsDoc.txt
--
View this message in context: http://forum.openscad.org/Tentative-basic-documentation-for-gear-tp13121.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
Thanks for writing this documentation, it was educational for me.
One comment so far:
Standard practice is circular_pitch = pi / diametral_pitch (See
the next parameter).
But for murky historical reasons, the gear() code defines
circular_pitch = 180 / diametral_pitch.
Note that pi radians == 180 degrees, and that OpenSCAD uses degrees,
instead of radians, in its trigonometric functions.
I think this documentation should be placed in involute_gears.scad itself.
The source code on github is
https://github.com/openscad/MCAD/blob/master/involute_gears.scad
On 12 July 2015 at 07:22, TimM TimothyMasters@compuserve.com wrote:
InvoluteGearsDoc.txt
http://forum.openscad.org/file/n13121/InvoluteGearsDoc.txt
--
View this message in context:
http://forum.openscad.org/Tentative-basic-documentation-for-gear-tp13121.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
great doc. I wonder if it could be put in a libre office document, with
pictures to show what the various parts are; visuals are so much more
effective.
thanks.
jerry
Jerry
--
Extra Ham Operator: K7AZJ
Registered Linux User: 275424
Raspberry Pi and Arduino developer
The most exciting phrase to hear in science - the one that heralds new
discoveries - is not "Eureka!" but "That's funny...".- Isaac. Asimov
I
*f you give someone a program, you will frustrate them for a day; if you
teach them how to program, you will frustrate them for a lifetime. *-
Anonymous
If writing good code requires very little comments, then writing really
excellent code requires no comments at all!- Ken Thompson
On Sun, Jul 12, 2015 at 7:54 AM, doug moen doug@moens.org wrote:
Thanks for writing this documentation, it was educational for me.
One comment so far:
Standard practice is circular_pitch = pi / diametral_pitch (See the next parameter).
But for murky historical reasons, the gear() code defines circular_pitch = 180 / diametral_pitch.
Note that pi radians == 180 degrees, and that OpenSCAD uses degrees,
instead of radians, in its trigonometric functions.
I think this documentation should be placed in involute_gears.scad itself.
The source code on github is
https://github.com/openscad/MCAD/blob/master/involute_gears.scad
On 12 July 2015 at 07:22, TimM TimothyMasters@compuserve.com wrote:
InvoluteGearsDoc.txt
http://forum.openscad.org/file/n13121/InvoluteGearsDoc.txt
--
View this message in context:
http://forum.openscad.org/Tentative-basic-documentation-for-gear-tp13121.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
I'd like to ask if it could be added to the MCAD page on the Wiki.
This page is really in need of some love and it looks like the
gear scripts are likely the most used part of MCAD.
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/MCAD
Or, maybe even better as Doug suggested it could be added to the
script itself.
Loong Jin, what do you think?
ciao,
Torsten.
Lets first put it on the wiki, so we all can make miner correction easily,
and expand it a little.
2015-07-12 15:16 GMT+02:00 Torsten Paul Torsten.Paul@gmx.de:
I'd like to ask if it could be added to the MCAD page on the Wiki.
This page is really in need of some love and it looks like the
gear scripts are likely the most used part of MCAD.
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/MCAD
Or, maybe even better as Doug suggested it could be added to the
script itself.
Loong Jin, what do you think?
ciao,
Torsten.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
--
stempeldergeschichte@googlemail.com karsten@rohrbach.de
P.S. Falls meine E-Mail kürzer ausfällt als Dir angenehm ist:
Ich probiere gerade aus kurze Antworten statt gar keine Antworten zu
schreiben.
Wenn Du gerne mehr lesen möchtest, dann lass es mich bitte wissen.
P.S. In case my e-mail is shorter than you enjoy:
I am currently trying short replies instead of no replies at all.
Please let me know, if you like to read more.
Enjoy!
On Sun, Jul 12, 2015 at 03:16:22PM +0200, Torsten Paul wrote:
I'd like to ask if it could be added to the MCAD page on the Wiki.
This page is really in need of some love and it looks like the
gear scripts are likely the most used part of MCAD.
https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/MCAD
Or, maybe even better as Doug suggested it could be added to the
script itself.
Loong Jin, what do you think?
Hmm, a couple of the descriptions are a bit off, and I'm hoping to eventually
get Doxygen documentation on the entire library, but first comes tidying up the
messy interfaces.
Like some have noticed, circular_pitch in the gear module uses broken units
(something to do with radians that I don't quite understand, but have worked out
a formula to convert circular pitch from length units to whatever gear()
requires. I've provided a function for this called convertcp(). You use it like
this for a 2D gear with a circular pitch (distance along the pitch circle's
perimeter between teeth) of 5 and 10 teeth:
gear (number_of_teeth = 10, circular_pitch = convertcp (5), flat = true);
I'd like to change this so that it no longer needs convertcp() which I see as a
kludge, but this requires breaking the MCAD API and, as a result, older designs
using this library.
As such, there is an ongoing effort to unify the naming conventions of all MCAD
modules and functions into mcad_foo_bar_baz() format (we currently have
lowerCamelCase, UpperCamelCase and bare_underscores all in the same tree and
it's quite a clusterfuck), while providing compat shims with the API of the
current master branch so that older designs will work. The doxygen comments will
also be added along the way.
--
Kind regards,
Loong Jin
Good references on what these gear calcs mean and a good ref for them on this page(at bottom):
On 7/14/2015 6:23 PM, Chow Loong Jin wrote:
<pre wrap="">On Sun, Jul 12, 2015 at 03:16:22PM +0200, Torsten Paul wrote:<pre wrap="">I'd like to ask if it could be added to the MCAD page on the Wiki. This page is really in need of some love and it looks like the gear scripts are likely the most used part of MCAD. <a class="moz-txt-link-freetext" href="https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/MCAD">https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/MCAD</a> Or, maybe even better as Doug suggested it could be added to the script itself. Loong Jin, what do you think?<pre wrap=""> Hmm, a couple of the descriptions are a bit off, and I'm hoping to eventually get Doxygen documentation on the entire library, but first comes tidying up the messy interfaces. Like some have noticed, circular_pitch in the gear module uses broken units (something to do with radians that I don't quite understand, but have worked out a formula to convert circular pitch from length units to whatever gear() requires. I've provided a function for this called convertcp(). You use it like this for a 2D gear with a circular pitch (distance along the pitch circle's perimeter between teeth) of 5 and 10 teeth: gear (number_of_teeth = 10, circular_pitch = convertcp (5), flat = true); I'd like to change this so that it no longer needs convertcp() which I see as a kludge, but this requires breaking the MCAD API and, as a result, older designs using this library. As such, there is an ongoing effort to unify the naming conventions of all MCAD modules and functions into mcad_foo_bar_baz() format (we currently have lowerCamelCase, UpperCamelCase and bare_underscores all in the same tree and it's quite a clusterfuck), while providing compat shims with the API of the current master branch so that older designs will work. The doxygen comments will also be added along the way.<pre wrap="">_______________________________________________ OpenSCAD mailing list <a class="moz-txt-link-abbreviated" href="mailto:Discuss@lists.openscad.org">Discuss@lists.openscad.org</a> <a class="moz-txt-link-freetext" href="http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org">http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org</a><pre wrap="">----- No virus found in this message. Checked by AVG - <a class="moz-txt-link-abbreviated" href="http://www.avg.com">www.avg.com</a> Version: 2015.0.6081 / Virus Database: 4392/10223 - Release Date: 07/13/15
On Tue, Jul 14, 2015 at 07:37:21PM +1200, Mark Schafer wrote:
Good references on what these gear calcs mean and a good ref for them on this
page(at bottom):
- https://github.com/jnweiger/inkscape-gears-dev
- http://www.gizmology.net/gears.htm
- http://www.micro-machine-shop.com/gear_theory.pdf
along with a python module that performs same - if you want to check
anything....
Yeah, I looked through all of that while dissecting the gear module, and
everywhere I looked, circular pitch is defined as distance between the same spot
of adjacent teeth along the circumference of the pitch circle.
Distance should be measured in mm or inches (let's just designate this as
$length_unit for the time being), but for whatever reason, the original gear()
module used circular pitch values measured in units of
"(PI / 180) $length_unit".
In order to preserve backward compatibility with old designs that use this
module, we have to accept values specified in terms of that odd unit.
--
Kind regards,
Loong Jin
a couple of the descriptions are a bit off <<
I'm not surprised, as I'm not an expert, although I did research these
things a lot. So that I can update my own documentation, as well as for the
sake of others, can you say which descriptions are off, and how? Thanks!
I have worked out a formula to convert circular pitch from length units
to whatever gear()requires. I've provided a function for this called
convertcp(). <<
You don't need a function. Just multiply the circular pitch you want by
57.29578, which is 180/pi.
TimM
--
View this message in context: http://forum.openscad.org/Tentative-basic-documentation-for-gear-tp13121p13148.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
I have worked out a formula to convert circular pitch from length units
to whatever gear()requires. I've provided a function for this called
convertcp(). <<
You don't need a function. Just multiply the circular pitch you want by
57.29578, which is 180/pi.
You can also use the deg(x) function from <MCAD/math.scad>, which performs
a radians to degrees conversion.
It's the same function.
OpenSCAD is different from every other programming language I know, in that
the trig functions take arguments measured in degrees instead of radians.
If you are porting software from another language into OpenSCAD, you should
take this into account. I suspect that gear() was ported from another
language, but without converting radians to degrees in the calls to sin(),
cos() etc.
On 14 July 2015 at 13:44, TimM TimothyMasters@compuserve.com wrote:
a couple of the descriptions are a bit off <<
I'm not surprised, as I'm not an expert, although I did research these
things a lot. So that I can update my own documentation, as well as for
the
sake of others, can you say which descriptions are off, and how? Thanks!
I have worked out a formula to convert circular pitch from length units
to whatever gear()requires. I've provided a function for this called
convertcp(). <<
You don't need a function. Just multiply the circular pitch you want by
57.29578, which is 180/pi.
TimM
--
View this message in context:
http://forum.openscad.org/Tentative-basic-documentation-for-gear-tp13121p13148.html
Sent from the OpenSCAD mailing list archive at Nabble.com.
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org