forbes-0023 1e26c393f3 feat: add Kindred Create integration
- Replace package.xml with Kindred-extended manifest (priority 40, sdk dependency)
- Add Init.py: console bootstrap with sys.path setup for pygears/namespace package
- Add InitGui.py: workbench import + gear command injection into PartDesign contexts
2026-02-28 15:16:50 -06:00
2026-02-14 21:10:38 +01:00
2023-12-28 12:47:13 +01:00
2025-01-04 23:31:30 +01:00
2024-12-07 23:58:58 +01:00
2018-03-14 19:04:02 +01:00
2026-02-14 21:26:42 +01:00
2024-10-05 23:30:54 +02:00

FreeCAD Gears

A gear workbench for FreeCAD: create involute, cycloid, bevel, worm, timing, lantern and crown gears with full control over parameters.

Requirements

  • FreeCAD ≥ 1.0 (or ≥ 0.16 for older setups)
  • Python ≥ 3.8 (used by FreeCAD)
  • Python packages: numpy, scipy, sympy (optional: jupyter, matplotlib)

Supported gear types

Cylindric involute

  • Shifting, helical, double helical, undercut, fillets

involute-gear

Involute rack

involute-rack

Cylindric cycloid

  • Helical, double helical, fillets

cycloid-gear

Cycloid rack

cycloid-rack

Spherical involute bevel gear

  • Spiral

bevel-gear

Crown gear

crown-gear

Worm gear

worm-gear

Timing gear

timing-gear

Lantern gear

lantern-gear


Installation

In FreeCAD: ToolsAddon Manager → search for “Gears” (or “FCGear”) → Install.

pip

pip install freecad.gears

Or from source:

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

Use the same Python/pip that FreeCAD uses on your system.


Usage

In FreeCAD

  1. Open FreeCAD and switch to the Gear workbench.
  2. FileNew (or open a document).
  3. Create a gear from the toolbar and adjust parameters in the property panel.

From Python

import FreeCAD as App
import freecad.gears.commands

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

Development

The project uses pixi for environment and task management.

Setup

pixi install

Pixi commands

Tasks (Kurzreferenz)

Befehl Beschreibung
pixi run freecad FreeCAD mit freecad.gears starten.
pixi run lint Pylint.
pixi run test Unit-Tests.
pixi run test-visual Visual-Tests (Display nötig).
pixi run test-visual-xvfb Visual-Tests unter xvfb.
pixi run test-all Alle Tests.
pixi run create-references Referenzbilder erzeugen.
pixi run create-references-xvfb Referenzbilder unter xvfb.
pixi run clean-test Test-Artefakte und Referenzen löschen.

Visual tests use freecad.visual_tests: each project under tests/data/*/ has a metafile.yaml and a .FCStd model; references are stored in references/.

CI (GitHub Actions)

  • Pylint: Runs on push, pull_request and workflow_dispatch (lint does not fail the job).
  • Tests: Unit tests on all OS; visual tests (xvfb) on Ubuntu only.
  • Update reference images: Manual workflow “Update reference images” to regenerate references on CI and push them to the repo.

References

  • Elements of Metric Gear Technology (PDF)

FreeCAD Forum

Please check the issue tracker before opening a new report.


License

GNU General Public License v3.0

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