@@ -188,8 +188,9 @@ def add_computed_properties(self, obj):
188
188
"computed" , "outside diameter" , 1 )
189
189
obj .addProperty ("App::PropertyLength" , "df" ,
190
190
"computed" , "root diameter" , 1 )
191
+ obj .addProperty ("App::PropertyLength" , "traverse_module" , "traverse module of the generated gear" , 1 )
191
192
obj .addProperty ("App::PropertyLength" , "dw" , "computed" , "The pitch diameter." )
192
- obj .setExpression ('dw' , 'teeth * module ' ) # calculate via expression to ease usage for placement
193
+ obj .setExpression ('dw' , 'teeth * traverse_module ' ) # calculate via expression to ease usage for placement
193
194
obj .setEditorMode ('dw' , 1 ) # set read-only after setting the expression, else it won't be visible. bug?
194
195
obj .addProperty ("App::PropertyAngle" , "angular_backlash" , "computed" ,
195
196
"The angle by which this gear can turn without moving the mating gear." )
@@ -227,6 +228,9 @@ def generate_gear_shape(self, fp):
227
228
# checksbackwardcompatibility:
228
229
if "properties_from_tool" in fp .PropertiesList :
229
230
fp .gear .properties_from_tool = fp .properties_from_tool
231
+ fp .traverse_module = fp .module / np .cos (fp .gear .beta )
232
+ else :
233
+ fp .traverse_module = fp .module
230
234
fp .gear ._update ()
231
235
232
236
# computed properties
0 commit comments