Commit Graph

15 Commits

Author SHA1 Message Date
Jonas Bähr
115b6e6bce PD: Cleanup InvoluteGear's Task Panel Code
Use new-style connect syntax and drop a lot of copy&paste code by
generating the value-assigning signal handlers on the fly.
2023-01-22 21:44:03 +01:00
Jonas Bähr
88928f7938 PD: Add new props to InvoluteGear's task panel 2023-01-22 21:44:03 +01:00
Jonas Bähr
2d497424c1 PD: Make involute gear's root fillet radius configurable
The original implementation always took 150% of the addendum/dedendum
difference as fillet radius. For a standard full-depth system this
results in a normalized value 0f 0.375, which is pretty close to the 0.38
definded by the basic ISO rack. However, when using much shorter teeth as
e.g. required for a splined shaft, the fillet becomes way too large.

In addition, I don't understand the approximation to calculate the
distance between the gear's center and the top of the fillet yet. It was
only refactored to allow the custom fillet radii, but it retuns the same
values as the original implementation.
However, with high pressure angles, up to 45° used for splines, this
approximation comes to its limits.
2023-01-22 21:44:03 +01:00
Jonas Bähr
0a7fa862d9 PD: Make the involute gear's toogh length configurable
Exposing the addednum and dedendum coefficients as properties allows to
change the tooth length above and below the pitch circle. This makes it
possible to use the profile beyond standard full-depth systems, e.g. for
stub tooths and most importantly: involute splined shafts and hubs.

Gear objets created with earlier versions automatically get the
additional properties on document restore. Its values match the hard-
coded values used in earlier versions.

There is a change when creating *new* internal gear profiles, though:
Previously, an addendum coefficient of 0.6 was used, presumably to reduce
the tip length beyond the base circle in order to avoid a non-involute
edge. This method is one proposal from the "Handbook of Gear Design" by
Gitin M. Maitra, as referenced in the original source code comments.

However, Maitra also states that this reduction of the anual gear's tip
in turn requires an enlagement of the mating gear of 1.25 instead of the
ordinary 1.0. And it is only required for a low numer of teeth and/or the
mating gear being quite large (less than 10 teeth in difference, to avoid
interferences).
Because those additional requirements and conditions have not been
implemented, the previously used values have been incomplete anyway. Thus
I decided to not implemented this special case and use the standard
values of 1.0/1.25 for newly created external and internal gears alike.
Internal gears need special care for other kind of interference anyway
and the newly exposed properties now allow to do so.

There is no entry in the task panel for those advanced properties yet.
2023-01-22 21:44:03 +01:00
Jonas Bähr
a51122e2fc PD: Refactor InvoluteGear's property creation
This is a pure refactor, without any change in visibile functionality.
However, the new structure allows easy addition of new properties without
breaking existing documents.
2023-01-22 21:44:03 +01:00
luz paz
d265c9ff63 PD: remove trailing whitespace 2022-11-10 10:32:04 +01:00
luz.paz
dc8bf3dc39 PartDesign: [skip ci] fix header uniformity
This PR fixes header uniformity across all PartDesign WB files
2019-12-22 00:58:38 +01:00
wmayer
1816164a8d fixes 0003380: Involute gear should be created inside of Body and respect Attachment 2018-09-22 20:10:48 +02:00
Kunda
9410e751e9 source typo fixes pt4 (only on py3 merged code) 2017-03-02 13:47:21 +01:00
DeepSOIC
a927d46406 InvoluteGear: positionBySupport 2016-04-12 18:12:12 +02:00
wmayer
cd3d36342f + fix unit tests 2016-02-09 16:00:38 +01:00
wmayer
1765741648 minor fixes in gear panel 2014-08-08 13:21:06 +02:00
Aglef Kaiser
3274bcb71b Involute gear script extended for internal gears 2014-08-08 12:10:38 +02:00
wmayer
bd9ec33654 + Disable debug prints in gear feature, fix JSON error on save and load 2014-02-28 10:21:49 +01:00
jriegel
9620336b60 Implement the python gear feature 2014-02-16 22:19:59 +01:00