Gear Sets#
- class HelicalGearSet(**kwds)#
- Creates a helical gear set.
The gear set consists of two HelicalGear elements, where:
Gear 1 is usually the small gear,
Gear 2 is usually the big gear.
The HelicalGearSet is defined by the following dimensions (see Comment 10):
Example
from msolve import * from msolve.machinery.gears.gearsets import HelicalGearSet model = Model(output="helical_gearset") ground = Part(ground=True) global_ref = Marker(body=ground) Units(mass="KILOGRAM", length="MILLIMETER", time="SECOND", force="NEWTON") Accgrav(kgrav=-9.81) marker_0 = Marker(body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]) marker_1 = Marker(body=ground, qp=[200,0,0], zv=[0,0,1], xv=[1,0,0]) part_0 = Part(ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])) part_1 = Part(ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[200,0,0], zv=[0,0,1], xv=[1,0,0])) jt_small_gear_rev = Joint(type="REVOLUTE", i=part_0.cm.id, j=global_ref.id) jt_big_gear_rev = Joint(type="REVOLUTE", i=part_1.cm.id, j=Marker(body=ground, qp=[200,0,0], zv=[0,0,1], xv=[1,0,0])) mot_driver = Motion(joint=jt_small_gear_rev.id, dtype="VELOCITY", icdisp=0.0, function="STEP(TIME,0,0,1,1)") helical_gearset_0 = HelicalGearSet(rm=marker_0, rm_2=marker_1, g1_connection_part=part_0, g2_connection_part=part_1, module=2.0, gear_ratio=2.0, pressure_angle=20.0, helix_angle=15.0, width_1=80.0, width_2=80.0, contact_stiffness=10000.0, contact_exponent=1.0, contact_damping=100.0, contact_dmax=0.1)
Name
Type
Symbol
Required
Default
Modifiable
Bool
True
\(\checkmark\)
Double
\(h_{a}^{*}\)
1
Enum
OFF
Bool
True
Double
1.0
Double
0.1
Double
2.1
Double
1.5
Double
0.1
Double
0.2
Double
1
Double
100000.0
Double
\(h_{f}^{*}\)
1.25
Double
Bool
False
Bool
False
Reference -
Body
\(\checkmark\)
Enum
FIXED
Reference -
Body
\(\checkmark\)
Enum
FIXED
Double
\(u\)
\(\checkmark\)
Double
\(\beta\)
\(\checkmark\)
Double
\(d_{i/o1}\)
0.0
Double
\(d_{i/o2}\)
0.0
Int
Auto
Double
\(j_{1}^{*}\)
0.04
Double
\(j_{2}^{*}\)
0.04
Str
Double
\(m_{n}\)
\(\checkmark\)
Str
Double
1.2
Int
10
Int
\(z_{1}\)
\(\checkmark\)
Int
\(z_{2}\)
\(\checkmark\)
Int
20
Double
\(a_{n}\)
\(\checkmark\)
Reference -
Marker
\(\checkmark\)
Reference -
Marker
Double
\(r_{f}^{*}\)
0.38
Double
\(b_{1}\)
\(\checkmark\)
Double
\(b_{2}\)
\(\checkmark\)
Double
\(x_{1}^{*}\)
Double
\(x_{2}^{*}\)
- active#
Defines the state of the object.
Type=Bool, Default=True, Modifiable
- addendum_coefficient#
The basic rack addendum coefficient. (ha*)
Type=Double, Default=1
- contact_coulomb_friction#
Specifies the friction force model that will be used to compute thegears contact friction force.
Type=Enum, Default=OFF
Permitted values are:
DYNAMICS_ONLY
OFF
ON
- contact_creation#
Activates an IMPACT contact between the two gears.
See
Contact
.Type=Bool, Default=True
- contact_damping#
Specifies the maximum damping coefficient that is to be used for generating a damping force on the gears contact.
See
Contact.damping
.Type=Double, Default=1.0
- contact_dmax#
Specifies the penetration at which full damping is applied in the gears contact.
See
Contact.dmax
.Type=Double, Default=0.1
- contact_exponent#
Specifies the exponent of the force deformation characteristic of the gears contact.
See
Contact.exponent
.Type=Double, Default=2.1
- contact_friction_transition_velocity#
Defines the slip velocity at which the dynamic coefficient of friction, mu_dynamic, is applied.
See
Contact.friction_transition_velocity
.Type=Double, Default=1.5
- contact_mu_dynamic#
Defines the coefficient of dynamic friction in gears contact when the friction is in the dynamic regime.
See
Contact.mu_dynamic
.Type=Double, Default=0.1
- contact_mu_static#
Defines the coefficient of static friction in gears contact when the friction is in the static regime.
See
Contact.mu_static
.Type=Double, Default=0.2
- contact_stiction_transition_velocity#
Defines the slip velocity at which the static coefficient of friction, mu_static, is applied.
See
Contact.stiction_transition_velocity
.Type=Double, Default=1
- contact_stiffness#
Specifies the stiffness parameter of the gears contact.
See
Contact.stiffness
.Type=Double, Default=100000.0
- dedendum_coefficient#
The basic rack dedendum coefficient. (hf*)
Type=Double, Default=1.25
- export_graphic#
Exports the gears geometries in two .stl files.
Type=Bool, Default=False
- export_parameters#
Exports the calculated gearset and gears parameters into a .json file.
Type=Bool, Default=False
- g1_connection_part#
The connection part of the gear 1 element.
Type=Reference (Body), Required
- g1_connection_type#
The connection type of the gear 1 element.
Type=Enum, Default=FIXED
Permitted values are:
FIXED
REVOLUTE
- g2_connection_part#
The connection part of the gear 2 element.
Type=Reference (Body), Required
- g2_connection_type#
The connection type of the gear 2 element.
Type=Enum, Default=FIXED
Permitted values are:
FIXED
REVOLUTE
- gear_ratio#
The gear ratio. It is defined as (z2/z1) for simple helical gear setor (z3/z1) for the planetary gear set (u).
Type=Double, Required, Default=0.0
- helix_angle#
The helix angle in the pitch diameter.
Type=Double, Required
- hub_diameter_1#
The hub diameter of the gear 1.
Type=Double, Default=0.0
- hub_diameter_2#
The hub diameter of the gear 2.
Type=Double, Default=0.0
- id#
The id of the object.
Type=Int
- j1#
The circumferential backlash ratio (multiplied by circular pitch), linear measure along pitch circle of the gear 1. (j1*)
See Comment 2.
Type=Double, Default=0.04
- j2#
The circumferential backlash ratio (multiplied by circular pitch), linear measure along pitch circle of the gear 2. (j2*)
See Comment 2.
Type=Double, Default=0.04
- label#
The label of the composite element.
Type=Str
- module#
The normal module of the gears. (mn)
Type=Double, Required, Default=0.0
- name#
Defines a nametag for the object.
Type=Str
- non_uniform_factor#
Defines the factor of the non uniform mesh. The length of each previouselement is multiplied by this factor to get the length of the current element length.
Type=Double, Default=1.2
- num_curve_segments#
(Number of subdivisions for the base curve.) The number of mesh segments on involute profile of the gear. When using non uniform mesh this parameter will be always an even number.(The profile is split on two symmetric regions)
Type=Int, Default=10
- num_of_teeth_1#
The number of teeth of the gear 1. (z1)
Type=Int, Required, Default=0
- num_of_teeth_2#
The number of teeth of the gear 2. (z2)
Type=Int, Required, Default=0
- num_width_segments#
(Number of subdivisions for the width.)The number of mesh segments on the width of the gear.
Type=Int, Default=20
- pressure_angle#
The normal pressure angle. (alpha) - [deg].
Type=Double, Required
- rm#
The reference marker of the composite element.
Type=Reference (Marker), Required
- rm_2#
The reference marker of the gear 2 element.
Type=Reference (Marker)
- tool_tip_radius_coefficient#
The basic rack tool tip radius coefficient. (rf*)
Type=Double, Default=0.38
- width_1#
Gear 1 width.
Type=Double, Required
- width_2#
Gear 2 width.
Type=Double, Required
- class PlanetaryGearSet(**kwds)#
- Creates a planetary gear set.
The gear set consists of:
a sun gear, referenced as gear 1,
\(N\) planets, referenced as gear 2,
a ring gear, referenced as gear 3.
All gears are HelicalGear elements.
The PlanetaryGearSet is defined by the following dimensions (see Comment 11, Comment 12, Comment 13):
Example
from msolve import * from msolve.machinery.gears.gearsets import PlanetaryGearSet model = Model(output="planetary_gearset") ground = Part(ground=True) global_ref = Marker(body=ground) Units(mass="KILOGRAM", length="MILLIMETER", time="SECOND", force="NEWTON") Accgrav(kgrav=-9.81) marker_0 = Marker(label="Marker0", body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]) marker_1 = Marker(label="Marker1", body=ground, qp=[200,0,0], zv=[0,0,1], xv=[1,0,0]) part_0 = Part(label="Body0", ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])) part_1 = Part(label="Body1", ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])) jt_sun_gear_rev = Joint(label="Joint 0", type="REVOLUTE", i=part_0.cm.id, j=global_ref.id) jt_carrier_rev = Joint(label="Joint 1", type="REVOLUTE", i=Marker(body=part_1, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]), j=Marker(body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])) mot_driver = Motion(joint=jt_sun_gear_rev.id, dtype="VELOCITY", icdisp=0.0, function="STEP(TIME,0,0,1,1)") planetary_gearset_0 = PlanetaryGearSet(rm=marker_0, rm_2=marker_1, carrier_part=ground, g1_connection_part=part_0, g3_connection_part=part_1, module=2.0, gear_ratio=-4.0, pressure_angle=20.0, helix_angle=15.0, width_1=80.0, width_2=80.0, num_of_teeth_3=-307, width_3=80.0, contact_stiffness=10000.0, contact_exponent=1.0, contact_damping=100.0, contact_dmax=0.1)
Name
Type
Symbol
Required
Default
Modifiable
Bool
True
\(\checkmark\)
Double
\(h_{a}^{*}\)
1
Reference -
Body
\(\checkmark\)
Enum
OFF
Bool
True
Double
1.0
Double
0.1
Double
2.1
Double
1.5
Double
0.1
Double
0.2
Double
1
Double
100000.0
Double
\(h_{f}^{*}\)
1.25
Double
Bool
False
Bool
False
Reference -
Body
\(\checkmark\)
Reference -
Body
\(\checkmark\)
Double
\(u\)
\(\checkmark\)
Double
\(\beta\)
\(\checkmark\)
Double
\(d_{i/o1}\)
0.0
Double
\(d_{i/o2}\)
0.0
Double
\(d_{i/o3}\)
0.0
Int
Auto
Double
\(j_{1}^{*}\)
0.04
Double
\(j_{2}^{*}\)
0.04
Double
\(j_{3}^{*}\)
0.04
Str
Double
\(m_{n}\)
\(\checkmark\)
Str
Double
1.2
Int
10
Int
\(z_{1}\)
\(\checkmark\)
Int
\(z_{2}\)
\(\checkmark\)
Int
\(z_{3}\)
\(\checkmark\)
Int
20
Int
\(N\)
3
Double
\(a_{n}\)
\(\checkmark\)
Reference -
Marker
\(\checkmark\)
Reference -
Marker
Double
\(r_{f}^{*}\)
0.38
Double
\(b_{1}\)
\(\checkmark\)
Double
\(b_{2}\)
\(\checkmark\)
Double
\(b_{3}\)
\(\checkmark\)
Double
\(x_{1}^{*}\)
Double
\(x_{2}^{*}\)
Double
\(x_{3}^{*}\)
- active#
Defines the state of the object.
Type=Bool, Default=True, Modifiable
- addendum_coefficient#
The basic rack addendum coefficient. (ha*)
Type=Double, Default=1
- carrier_part#
The part of the planets carrier element.
Type=Reference (Body), Required
- contact_coulomb_friction#
Specifies the friction force model that will be used to compute thegears contact friction force.
Type=Enum, Default=OFF
Permitted values are:
DYNAMICS_ONLY
OFF
ON
- contact_creation#
Activates an IMPACT contact between the two gears.
See
Contact
.Type=Bool, Default=True
- contact_damping#
Specifies the maximum damping coefficient that is to be used for generating a damping force on the gears contact.
See
Contact.damping
.Type=Double, Default=1.0
- contact_dmax#
Specifies the penetration at which full damping is applied in the gears contact.
See
Contact.dmax
.Type=Double, Default=0.1
- contact_exponent#
Specifies the exponent of the force deformation characteristic of the gears contact.
See
Contact.exponent
.Type=Double, Default=2.1
- contact_friction_transition_velocity#
Defines the slip velocity at which the dynamic coefficient of friction, mu_dynamic, is applied.
See
Contact.friction_transition_velocity
.Type=Double, Default=1.5
- contact_mu_dynamic#
Defines the coefficient of dynamic friction in gears contact when the friction is in the dynamic regime.
See
Contact.mu_dynamic
.Type=Double, Default=0.1
- contact_mu_static#
Defines the coefficient of static friction in gears contact when the friction is in the static regime.
See
Contact.mu_static
.Type=Double, Default=0.2
- contact_stiction_transition_velocity#
Defines the slip velocity at which the static coefficient of friction, mu_static, is applied.
See
Contact.stiction_transition_velocity
.Type=Double, Default=1
- contact_stiffness#
Specifies the stiffness parameter of the gears contact.
See
Contact.stiffness
.Type=Double, Default=100000.0
- dedendum_coefficient#
The basic rack dedendum coefficient. (hf*)
Type=Double, Default=1.25
- export_graphic#
Exports the gears geometries in two .stl files.
Type=Bool, Default=False
- export_parameters#
Exports the calculated gearset and gears parameters into a .json file.
Type=Bool, Default=False
- g1_connection_part#
The connection part of the gear 1 element.
Type=Reference (Body), Required
- g3_connection_part#
The connection part of the gear 3 element.
Type=Reference (Body), Required
- gear_ratio#
The gear ratio. It is defined as (z2/z1) for simple helical gear setor (z3/z1) for the planetary gear set (u).
Type=Double, Required, Default=0.0
- helix_angle#
The helix angle in the pitch diameter.
Type=Double, Required
- hub_diameter_1#
The hub diameter of the gear 1.
Type=Double, Default=0.0
- hub_diameter_2#
The hub diameter of the gear 2.
Type=Double, Default=0.0
- hub_diameter_3#
The hub diameter of the gear 3.
Type=Double, Default=0.0
- id#
The id of the object.
Type=Int
- j1#
The circumferential backlash ratio (multiplied by circular pitch), linear measure along pitch circle of the gear 1. (j1*)
See Comment 2.
Type=Double, Default=0.04
- j2#
The circumferential backlash ratio (multiplied by circular pitch), linear measure along pitch circle of the gear 2. (j2*)
See Comment 2.
Type=Double, Default=0.04
- j3#
The circumferential backlash ratio (multiplied by circular pitch), linear measure along pitch circle of the gear 3. (j3*)
Type=Double, Default=0.04
- label#
The label of the composite element.
Type=Str
- module#
The normal module of the gears. (mn)
Type=Double, Required, Default=0.0
- name#
Defines a nametag for the object.
Type=Str
- non_uniform_factor#
Defines the factor of the non uniform mesh. The length of each previouselement is multiplied by this factor to get the length of the current element length.
Type=Double, Default=1.2
- num_curve_segments#
(Number of subdivisions for the base curve.) The number of mesh segments on involute profile of the gear. When using non uniform mesh this parameter will be always an even number.(The profile is split on two symmetric regions)
Type=Int, Default=10
- num_of_teeth_1#
The number of teeth of the gear 1. (z1)
Type=Int, Required, Default=0
- num_of_teeth_2#
The number of teeth of the gear 2. (z2)
Type=Int, Required, Default=0
- num_of_teeth_3#
The number of teeth of the gear 3. (z3)
Type=Int, Required, Default=0
- num_width_segments#
(Number of subdivisions for the width.)The number of mesh segments on the width of the gear.
Type=Int, Default=20
- number_of_planets#
The number of planet gears. (N)
Type=Int, Default=3
- pressure_angle#
The normal pressure angle. (alpha) - [deg].
Type=Double, Required
- rm#
The reference marker of the composite element.
Type=Reference (Marker), Required
- rm_2#
The reference marker of the gear 2 element.
Type=Reference (Marker)
- tool_tip_radius_coefficient#
The basic rack tool tip radius coefficient. (rf*)
Type=Double, Default=0.38
- width_1#
Gear 1 width.
Type=Double, Required
- width_2#
Gear 2 width.
Type=Double, Required
- width_3#
Gear 3 width.
Type=Double, Required
- x3#
The normal profile shift coefficient of the gear 3 (x*3).
Type=Double