@@ -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