Jonas Bähr 055aab2e07 Build the helical internal gear directly, not via boolen cut
The original, now replaced, way had the benefit of reusing the existing
helicalextrusion method, but the following boolean cut operation was a)
slow and b) suffered from co-planar issues. The new way extrudes the
face directly which does not have these shortcommings.
Unfortunaly, we had to use a different API: the original one is simple
and straight forward, gives no easy way to access the end of the sweep.
Collecting the wires manually, filtering on the position of all vertexes,
unvailed tolerances heigher then 0.1, so that a face created from it was
not planar and prevented ceating a valid solid.
The now used API requires more manual work in the initial setup, but the
end wires for construction the top face are directly accesible and the
tolerances are below 0.001 so we can create a planar face and valid solid.
This new way also much faster (1.6 sec vs. 5.0 sec on my machine
using default gear parameters on a double helix, naively measured via
`time.perf_counter()`).
Currently, the new helical extusion method is only used for the internal
gear. Migrating the other usages will be done as a separate commit.
2021-09-29 10:15:10 +02:00
2020-07-17 12:21:21 +02:00
2020-09-03 11:26:33 +02:00
2021-07-04 21:54:27 +02:00
2020-03-10 06:24:35 +01:00
2018-03-14 19:04:02 +01:00
2020-09-03 11:20:58 +02:00
2020-04-07 15:03:46 +02:00
2021-07-04 21:54:27 +02:00

A Gear module for FreeCAD

Liberapay Total alerts Language grade: Python

Requirements

FreeCAD > v0.16
python > 3 (for python2 use branch py2)

Supported gear-types

Cylindric Involute

  • Shifting
  • Helical
  • Double Helical
  • Undercut

involute-gear

Involute Rack

involute-rack

Cylindric Cycloid

  • Helical
  • Double Helical

cycloid-gear

Spherical Involute Bevel-Gear

  • Spiral

bevel-gear

Crown-Gear

crown-gear

Worm-Gear

worm-gear

Timing-Gear

timing-gear

Lantern-Gear

lantern-gear


Installation

Addon Manager

Starting from v0.17 it's possible to use the built-in FreeCAD Addon Manager located in the Tools > Addon Manager dropdown menu.

pip

pip install https://github.com/looooo/FCGear/archive/master.tar.gz

Important note: Most systems have multiple versions of python installed. Make sure the pip you're using is used by FreeCAD as well.

Usage

Create a gear manually

  • Open freecad
  • Switch to the gear workbench
  • Create new document
  • Create a gear (click on a gear symbol in the toolbar)
  • Change the gear parameters

Scripted gears

Use the power of python to automate your gear modeling:

import FreeCAD as App
import freecad.gears.commands
gear = freecad.gears.commands.CreateInvoluteGear.create()
gear.teeth = 20
gear.beta = 20
gear.height = 10
gear.double_helix = True
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")

References

  • Elements of Metric Gear Technology (PDF)

FreeCAD Forum threads

These are forum threads where FreeCAD Gears has been discussed. If you want to give Feedback or report a bug please use the below threads. Please make sure that the report hasn't been reported already by browsing this repositories issue queue.

  • "CONTINUED: involute gear generator preview !" (thread)
  • "Bevel gear - module/script/tutorial" (thread)
  • "Gears in FreeCAD: FC Gear" (thread)
  • "FC Gears: Feedback thread" (thread)

License

GNU General Public License v3.0

Description
No description provided
Readme GPL-3.0 28 MiB
Languages
Python 97.2%
Shell 2.8%