Skip to content

Commit 4a9924e

Browse files
committed
supports negative tab length for posltion tab on right hand side
1 parent 83592ad commit 4a9924e

File tree

1 file changed

+20
-10
lines changed

1 file changed

+20
-10
lines changed

lib/gridfinityUtils/binBodyGenerator.py

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -199,17 +199,27 @@ def createGridfinityBinBody(
199199
)
200200

201201
compartmentTabInput = BinBodyTabGeneratorInput()
202-
tabOriginPoint = adsk.core.Point3D.create(
203-
compartmentOriginPoint.x
204-
+ max(0, min(input.tabPosition, input.binWidth - input.tabLength))
205-
* input.baseWidth,
206-
compartmentOriginPoint.y + compartmentLength,
207-
compartmentOriginPoint.z,
208-
)
202+
if input.tabLength >= 0:
203+
tabOriginPoint = adsk.core.Point3D.create(
204+
compartmentOriginPoint.x
205+
+ max(0, min(input.tabPosition, input.binWidth - input.tabLength))
206+
* input.baseWidth,
207+
compartmentOriginPoint.y + compartmentLength,
208+
compartmentOriginPoint.z,
209+
)
210+
else:
211+
tabOriginPoint = adsk.core.Point3D.create(
212+
compartmentOriginPoint.x + compartmentWidth
213+
- max(0, min(input.tabPosition, input.binWidth - input.tabLength))
214+
* input.baseWidth,
215+
compartmentOriginPoint.y + compartmentLength,
216+
compartmentOriginPoint.z,
217+
)
218+
209219
compartmentTabInput.origin = tabOriginPoint
210-
compartmentTabInput.length = (
211-
max(0, min(input.tabLength, input.binWidth)) * input.baseWidth
212-
)
220+
compartmentTabInput.length = math.copysign((
221+
max(0, min(abs(input.tabLength), input.binWidth)) * input.baseWidth
222+
), input.tabLength)
213223
compartmentTabInput.width = input.tabWidth
214224
compartmentTabInput.overhangAngle = input.tabOverhangAngle
215225
compartmentTabInput.topClearance = const.BIN_TAB_TOP_CLEARANCE

0 commit comments

Comments
 (0)