From 33cbe8193899fc29f83a56da5e19838e30e06b7b Mon Sep 17 00:00:00 2001 From: Chris Bruner Date: Mon, 3 Nov 2025 16:41:03 -0500 Subject: [PATCH] Fix GearConnector AttributeError: replace dw with pitch_diameter The obsolete 'dw' property was removed from gear objects but GearConnector was still accessing it, causing AttributeError when connecting gears. Replaced all instances with 'pitch_diameter.Value' property. --- freecad/gears/connector.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/freecad/gears/connector.py b/freecad/gears/connector.py index 573f579..1a05d5d 100644 --- a/freecad/gears/connector.py +++ b/freecad/gears/connector.py @@ -115,8 +115,8 @@ class GearConnector(object): angle_master = fp.master_gear.Placement.Rotation.Angle * sum( fp.master_gear.Placement.Rotation.Axis ) - dw_master = fp.master_gear.dw - dw_slave = fp.slave_gear.dw + dw_master = fp.master_gear.pitch_diameter.Value + dw_slave = fp.slave_gear.pitch_diameter.Value dist = (dw_master + dw_slave) / 2 if fp.master_gear.shift != 0 or fp.slave_gear.shift != 0: dist, alpha_w = compute_shifted_gears( @@ -148,8 +148,8 @@ class GearConnector(object): angle_master = fp.master_gear.Placement.Rotation.Angle * sum( fp.master_gear.Placement.Rotation.Axis ) - dw_master = fp.master_gear.dw - dw_slave = fp.slave_gear.dw + dw_master = fp.master_gear.pitch_diameter.Value + dw_slave = fp.slave_gear.pitch_diameter.Value dist = (dw_master - dw_slave) / 2 if fp.master_gear.shift != 0 or fp.slave_gear.shift != 0: dist, alpha_w = compute_shifted_gears( @@ -185,7 +185,7 @@ class GearConnector(object): angle_master = fp.master_gear.Placement.Rotation.Angle * sum( fp.master_gear.Placement.Rotation.Axis ) - dw_master = fp.master_gear.dw.Value + dw_master = fp.master_gear.pitch_diameter.Value dw_slave = 0 dist = -(dw_master + dw_slave) / 2 mat0 = app.Matrix() # unity matrix @@ -205,8 +205,8 @@ class GearConnector(object): angle_master = fp.master_gear.Placement.Rotation.Angle * sum( fp.master_gear.Placement.Rotation.Axis ) - dw_master = fp.master_gear.dw - dw_slave = fp.slave_gear.dw + dw_master = fp.master_gear.pitch_diameter.Value + dw_slave = fp.slave_gear.pitch_diameter.Value dist = (dw_master + dw_slave) / 2 mat0 = app.Matrix() # unity matrix trans = app.Vector(dist, 0, 0)