Cycloidal Drive Gearbox

Info about new community or project announcements, implemented features, classes, modules or APIs. Might get technical!
PLEASE DO NOT POST HELP REQUESTS OR OTHER DISCUSSIONS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
iplayfast
Posts: 256
Joined: Sat Sep 07, 2019 6:55 am

Cycloidal Drive Gearbox

Post by iplayfast »

After much work, and debating if it was bug-free enough, I've decided to announce my project in the forum. I hope it will be of use to people, or at least an interesting toy.

I created this as a library because it's a pretty specialized type of gear. It works best with freecad 19 (https://github.com/FreeCAD/FreeCAD/rele ... g/0.19_pre As of Dec 31 2019)

All parts are dependant on each other for size, so I've got one master part (Gearbox_Parameters) which holds all the sizes, and then the individual parts which pick up their sizes from the Gearbox_parameters.

The default size has a 12:1 gear reduction with little backlash and can be printed out with a 3d printer.
It consists of:
  • pindisk The frame which the construction sits. These can be stacked for a multi-stage gearbox.
  • Eccentric Shaft Which is the input torque goes.
  • Cycloidal Disk Driven by the Eccentric Shaft (if you are printing this out you need two of these)
  • DriverDisk Driven by the Cycloidal Disk
  • Eccentric Key which is keyed to fit on the Eccentric Shaft at the opposite eccentricity (second Cycloidal disk rides on this one, to help reduce shaking).
  • Output Shaft The shaft that has the gear reduction. It can fit into the input shaft of a multi-stage gearbox.
Bugs:
Animation not working.
Icons not being saved.

https://github.com/iplayfast/CycloidGearBox
Image
mlampert
Veteran
Posts: 1772
Joined: Fri Sep 16, 2016 9:28 pm

Re: Cycloidal Drive Gearbox

Post by mlampert »

I started building one of these a few weeks ago and developed my own script. I was quite excited to look at your workbench and use it but noticed the license which unfortunately means I can't use it, or even look at your code. Still, it's great to see some cylcoidal drive development I always thought it does not get the attention it deserves.
chrisb
Veteran
Posts: 54183
Joined: Tue Mar 17, 2015 9:14 am

Re: Cycloidal Drive Gearbox

Post by chrisb »

mlampert wrote: Tue Dec 31, 2019 8:14 ambut noticed the license which unfortunately means I can't use it, or even look at your code.
I think GPL allows you almost everything as long as you distribute the result under the same license.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
iplayfast
Posts: 256
Joined: Sat Sep 07, 2019 6:55 am

Re: Cycloidal Drive Gearbox

Post by iplayfast »

Yes the license doesn't restrict you unless you are planning on selling the library, even then the only restriction is that you have also provide the source code. Any patents involved with a cycloidal gear have long expired.
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Cycloidal Drive Gearbox

Post by vocx »

chrisb wrote: Tue Dec 31, 2019 9:37 am I think GPL allows you almost everything as long as you distribute the result under the same license.
The problem is not GPL itself, but the version of it. iplayfast is using GPL3, which is considered a pretty aggressive open source license. I suppose mlampert would prefer something like LGPL2 or MIT for a library.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
iplayfast
Posts: 256
Joined: Sat Sep 07, 2019 6:55 am

Re: Cycloidal Drive Gearbox

Post by iplayfast »

I don't see how gpl3 in this case is more restrictive then gpl2. I suppose if he was going to design something and patent it, it might come into play. But only if he was using my code inside his design. And in that case, it should come into play. He can't even look at it? That's just stupid.

If he actually wanted to use it, inside his own software, and distribute it without the source code, I would expect to be paid. That's how the license works. But if he's using it inside his own software, and distributing his own source code with it, I have no problem.
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: Cycloidal Drive Gearbox

Post by vocx »

iplayfast wrote: Wed Jan 01, 2020 6:21 am ...I suppose if he was going to design something and patent it, it might come into play. But only if he was using my code inside his design. And in that case, it should come into play. He can't even look at it? That's just stupid.
...
Looking at GPL3 code, taking inspiration from it, could mean you are basing your own code off it. Some people just don't want to be "infected" by that sort of license so they avoid it at all costs. (Some open source licenses have the characteristic of being "viral", making everything they touch open source as well.)

