diff --git a/Resources/panels/FlangeParameters.ui b/Resources/panels/FlangeParameters.ui index 1c400ed..a2f20af 100644 --- a/Resources/panels/FlangeParameters.ui +++ b/Resources/panels/FlangeParameters.ui @@ -1408,6 +1408,26 @@ min-width: 28px; + + + Material Inside (90° legacy) + + + + Icons:SheetMetal_WallPosMatIns.svg + + + + + + Thickness Outside (legacy) + + + + Icons:SheetMetal_WallPosThkOut.svg + + + diff --git a/SheetMetalCmd.py b/SheetMetalCmd.py index dc56c0d..d158efe 100644 --- a/SheetMetalCmd.py +++ b/SheetMetalCmd.py @@ -1263,12 +1263,18 @@ def smBend( if BendType == "Material Outside": offset = 0.0 inside = False - elif BendType == "Material Inside": + elif BendType == "Material Inside": # legacy mode for backwards compatibility offset = -(thk + bendR) inside = True - elif BendType == "Thickness Outside": + elif BendType == "Thickness Outside": # legacy mode for backwards compatibility offset = -bendR inside = True + elif BendType == "Material Inside V2": + offset = -(thk + bendR) * abs(math.tan(math.radians(bendA * 0.5))) + inside = True + elif BendType == "Thickness Outside V2": + offset = -bendR * abs(math.tan(math.radians(bendA * 0.5))) + inside = True elif BendType == "Offset": if offset < 0.0: inside = True @@ -1278,14 +1284,14 @@ def smBend( if LengthSpec == "Leg": pass elif LengthSpec == "Tangential": - if bendA >= 90.0: + if bendA >= 90.0 or bendA <= -90.0: extLen -= thk + bendR else: - extLen -= (bendR + thk) / math.tan(math.radians(90.0 - bendA / 2)) + extLen -= (bendR + thk) / abs(math.tan(math.radians(90.0 - bendA / 2))) elif LengthSpec == "Inner Sharp": - extLen -= (bendR) / math.tan(math.radians(90.0 - bendA / 2)) + extLen -= (bendR) / abs(math.tan(math.radians(90.0 - bendA / 2))) elif LengthSpec == "Outer Sharp": - extLen -= (bendR + thk) / math.tan(math.radians(90.0 - bendA / 2)) + extLen -= (bendR + thk) / abs(math.tan(math.radians(90.0 - bendA / 2))) nogaptrimedgelist = [] if not (sketches): @@ -1781,7 +1787,9 @@ def addVerifyProperties(self, obj, refAngOffset=None, checkRefFace=False): obj, "BendType", translate("App::Property", "Bend Type"), - ["Material Outside", "Material Inside", "Thickness Outside", "Offset"], + ["Material Outside", "Material Inside V2", "Thickness Outside V2", "Offset", + # legacy modes + "Material Inside", "Thickness Outside"], ) SheetMetalTools.smAddEnumProperty( obj,