def demo_holeFeatures_add_counterbore(rootComp: adsk.fusion.Design.rootComponent): # Have the face and edges selected. face: adsk.fusion.BRepFace = _ui.selectEntity('Select a face', 'Faces').entity edge: adsk.fusion.BRepEdge = _ui.selectEntity('Select edge', 'Edges').entity # Define the needed inputs. holeDiam = adsk.core.ValueInput.createByString('10 mm') holeDepth = adsk.core.ValueInput.createByReal(5) counterboreDiam = adsk.core.ValueInput.createByString('20 mm') counterboreDepth = adsk.core.ValueInput.createByString('3 mm') offset1 = adsk.core.ValueInput.createByReal(4) offset2 = adsk.core.ValueInput.createByReal(6) holeFeatures: adsk.fusion.HoleFeatures = rootComp.features.holeFeatures input = holeFeatures.createCounterboreInput(holeDiam, counterboreDiam, counterboreDepth) input.setDistanceExtent(holeDepth) facePoint = face.pointOnFace input.setPositionOnEdge(face, edge, adsk.fusion.HoleEdgePositions.EdgeMidPointPosition) holeFeature = holeFeatures.add(input)