Message 1 of 2
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hello,
I can't figure out how to cut a B-Rep body with multiple profiles at once:
#Author- #Description- import adsk.core, adsk.fusion, adsk.cam, traceback def run(context): ui = None try: allProfiles = False app = adsk.core.Application.get() ui = app.userInterface design = adsk.fusion.Design.cast(app.activeProduct) rootComponent = design.rootComponent sketches = rootComponent.sketches sketchesPlane = rootComponent.xYConstructionPlane sketch1 = sketches.add(sketchesPlane) sketch1.name = 'Square' lines = sketch1.sketchCurves.sketchLines; lines.addTwoPointRectangle(adsk.core.Point3D.create(0, 0, 0), adsk.core.Point3D.create(4, 4, 0)) sketch2 = sketches.add(sketchesPlane) sketch2.name = 'Hole' circles = sketch2.sketchCurves.sketchCircles circles.addByCenterRadius(adsk.core.Point3D.create(1, 1, 0), 0.5) circles.addByCenterRadius(adsk.core.Point3D.create(1, 3, 0), 0.5) circles.addByCenterRadius(adsk.core.Point3D.create(3, 3, 0), 0.5) circles.addByCenterRadius(adsk.core.Point3D.create(3, 1, 0), 0.5) extrudes = rootComponent.features.extrudeFeatures extrudeInput = extrudes.createInput(sketch1.profiles.item(0), adsk.fusion.FeatureOperations.NewBodyFeatureOperation) distance = adsk.core.ValueInput.createByReal(1.0) extrudeInput.setSymmetricExtent(distance, True) extrudes.add(extrudeInput) if allProfiles: extrudeInput = extrudes.createInput(sketch2.profiles, adsk.fusion.FeatureOperations.CutFeatureOperation) distance = adsk.core.ValueInput.createByReal(1.0) extrudeInput.setSymmetricExtent(distance, True) extrudes.add(extrudeInput) else: for profile in sketch2.profiles: extrudeInput = extrudes.createInput(profile, adsk.fusion.FeatureOperations.CutFeatureOperation) distance = adsk.core.ValueInput.createByReal(1.0) extrudeInput.setSymmetricExtent(distance, True) extrudes.add(extrudeInput) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
The above code failed when allProfiles is set to True.
Thanks.
Jérôme Briot, Freelance engineer - Mechanical design and prototyping
3D Print Plus / Pro | IDF Import | GitHub To Fusion 360 | Tube Bending Data Exchanger | Slice Data Export
Memory Used | Basic Calculator | Check Computer Specifications | Import spline from any CSV file
Solved! Go to Solution.