Skip to content

Commit d9b3895

Browse files
committed
fix: addressed issue with extend offset surface feature
#40
1 parent b20abb6 commit d9b3895

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

lib/gridfinityUtils/baseGenerator.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -215,9 +215,12 @@ def createBaseWithClearance(input: BaseGeneratorInput, targetComponent: adsk.fus
215215
)
216216
offsetFacesFeature = features.offsetFeatures.add(offsetFacesInput)
217217
offsetFacesFeature.name = "bin base side faces"
218-
offsetFacesFeature.bodies.item(0).name = "bin base side faces"
219218

220-
extentEdge = faceUtils.getTopHorizontalEdge(offsetFacesFeature.bodies.item(0).edges)
219+
# original solid body might be included into feature bodies array, find created surfaces using isSolid flag
220+
offsetSurfaceBodies = [body for body in list(offsetFacesFeature.bodies) if not body.isSolid][0]
221+
offsetSurfaceBodies.name = "bin base side faces"
222+
223+
extentEdge = faceUtils.getTopHorizontalEdge(offsetSurfaceBodies.edges)
221224
extendClearanceSurfaceFeatureInput = features.extendFeatures.createInput(
222225
commonUtils.objectCollectionFromList([extentEdge]),
223226
adsk.core.ValueInput.createByReal(input.xyTolerance * 2),
@@ -238,7 +241,7 @@ def createBaseWithClearance(input: BaseGeneratorInput, targetComponent: adsk.fus
238241
thickenFeaure = features.thickenFeatures.add(thickenFeatureInput)
239242
thickenFeaure.name = "clearance"
240243
thickenFeaure.bodies.item(0).name = "bin base clearance layer"
241-
features.removeFeatures.add(offsetFacesFeature.bodies.item(0))
244+
features.removeFeatures.add(offsetSurfaceBodies)
242245

243246
# thickened body would go beyond the bottom face, use bounding box to make bottom flat
244247
clearanceBoundingBox = extrudeUtils.createBoxAtPoint(

0 commit comments

Comments
 (0)