LCInterlocking
LCInterlocking copied to clipboard
tolerance nut width not possible to adjust
it is not possible to add a margin to the nut width from the gui I need more tolerance as I 3D print the parts.
Current work around manually added a tolerance in get_screw_nut_spec in helper.py. I tried to change your code but although I like your module. Your code style suffers from a lot of boiler plate code... Look at the function; there is a lot of repetitive patterns.. The style is not optimal... Still I do like your module a lot 👍
def get_screw_nut_spec(metric_diameter, metric_length):
width_tol = 3
height_tol = 1
if metric_diameter == 1.6:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=3.2+width_tol, nut_height=1.3+height_tol)
elif metric_diameter == 2:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=4.+width_tol, nut_height=1.6+height_tol)
elif metric_diameter == 2.5:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=5.+width_tol, nut_height=2.+height_tol)
elif metric_diameter == 3:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=5.5+width_tol, nut_height=2.4+height_tol)
elif metric_diameter == 4:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=7.+width_tol, nut_height=3.2+height_tol)
elif metric_diameter == 5:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=8.+width_tol, nut_height=4.7+height_tol)
elif metric_diameter == 6:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=10+width_tol, nut_height=5.2+height_tol)
elif metric_diameter == 8:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=13.+width_tol, nut_height=6.8+height_tol)
elif metric_diameter == 10:
return ObjectProperties(screw_diameter=metric_diameter, screw_length=metric_length,
screw_length_tol=0.1, nut_flat_flat=16.+width_tol, nut_height=8.4+height_tol)
raise ValueError("Unknown screw diameter")
```python