And yes, of course using the code inside another product is the principal issue here. This is the reason MIT, BSD, and LGPL2 are preferred for libraries (supporting code), because then they can be used without restrictions inside other applications both open source and proprietary.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
emills2
Posts: 884
Joined: Tue Apr 28, 2015 11:23 pm

Re: Cycloidal Drive Gearbox

Post by emills2 »

looks fun, i want to try it!

license stuff:
not a developer myself, but wanted to share some thoughts. maybe im missing something, but the following is how i see things for now.

not investing your personal efforts in developing gpl v3 is a legitimate concern, if you are fully devoted to lgpl.

being fully devoted to lgpl is not any less weird than choosing gpl v3. it is a personal choice depending on desired outcome.

for all the shade thrown at gpl v3 FreeCAD addons and extras, i always wonder: what kind of day will these people have when they realize one day that their lgpl contributions got forked/used by a CLOSED source project, and they are now completely LOCKED out.

that is literally all the lgpl is for. letting others lock you out. so if that is truly your carefully considered choice...why do you even blink when someone's gpl v3 component connects to your lgpl component? isn't that actually the desired outcome?

nothing wrong with saying "please consider using lgpl if you would like to integrate your work fully with FreeCAD", but the "i can't even look at it" stuff feels over the top, and i don't think it is a fair criticism.

if i recall correctly A2 was gpl, and useful to people for quite a while until the author orphaned the module and let it go lgpl. he only let it go lgpl once he just plain didn't care about it anymore. he may never have wrote it at all if only lgpl was an option in the first place.

refusing to look at gpl v3 code is a self posed limitation. Jurgen pretty much stated at inception "i want to make a program with capabilities similar to catia" (paraphrase).
all core technology and 90% of the rest in FreeCAD has an analog in previous software. the whole "legal protection from lack of exposure" strategy will last exactly one nanosecond against Aut*d*sk's lawyers.

if someone is dying to commit to main freecad, that would be a good time to push for a license change.

a gearbox library is pretty high level stuff, not core. my guess is the reason it's a library and not a workbench is interface work is thankless work.sharing it as a library lets the ones ready to get their hands dirty "have at it".
User avatar
iplayfast
Posts: 256
Joined: Sat Sep 07, 2019 6:55 am

Re: Cycloidal Drive Gearbox

Post by iplayfast »

In all honesty, I never expect to make any money off this code. I just don't want it closed and unavailable. That is what gpl is for. It saddens me that with all the work that I put into this workbench all the comments have been about the license. I was hoping that people would look at it, and see areas for improvement. Python is not my regular language and I'm not yet comfortable with it, so I expect improvements are quite possible.
I would be quite happy if it was incorporated into freecad, and if the license was the only issue holding that back, I would change it. But I think there are other areas of improvement as well. (animation, and icons for example).
User avatar
JoshuaCall
Posts: 50
Joined: Tue Dec 17, 2019 3:43 am

Re: Cycloidal Drive Gearbox

Post by JoshuaCall »

iplayfast wrote: Sun Jan 05, 2020 6:26 am It saddens me that with all the work that I put into this workbench all the comments have been about the license.
I understand your frustration. Unfortunately, licensing is a very important issue in free software due to a number of historical and legal reasons. I think that the right way to think of the issue is not that the GPLv3 is more restrictive than the LGPLv2.1, but rather that the two are incompatible with one another. This is an issue which has negatively affected FreeCAD in the past, so I think that the community tends to be very aware of licensing issues.

Anyway, thank you for your contribution in developing this project.
emills2 wrote: Sat Jan 04, 2020 6:23 pm that would be a good time to push for a license change.
The Open CASCADE Technology kernel that FreeCAD uses is released under the LGPLv2.1 only, so the licensing issues relevant to this discussion may be completely out of the control of the FreeCAD copyright holders. Any decision to use code written under an incompatible license in the FreeCAD project would require a careful consideration of all possible legal issues.
Post Reply