FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!

InvoluteRack
CycloidRack
Gear

FCGear CycloidGear

Menu location
Gear → Cycloid Gear
Workbenches
Gear
Default shortcut
None
Introduced in version
v0.16
See also
FCGear InvoluteGear

Description

The FCGear CycloidGear command creates a cycloidal gear wheel with spur gearing by default that can also be transformed into a helical gearing or a double helical gearing.

Cycloidal gears are very sensitive to an inaccurate adjustment of the centre distance, which then leads to a change in the transmission ratio. For these reasons, cycloidal gears are hardly found in mechanical engineering but are only used in special cases such as in the watch industry, for roots type blowers or for the drive of gear racks.

From left to right: Spur gearing, helical gearing, double helical gearing

Usage

  1. Switch to the Gear Workbench.
  2. There are several ways to invoke the command:
    • Press the Cycloid Gear button in the toolbar.
    • Select the Gear → Cycloid Gear option from the menu.
  3. Change the gear parameter to the required conditions (see Properties).

Properties

See also: Property View.

An FCGear CycloidGear object is derived from a Part Feature object and inherits all its properties. It also has the following additional properties:

Data

accuracy

  • Datanumpoints (Integer): Default is 15. Change of the involute profile. Changing the value can lead to unexpected results.

base

  • Datagear (PythonObject): Python gear object.
  • Dataheight (Length): Default is 5 mm. Value of the gear width.
  • Datamodule (Length): Default is 1 mm. Module is the ratio of the reference diameter of the gear divided by the number of teeth (see Notes).
  • Datanum_teeth (Integer): Default is 15. Number of teeth.

computed

  • Dataangular_backlash (Angle): (read-only)
  • Datapitch_diameter (Length): (read-only) Working pitch diameter.

cycloid

  • Datainner_diameter (Float): (read-only) Diameter of the rolling circle of hypocycloid, normalized by the Datamodule (see Notes).
  • Dataouter_diameter (Float): Default is 7.5. Diameter of the rolling circle of epicycloid, normalized by the Datamodule (see Notes).

fillets

  • Datahead_fillet (Float): Default is 0 mm.
  • Dataroot_fillet (Float): Default is 0 mm.

helical

  • Datadouble_helix (Bool): Default is false, true creates a double helix gear (see Notes).
  • Datahelix_angle (Angle): Default is 0°. With the helix angle β a helical gear is created – positive value → rotation direction right, negative value → rotation direction left.

tolerance

  • Databacklash (Length): Default is 0. Backlash, also called lash or play, is the distance between the teeth at a gear pair.
  • Dataclearance (Float): Default is 0.25 (see Notes).
  • Datahead (Float): Default is 0. Additional length of the tip of the teeth, normalized by the Datamodule.

version

  • Dataversion (String):

Notes

  • Cycloidal gears must always be specially matched to each other and can generally not be exchanged at will: In a gear pair, the value of inner_diameter on one gear must equal the outer_diameter on the other, and vice versa. See also the information in Properties cycloid parameter view below.
  • Dataclearance (c): At a gear pair, clearance is the distance between the tooth tip of the first gear and the tooth root of the second gear.
  • Datadouble_helix: Activates double helical gearing if the Datahelix_angle property is larger than 0 (β>0∘).
  • Datamodule (m): Using ISO (International Organization for Standardization) guidelines, Module size is designated as the unit representing gear tooth-sizes.
    • The module multiplied by the number of teeth (z) defines the pitch circle diameter (d): d=m⋅z
    • The module multiplied by Pi (π) defines the pitch (p), the arc distance on the pitch circle between corresponding points of adjacent teeth: p=m⋅π

Special cases

Straight line as hypocycloid

To obtain a straight line, directly towards the center, as hypocycloid, use the following expression for the Datainner_diameter: teeth / 2. Such a tooth form is often found in historical clockworks and thus called "clock toothing". A larger Dataclearance makes the effect even more visible.

Full hypocycloid/epicycloid as tooth

To obtain a gear made of complete hypocycloid and epicycloid curves use the following expressions:

  • Datainner_diameter: 0.5
  • Dataouter_diameter: inner_diameter
  • Dataclearance: -1 + inner_diameter - 1e-06
  • Datahead: -1 + outer_diameter - 1e-06

The reference diameter is d = m * z, with m being the Datamodule and z being the Datanum_teeth. For a complete hypocycloid, the rolling diameter has to be d_i = d / (z*2) = m*z / (z*2). And if we now normalize this by the module, we get d_in = m*z / (z*2) / m = 1 / 2.

Now the cycloids' rolling circle diameters have to match the gear's addedum/dedendum. The addendum, i.e. the tooth length above the reference circle, is 1 + Datahead. The dedendum, i.e. the tooth length below the reference circle, is 1 + Dataclearance. Both are normalized by the module, thus we need a head/clearance value of 1 - d_in. The additional explicit tolerance value (1e-6 in the expressions above) is required to overcome coincidence issues.

Such "gears" allow the the number of teeth to be as low as two and are used as rotary vanes in pumps or compressors (cf. Roots-type Supercharger).

Infinitely large epicycloid

If the radius of the epicycloid's rolling circle becomes infinitely large, it becomes a rolling straight line. Such a degenerated epicycloid is called involute. Gears with such a tooth form are handled by the involute gear command. It is by far the most common tooth form Today.

Useful formulas

See Gear InvoluteGear.

Properties cycloid parameter view

Scripting

Use the power of Python to automate your gear modeling:

import FreeCAD as App
import FreeCADGui as Gui
import freecad.gears.commands
gear = freecad.gears.commands.CreateCycloidGear.create()
gear.num_teeth = 20
gear.helix_angle = 20
gear.height = 10
gear.double_helix = True
App.ActiveDocument.recompute()
Gui.SendMsgToActiveView("ViewFit")


InvoluteRack
CycloidRack
Gear

This page is retrieved from https://wiki.freecad.org/FCGear_CycloidGear

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub