@@ -190,9 +190,7 @@ def add_computed_properties(self, obj):
190
190
obj .addProperty ("App::PropertyLength" , "df" ,
191
191
"computed" , "root diameter" , 1 )
192
192
obj .addProperty ("App::PropertyLength" , "traverse_module" , "computed" , "traverse module of the generated gear" , 1 )
193
- obj .addProperty ("App::PropertyLength" , "dw" , "computed" , "The pitch diameter." )
194
- obj .setExpression ('dw' , 'teeth * traverse_module' ) # calculate via expression to ease usage for placement
195
- obj .setEditorMode ('dw' , 1 ) # set read-only after setting the expression, else it won't be visible. bug?
193
+ obj .addProperty ("App::PropertyLength" , "dw" , "computed" , "The pitch diameter." , 1 )
196
194
obj .addProperty ("App::PropertyAngle" , "angular_backlash" , "computed" ,
197
195
"The angle by which this gear can turn without moving the mating gear." )
198
196
obj .setExpression ('angular_backlash' , 'backlash / dw * 360° / pi' ) # calculate via expression to ease usage for placement
@@ -215,15 +213,15 @@ def add_accuracy_properties(self, obj):
215
213
"accuracy" , "number of points for spline" )
216
214
217
215
def compute_traverse_properties (self , obj ):
218
- if "properties_from_tool" in obj .PropertiesList :
219
- obj .gear .properties_from_tool = obj .properties_from_tool
216
+ if obj .properties_from_tool :
220
217
obj .traverse_module = obj .module / np .cos (obj .gear .beta )
221
218
else :
222
219
obj .traverse_module = obj .module
223
220
224
221
obj .transverse_pitch = "{}mm" .format (obj .gear .pitch )
225
222
obj .da = "{}mm" .format (obj .gear .da )
226
223
obj .df = "{}mm" .format (obj .gear .df )
224
+ obj .dw = "{}mm" .format (obj .gear .dw )
227
225
228
226
def generate_gear_shape (self , obj ):
229
227
obj .gear .double_helix = obj .double_helix
@@ -237,8 +235,9 @@ def generate_gear_shape(self, obj):
237
235
obj .gear .backlash = obj .backlash .Value * \
238
236
(- obj .reversed_backlash + 0.5 ) * 2.
239
237
obj .gear .head = obj .head
240
- obj .gear ._update ()
238
+ obj .gear .properties_from_tool = obj . properties_from_tool
241
239
240
+ obj .gear ._update ()
242
241
self .compute_traverse_properties (obj )
243
242
244
243
0 commit comments