Download this example

Download this example as a Jupyter Notebook or as a Python script.


Sketching: Parametric sketching for gears#

This example shows how to use gear sketching shapes from PyAnsys Geometry.

Perform required imports and pre-sketching operations#

Perform required imports and instantiate the Modeler instance and the basic elements that define a sketch.

[1]:
from pint import Quantity

from ansys.geometry.core import Modeler
from ansys.geometry.core.math import Plane, Point2D, Point3D
from ansys.geometry.core.misc import UNITS, Distance
from ansys.geometry.core.sketch import Sketch
from ansys.geometry.core.plotting import Plotter

# Start a modeler session
modeler = Modeler()

# Define the origin point of the plane
origin = Point3D([1, 1, 1])

# Create a plane containing the previous point with desired fundamental directions
plane = Plane(
    origin, direction_x=[1, 0, 0], direction_y=[0, -1, 1]
)

Sketch a dummy gear#

DummyGear sketches are simple gears that have straight teeth. While they do not ensure actual physical functionality, they might be useful for some simple playground tests.

Instantiate a new Sketch object and then define and plot a dummy gear.

[2]:
# Instantiate a new sketch object from previous plane
sketch = Sketch(plane)

# Define dummy gear
#
origin = Point2D([0, 1], unit=UNITS.meter)
outer_radius = Distance(4, unit=UNITS.meter)
inner_radius = Distance(3.8, unit=UNITS.meter)
n_teeth = 30
sketch.dummy_gear(origin, outer_radius, inner_radius, n_teeth)

# Plot dummy gear
sketch.plot()

After creating the sketch, extrudes it.

[3]:
# Create a design
design = modeler.create_design("AdvancedFeatures_DummyGear")

# Extrude your sketch
dummy_gear = design.extrude_sketch("DummyGear", sketch, Distance(1000, UNITS.mm))

# Plot the design
design.plot()

Sketch a spur gear#

SpurGear sketches are parametric CAD spur gears based on four parameters:

  • origin: Center point location for the desired spur gear. The value must be a Point2D object.

  • module: Ratio between the pitch circle diameter in millimeters and the number of teeth. This is a common parameter for spur gears. The value should be an integer or a float.

  • pressure_angle: Pressure angle expected for the teeth of the spur gear. This is also a common parameter for spur gears. The value must be a pint.Quantity object.

  • n_teeth: Number of teeth. The value must be an integer.

Instantiate a new Sketch object and then define and plot a spur gear.

[4]:
# Instantiate a new sketch object from previous plane
sketch = Sketch(plane)

# Define spur gear
#
origin = Point2D([0, 1], unit=UNITS.meter)
module = 40
pressure_angle = Quantity(20, UNITS.deg)
n_teeth = 22

# Sketch spur gear
sketch.spur_gear(origin, module, pressure_angle, n_teeth)

# Plot spur gear
sketch.plot()

After creating the sketch, extrude it.

[5]:
# Create a design
design = modeler.create_design("AdvancedFeatures_SpurGear")

# Extrude sketch
dummy_gear = design.extrude_sketch("SpurGear", sketch, Distance(200, UNITS.mm))

# Plot design
design.plot()