J
jon
Thu, May 30, 2019 6:41 PM
I have been asked to print a geared part off of a Sears Craftsman table
saw (Sears is unable to provide a replacement part for a three year old
saw!). The part is a plate with holes in it (simple), a curved slot
(relatively simple) and a curved set of gear teeth (not that simple, for
me).
I suppose I could start out by pretending that I have a full gear of the
required diameter (presuming that I am able to infer that) and teeth
(presuming that I am capable of measuring that) and then mask it with
the plate.
Any recommendations in terms of gear libraries (I recall there are quite
a few) and process (how to measure teeth, radius, etc).
I have been asked to print a geared part off of a Sears Craftsman table
saw (Sears is unable to provide a replacement part for a three year old
saw!). The part is a plate with holes in it (simple), a curved slot
(relatively simple) and a curved set of gear teeth (not that simple, for
me).
I suppose I could start out by pretending that I have a full gear of the
required diameter (presuming that I am able to infer that) and teeth
(presuming that I am capable of measuring that) and then mask it with
the plate.
Any recommendations in terms of gear libraries (I recall there are quite
a few) and process (how to measure teeth, radius, etc).
RS
Rob Sherwood
Fri, May 31, 2019 5:36 AM
The MCAD library that is part of OpenSCAD is not a bad place to start
(https://github.com/openscad/MCAD). I've found a few bugs (and
submitted a few patches :-) in it (specific issue about pitch diameter
being calculated incorrectly) but largely works for me (TM).
Hope that helps,
On Thu, May 30, 2019 at 9:42 PM jon jon@jonbondy.com wrote:
I have been asked to print a geared part off of a Sears Craftsman table
saw (Sears is unable to provide a replacement part for a three year old
saw!). The part is a plate with holes in it (simple), a curved slot
(relatively simple) and a curved set of gear teeth (not that simple, for
me).
I suppose I could start out by pretending that I have a full gear of the
required diameter (presuming that I am able to infer that) and teeth
(presuming that I am capable of measuring that) and then mask it with
the plate.
Any recommendations in terms of gear libraries (I recall there are quite
a few) and process (how to measure teeth, radius, etc).
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
The MCAD library that is part of OpenSCAD is not a bad place to start
(https://github.com/openscad/MCAD). I've found a few bugs (and
submitted a few patches :-) in it (specific issue about pitch diameter
being calculated incorrectly) but largely works for me (TM).
Hope that helps,
- Rob
.
On Thu, May 30, 2019 at 9:42 PM jon <jon@jonbondy.com> wrote:
>
> I have been asked to print a geared part off of a Sears Craftsman table
> saw (Sears is unable to provide a replacement part for a three year old
> saw!). The part is a plate with holes in it (simple), a curved slot
> (relatively simple) and a curved set of gear teeth (not that simple, for
> me).
>
> I suppose I could start out by pretending that I have a full gear of the
> required diameter (presuming that I am able to infer that) and teeth
> (presuming that I am capable of measuring that) and then mask it with
> the plate.
>
> Any recommendations in terms of gear libraries (I recall there are quite
> a few) and process (how to measure teeth, radius, etc).
>
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
J
jon
Fri, May 31, 2019 9:12 PM
Rob:
Thanks!
When I specify gear(800 teeth, 5 pitch, and 3.5 clearance), I get a gear
that is only about 20 mm in diameter. 800x5 implies a circumference of
about 4 meters. I must be misunderstanding the parameters
Jon
On 5/31/2019 1:36 AM, Rob Sherwood wrote:
The MCAD library that is part of OpenSCAD is not a bad place to start
(https://github.com/openscad/MCAD). I've found a few bugs (and
submitted a few patches :-) in it (specific issue about pitch diameter
being calculated incorrectly) but largely works for me (TM).
Hope that helps,
Rob:
Thanks!
When I specify gear(800 teeth, 5 pitch, and 3.5 clearance), I get a gear
that is only about 20 mm in diameter. 800x5 implies a circumference of
about 4 meters. I must be misunderstanding the parameters
Jon
On 5/31/2019 1:36 AM, Rob Sherwood wrote:
> The MCAD library that is part of OpenSCAD is not a bad place to start
> (https://github.com/openscad/MCAD). I've found a few bugs (and
> submitted a few patches :-) in it (specific issue about pitch diameter
> being calculated incorrectly) but largely works for me (TM).
>
> Hope that helps,
>
> - Rob
>
A
adrianv
Fri, May 31, 2019 10:29 PM
My impression of MCAD is that it's kind of embarrassing to have as the
"official" library. I haven't specifically examined the gears code---maybe
it's not so bad---but if you're having trouble you might try BOSL instead:
https://github.com/revarbat/BOSL/wiki/involute_gears.scad
Or google and see what you come up with. This library looks interesting,
for example:
https://www.thingiverse.com/thing:1604369
--
Sent from: http://forum.openscad.org/
My impression of MCAD is that it's kind of embarrassing to have as the
"official" library. I haven't specifically examined the gears code---maybe
it's not so bad---but if you're having trouble you might try BOSL instead:
https://github.com/revarbat/BOSL/wiki/involute_gears.scad
Or google and see what you come up with. This library looks interesting,
for example:
https://www.thingiverse.com/thing:1604369
--
Sent from: http://forum.openscad.org/
N
NateTG
Sat, Jun 1, 2019 12:43 AM
... My impression of MCAD is that it's kind of embarrassing to have as the
"official" library.
It seems like doing a "proper" gear library would require going through
something like Machine's Handbook for guidance on clearance calculations and
such.
--
Sent from: http://forum.openscad.org/
> ... My impression of MCAD is that it's kind of embarrassing to have as the
"official" library.
It seems like doing a "proper" gear library would require going through
something like Machine's Handbook for guidance on clearance calculations and
such.
--
Sent from: http://forum.openscad.org/
RS
Rob Sherwood
Sat, Jun 1, 2019 9:31 AM
Fwiw, with the proper bug fixes in place, I've been able to properly mesh
the involute gears printed with the MCAD library with gears printed from
other tools (e.g., Fusion 360's gear library). See
https://github.com/openscad/MCAD/pull/29 for an important stack of bug
fixes which would be nice to be merged :-/
But at least for my own work, I hack (sigh) around this issues by adding a
wrapper function that undoes the bugs (and a fix to properly calculate
helix angle to the gears). See the note below in my example code, but you
should be able to get correct gear sizes by multiplying the pitch by 180/PI
to fix the long standing bug.
As for using the calculations from a solid reference, that's effectively
what the gear library does... except there's a bug.
Also see my question about a maintainer for MCAD libraries :-)
https://github.com/openscad/MCAD/issues/32 Maybe with the new release
(whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
try to help a bit..
Hope this helps,
use <MCAD/involute_gears.scad> // for involute_gear()
module robs_gear(number_of_teeth, // must specify
modulus, // must specify, SI units for pitch
// my defaults
backlash=default_backlash,
gear_thickness=5,
bore_diameter=0,
left_gear = false) {
twist_dir = left_gear? 1 : -1;
// 'twist' adjusts the angle with the height, while helix_angle
// is a constant angle. Use this formula to translate.
opposite = tan(helix_angle) * gear_thickness; // opposite of triangle
diameter = number_of_teeth * modulus * pi; // pitch diam of gear
// ratio of opposite / diameter = twist / 360
// solve for the twist gets you...
twist_refactor = twist_dir * 360 * opposite/ diameter;
;
// call the library from MCAD/involute_gears
gear(number_of_teeth=number_of_teeth,
On Sat, Jun 1, 2019 at 3:44 AM NateTG nate-openscadforum@pedantic.org
wrote:
... My impression of MCAD is that it's kind of embarrassing to have as
Fwiw, with the proper bug fixes in place, I've been able to properly mesh
the involute gears printed with the MCAD library with gears printed from
other tools (e.g., Fusion 360's gear library). See
https://github.com/openscad/MCAD/pull/29 for an important stack of bug
fixes which would be nice to be merged :-/
But at least for my own work, I hack (sigh) around this issues by adding a
wrapper function that undoes the bugs (and a fix to properly calculate
helix angle to the gears). See the note below in my example code, but you
should be able to get correct gear sizes by multiplying the pitch by 180/PI
to fix the long standing bug.
As for using the calculations from a solid reference, that's effectively
what the gear library does... except there's a bug.
Also see my question about a maintainer for MCAD libraries :-)
https://github.com/openscad/MCAD/issues/32 Maybe with the new release
(whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
try to help a bit..
Hope this helps,
- Rob
.
use <MCAD/involute_gears.scad> // for involute_gear()
module robs_gear(number_of_teeth, // must specify
modulus, // must specify, SI units for pitch
// my defaults
backlash=default_backlash,
gear_thickness=5,
bore_diameter=0,
left_gear = false) {
twist_dir = left_gear? 1 : -1;
// 'twist' adjusts the angle with the height, while helix_angle
// is a constant angle. Use this formula to translate.
opposite = tan(helix_angle) * gear_thickness; // opposite of triangle
diameter = number_of_teeth * modulus * pi; // pitch diam of gear
// ratio of opposite / diameter = twist / 360
// solve for the twist gets you...
twist_refactor = twist_dir * 360 * opposite/ diameter;
;
// call the library from MCAD/involute_gears
gear(number_of_teeth=number_of_teeth,
* // this library incorrectly divides by 180 instead of pi in a
// critical calculation. If broken_gear_lib is 1, then reverse this!
circular_pitch=(modulus * pi * broken_gear_lib * 180/pi ),*
twist=twist_refactor,
backlash=backlash,
gear_thickness=gear_thickness,
rim_width=100, // TODO: figure out how to make this go away always
rim_thickness=gear_thickness,
hub_diameter=0,
hub_thickness=0,
bore_diameter=bore_diameter
);
}
On Sat, Jun 1, 2019 at 3:44 AM NateTG <nate-openscadforum@pedantic.org>
wrote:
> > ... My impression of MCAD is that it's kind of embarrassing to have as
> the
> "official" library.
>
> It seems like doing a "proper" gear library would require going through
> something like Machine's Handbook for guidance on clearance calculations
> and
> such.
>
>
>
>
>
> --
> Sent from: http://forum.openscad.org/
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
A
adrianv
Sat, Jun 1, 2019 12:53 PM
Also see my question about a maintainer for MCAD libraries :-)
https://github.com/openscad/MCAD/issues/32 Maybe with the new release
(whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
try to help a bit..
The MCAD libraries need more than a "clean up" to be a valuable tool. When
I came to OpenSCAD I asked the question here, "where are the libraries" and
the prevailing answer from the vocal responders was "We don't need
libraries. Just write stuff yourself." Maybe this explains the dismal
state of libraries for OpenSCAD. What OpenSCAD needs (for the rest of us
who want to use a library) is a well written, well organized library that
extends its capabilities. MCAD is a disorganized amalgamation of a bunch of
random stuff, not a coherent and complete extension of base OpenSCAD. It
does not seem like a good starting point for coming up with a good library,
and certainly is far from being a good library as it stands.
I surveyed all the libraries I could find and concluded that BOSL was the
library with the most promise. It tries to do what a basic foundational
library should do, and then adds a bunch of other interesting stuff beyond
that. It is actively maintained, well documented on its wiki with lots of
examples, and work is underway to make an even better version in BOSL2. I
suggest that it would be better to take a look at BOSL and help make it
better rather than trying to somehow fix MCAD---I think the latter would be
wasted effort given that a much better option already exists. (If you find
a bug it actually gets fixed, and if you want to make suggestions for major
additions or changes to BOSL2, the maintainer is listening.)
https://github.com/revarbat/BOSL/wiki
Note that BOSL2 was started to break free from backwards compatibility with
BOSL and it is unstable now, as the interface is being modified to make
things more uniform and to make some new features better integrated. So
it's the place to look if you're interested in development, and where things
are headed, but not if you want a stable library that will still run your
model next month without changes. This means that now is the time to make
proposals if you think there's something that should be really different.
https://github.com/revarbat/BOSL2/wiki
--
Sent from: http://forum.openscad.org/
capveg wrote
> Also see my question about a maintainer for MCAD libraries :-)
> https://github.com/openscad/MCAD/issues/32 Maybe with the new release
> (whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
> try to help a bit..
The MCAD libraries need more than a "clean up" to be a valuable tool. When
I came to OpenSCAD I asked the question here, "where are the libraries" and
the prevailing answer from the vocal responders was "We don't need
libraries. Just write stuff yourself." Maybe this explains the dismal
state of libraries for OpenSCAD. What OpenSCAD needs (for the rest of us
who want to use a library) is a well written, well organized library that
extends its capabilities. MCAD is a disorganized amalgamation of a bunch of
random stuff, not a coherent and complete extension of base OpenSCAD. It
does not seem like a good starting point for coming up with a good library,
and certainly is far from being a good library as it stands.
I surveyed all the libraries I could find and concluded that BOSL was the
library with the most promise. It tries to do what a basic foundational
library should do, and then adds a bunch of other interesting stuff beyond
that. It is actively maintained, well documented on its wiki with lots of
examples, and work is underway to make an even better version in BOSL2. I
suggest that it would be better to take a look at BOSL and help make it
better rather than trying to somehow fix MCAD---I think the latter would be
wasted effort given that a much better option already exists. (If you find
a bug it actually gets fixed, and if you want to make suggestions for major
additions or changes to BOSL2, the maintainer is listening.)
https://github.com/revarbat/BOSL/wiki
Note that BOSL2 was started to break free from backwards compatibility with
BOSL and it is unstable now, as the interface is being modified to make
things more uniform and to make some new features better integrated. So
it's the place to look if you're interested in development, and where things
are headed, but not if you want a stable library that will still run your
model next month without changes. This means that now is the time to make
proposals if you think there's something that should be really different.
https://github.com/revarbat/BOSL2/wiki
--
Sent from: http://forum.openscad.org/
RS
Rob Sherwood
Sat, Jun 1, 2019 1:09 PM
I'm all for trying to find the Right Thing and am happy to apply my own
personal elbow grease to what ever the consensus happens to be.
That said, if folks follow the thread in the
https://github.com/openscad/MCAD/issues/32 issue task, a few meta issues
came up:
- If we do libraries, do we need to also do package management?
- What is the right way to create an automated test to verify that the
library is doing what it claims (e.g., is the generated gear the correct
size)?
- [didn't come up, but should have] How do we do name spacing, e.g., so
that my library doesn't use names that conflict with your library?
My take is a lot of these problems seem like re-inventing the wheel to me
and may be harder to solve in openscad than is worth investigating, but I'm
happy to be proven wrong.
On Sat, Jun 1, 2019 at 3:54 PM adrianv avm4@cornell.edu wrote:
Also see my question about a maintainer for MCAD libraries :-)
https://github.com/openscad/MCAD/issues/32 Maybe with the new release
(whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
try to help a bit..
The MCAD libraries need more than a "clean up" to be a valuable tool. When
I came to OpenSCAD I asked the question here, "where are the libraries" and
the prevailing answer from the vocal responders was "We don't need
libraries. Just write stuff yourself." Maybe this explains the dismal
state of libraries for OpenSCAD. What OpenSCAD needs (for the rest of us
who want to use a library) is a well written, well organized library that
extends its capabilities. MCAD is a disorganized amalgamation of a bunch
of
random stuff, not a coherent and complete extension of base OpenSCAD. It
does not seem like a good starting point for coming up with a good library,
and certainly is far from being a good library as it stands.
I surveyed all the libraries I could find and concluded that BOSL was the
library with the most promise. It tries to do what a basic foundational
library should do, and then adds a bunch of other interesting stuff beyond
that. It is actively maintained, well documented on its wiki with lots of
examples, and work is underway to make an even better version in BOSL2. I
suggest that it would be better to take a look at BOSL and help make it
better rather than trying to somehow fix MCAD---I think the latter would be
wasted effort given that a much better option already exists. (If you find
a bug it actually gets fixed, and if you want to make suggestions for major
additions or changes to BOSL2, the maintainer is listening.)
https://github.com/revarbat/BOSL/wiki
Note that BOSL2 was started to break free from backwards compatibility with
BOSL and it is unstable now, as the interface is being modified to make
things more uniform and to make some new features better integrated. So
it's the place to look if you're interested in development, and where
things
are headed, but not if you want a stable library that will still run your
model next month without changes. This means that now is the time to make
proposals if you think there's something that should be really different.
https://github.com/revarbat/BOSL2/wiki
--
Sent from: http://forum.openscad.org/
OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
I'm all for trying to find the Right Thing and am happy to apply my own
personal elbow grease to what ever the consensus happens to be.
That said, if folks follow the thread in the
https://github.com/openscad/MCAD/issues/32 issue task, a few meta issues
came up:
1) If we do libraries, do we need to also do package management?
2) What is the right way to create an automated test to verify that the
library is doing what it claims (e.g., is the generated gear the correct
size)?
3) [didn't come up, but should have] How do we do name spacing, e.g., so
that my library doesn't use names that conflict with your library?
My take is a lot of these problems seem like re-inventing the wheel to me
and may be harder to solve in openscad than is worth investigating, but I'm
happy to be proven wrong.
- Rob
.
On Sat, Jun 1, 2019 at 3:54 PM adrianv <avm4@cornell.edu> wrote:
> capveg wrote
> > Also see my question about a maintainer for MCAD libraries :-)
> > https://github.com/openscad/MCAD/issues/32 Maybe with the new release
> > (whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
> > try to help a bit..
>
> The MCAD libraries need more than a "clean up" to be a valuable tool. When
> I came to OpenSCAD I asked the question here, "where are the libraries" and
> the prevailing answer from the vocal responders was "We don't need
> libraries. Just write stuff yourself." Maybe this explains the dismal
> state of libraries for OpenSCAD. What OpenSCAD needs (for the rest of us
> who want to use a library) is a well written, well organized library that
> extends its capabilities. MCAD is a disorganized amalgamation of a bunch
> of
> random stuff, not a coherent and complete extension of base OpenSCAD. It
> does not seem like a good starting point for coming up with a good library,
> and certainly is far from being a good library as it stands.
>
> I surveyed all the libraries I could find and concluded that BOSL was the
> library with the most promise. It tries to do what a basic foundational
> library should do, and then adds a bunch of other interesting stuff beyond
> that. It is actively maintained, well documented on its wiki with lots of
> examples, and work is underway to make an even better version in BOSL2. I
> suggest that it would be better to take a look at BOSL and help make it
> better rather than trying to somehow fix MCAD---I think the latter would be
> wasted effort given that a much better option already exists. (If you find
> a bug it actually gets fixed, and if you want to make suggestions for major
> additions or changes to BOSL2, the maintainer is listening.)
>
> https://github.com/revarbat/BOSL/wiki
>
> Note that BOSL2 was started to break free from backwards compatibility with
> BOSL and it is unstable now, as the interface is being modified to make
> things more uniform and to make some new features better integrated. So
> it's the place to look if you're interested in development, and where
> things
> are headed, but not if you want a stable library that will still run your
> model next month without changes. This means that now is the time to make
> proposals if you think there's something that should be really different.
>
> https://github.com/revarbat/BOSL2/wiki
>
>
>
>
> --
> Sent from: http://forum.openscad.org/
>
> _______________________________________________
> OpenSCAD mailing list
> Discuss@lists.openscad.org
> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org
>
TP
Torsten Paul
Sat, Jun 1, 2019 1:27 PM
On 01.06.19 14:53, adrianv wrote:
Also see my question about a maintainer for MCAD libraries :-)
https://github.com/openscad/MCAD/issues/32 Maybe with the new release
(whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
try to help a bit..
The MCAD libraries need more than a "clean up" to be a valuable tool. When
I came to OpenSCAD I asked the question here, "where are the libraries" and
the prevailing answer from the vocal responders was "We don't need
libraries. Just write stuff yourself." Maybe this explains the dismal
state of libraries for OpenSCAD. What OpenSCAD needs (for the rest of us
who want to use a library) is a well written, well organized library that
extends its capabilities. MCAD is a disorganized amalgamation of a bunch of
random stuff, not a coherent and complete extension of base OpenSCAD. It
does not seem like a good starting point for coming up with a good library,
and certainly is far from being a good library as it stands.
How about we stop throwing around all those negative claims of
things supposedly being useless or wasted effort? That includes
your dismissal of MCAD in a voice that is probably offending a
bit to those who wrote some of the scripts maybe 10 years ago
when OpenSCAD was still in its infancy and are still around here
reading those statement. Do you think that gets anyone motivated
improving things?
MCAD was abandoned years ago and for some time is now slowly
maintained by hyperair, but one person can do only so much.
Getting this kind of "support" I see here lately is not likely
to provide much motivation to improve things.
I certainly appreciate whatever time is spend on improving
things even if it goes slowly. And there are fixes getting in
in both MCAD-master and also the development version which tries
to improve in a more general way.
https://github.com/openscad/MCAD/commits/master
https://github.com/openscad/MCAD/commits/dev
So what I'm asking is simply to not bash things one does not prefer
to use. A question of "can you suggest a library" does NOT need
to start with "MCAD is crap, ... use ...". Praising the nice lib
will give anyone reading that (maybe much later on the forum) the
same information without the negative comments littered around.
That said there are awesome newer libraries around that are nicely
documented and maintained. That includes BOSL and also dotSCAD and
maybe (hopefully) BOLTS which seems to get some updates again.
To bring that rant to end with a hopefully positive note, let me
also ask for other libs that fit the "very useful and well documented"
label and I will put together a list to put on the OpenSCAD website
(Note: Initially I'm only interested in libraries with a FLOSS
license). I'll create a new topic for that, lets see if we can
collect some that are not yet widely known.
ciao,
Torsten.
On 01.06.19 14:53, adrianv wrote:
> capveg wrote
>> Also see my question about a maintainer for MCAD libraries :-)
>> https://github.com/openscad/MCAD/issues/32 Maybe with the new release
>> (whoo!) of openscad, it's time to clean up the MCAD libraries too? I can
>> try to help a bit..
>
> The MCAD libraries need more than a "clean up" to be a valuable tool. When
> I came to OpenSCAD I asked the question here, "where are the libraries" and
> the prevailing answer from the vocal responders was "We don't need
> libraries. Just write stuff yourself." Maybe this explains the dismal
> state of libraries for OpenSCAD. What OpenSCAD needs (for the rest of us
> who want to use a library) is a well written, well organized library that
> extends its capabilities. MCAD is a disorganized amalgamation of a bunch of
> random stuff, not a coherent and complete extension of base OpenSCAD. It
> does not seem like a good starting point for coming up with a good library,
> and certainly is far from being a good library as it stands.
How about we stop throwing around all those negative claims of
things supposedly being useless or wasted effort? That includes
your dismissal of MCAD in a voice that is probably offending a
bit to those who wrote some of the scripts maybe 10 years ago
when OpenSCAD was still in its infancy and are still around here
reading those statement. Do you think that gets anyone motivated
improving things?
MCAD was abandoned years ago and for some time is now slowly
maintained by hyperair, but one person can do only so much.
Getting this kind of "support" I see here lately is not likely
to provide much motivation to improve things.
I certainly appreciate whatever time is spend on improving
things even if it goes slowly. And there _are_ fixes getting in
in both MCAD-master and also the development version which tries
to improve in a more general way.
https://github.com/openscad/MCAD/commits/master
https://github.com/openscad/MCAD/commits/dev
So what I'm asking is simply to not bash things one does not prefer
to use. A question of "can you suggest a library" does *NOT* need
to start with "MCAD is crap, ... use ...". Praising the nice lib
will give anyone reading that (maybe much later on the forum) the
same information without the negative comments littered around.
That said there are awesome newer libraries around that are nicely
documented and maintained. That includes BOSL and also dotSCAD and
maybe (hopefully) BOLTS which seems to get some updates again.
To bring that rant to end with a hopefully positive note, let me
also ask for other libs that fit the "very useful and well documented"
label and I will put together a list to put on the OpenSCAD website
(Note: Initially I'm only interested in libraries with a FLOSS
license). I'll create a new topic for that, lets see if we can
collect some that are not yet widely known.
ciao,
Torsten.
TP
Torsten Paul
Sat, Jun 1, 2019 1:45 PM
On 01.06.19 15:09, Rob Sherwood wrote:
I'm all for trying to find the Right Thing and am happy to apply
my own personal elbow grease to what ever the consensus happens to
be.
Why concensus? I don't believe that is need and I suspect it will
not be possible to get everyone to agree anyway.
I think it's great to have multiple options with maybe slightly
or very much different focus to select from. This also ensures a
more stable eco-system in general.
I'd say have a look at the different options and go with the one
you like best. That usually is also a good base for more long term
motivation.
- If we do libraries, do we need to also do package management?
- What is the right way to create an automated test to verify
that the library is doing what it claims (e.g., is the generated
gear the correct size)?
MCAD uses pytest to do some simple verification, OpenSCAD has the
graphics output based test framework. Both together could be a
very powerful tool. Right now it's not written to be used in some
different project, but that is certainly a possibility.
- [didn't come up, but should have] How do we do name spacing,
e.g., so that my library doesn't use names that conflict with
your library?
I have not seen any common way to do that yet. Some libs use a
simple prefix. The solution mid/long term is certainly to support
namespace in the language but so far there's not much detailed
discussion how to do that in compatible way.
My take is a lot of these problems seem like re-inventing the
wheel to me and may be harder to solve in openscad than is worth
investigating, but I'm happy to be proven wrong.
I'd agree with that in general. However there might be always
some incentive to re-invent the wheel as can be seen in other
similar areas too (like ECAD symbol/footprint libraries). This
does depend on the setting the things are used in. For an EE
professional it's sensible to create their own symbol/footprint
libraries along the way as they then have only themselves to
blame if things go wrong. For the casual KiCAD user like me the
nice included libs are very welcome.
ciao,
Torsten.
On 01.06.19 15:09, Rob Sherwood wrote:
> I'm all for trying to find the Right Thing and am happy to apply
> my own personal elbow grease to what ever the consensus happens to
> be.
Why concensus? I don't believe that is need and I suspect it will
not be possible to get everyone to agree anyway.
I think it's great to have multiple options with maybe slightly
or very much different focus to select from. This also ensures a
more stable eco-system in general.
I'd say have a look at the different options and go with the one
you like best. That usually is also a good base for more long term
motivation.
> 1) If we do libraries, do we need to also do package management?
Yes, I think we do.
> 2) What is the right way to create an automated test to verify
> that the library is doing what it claims (e.g., is the generated
> gear the correct size)?
MCAD uses pytest to do some simple verification, OpenSCAD has the
graphics output based test framework. Both together could be a
very powerful tool. Right now it's not written to be used in some
different project, but that is certainly a possibility.
> 3) [didn't come up, but should have] How do we do name spacing,
> e.g., so that my library doesn't use names that conflict with
> your library?
I have not seen any common way to do that yet. Some libs use a
simple prefix. The solution mid/long term is certainly to support
namespace in the language but so far there's not much detailed
discussion how to do that in compatible way.
> My take is a lot of these problems seem like re-inventing the
> wheel to me and may be harder to solve in openscad than is worth
> investigating, but I'm happy to be proven wrong.
I'd agree with that in general. However there might be always
some incentive to re-invent the wheel as can be seen in other
similar areas too (like ECAD symbol/footprint libraries). This
does depend on the setting the things are used in. For an EE
professional it's sensible to create their own symbol/footprint
libraries along the way as they then have only themselves to
blame if things go wrong. For the casual KiCAD user like me the
nice included libs are very welcome.
ciao,
Torsten.