#Author- #Description- import adsk.core, adsk.fusion, traceback def run(context): ui = None try: app = adsk.core.Application.get() ui = app.userInterface # Create a document. doc = app.documents.add(adsk.core.DocumentTypes.FusionDesignDocumentType) product = app.activeProduct design = adsk.fusion.Design.cast(product) # Get the root component of the active design. rootComp = design.rootComponent # Get remove features features = rootComp.features removeFeatures = features.removeFeatures # Create sketch circle on the xz plane. sketches = rootComp.sketches sketch = sketches.add(rootComp.xZConstructionPlane) sketchCircles = sketch.sketchCurves.sketchCircles centerPoint = adsk.core.Point3D.create(0, 0, 0) sketchCircles.addByCenterRadius(centerPoint, 10) # Create a collection of entities for extrude entities0 = adsk.core.ObjectCollection.create() entities0.add(sketch.profiles.item(0)) # Create a cylinder with ExtrudeFeature using the profile above. extrudeFeats = features.extrudeFeatures extrudeFeatureInput = extrudeFeats.createInput(entities0, adsk.fusion.FeatureOperations.NewBodyFeatureOperation) extrudeFeatureInput.isSolid = True extrudeFeatureInput.setDistanceExtent(False, adsk.core.ValueInput.createByReal(2.5)) extrudeFeature = extrudeFeats.add(extrudeFeatureInput) # Get created body body = extrudeFeature.bodies[0] # Create remove feature removeFeat = removeFeatures.add(body) # Create an occurrence occs = rootComp.occurrences occ = occs.addNewComponent(adsk.core.Matrix3D.create()) # Create remove feature removeFeat2 = removeFeatures.add(occ) except: if ui: ui.messageBox('Failed:\n{}'.format(traceback.format_exc()))
/** * Remove Feature * Demonstrates creating a new remove feature. */ import { adsk } from '@adsk/fusion'; function run() { // Get the Fusion API's application object const app = adsk.core.Application.get(); if (!app) throw Error("No adsk.core.Application."); // Create a document. const doc = app.documents.add(adsk.core.DocumentTypes.FusionDesignDocumentType) // Create a document. const design = app.activeProduct as adsk.fusion.Design // Get the root component of the active design. const rootComp = design.rootComponent //Get remove features const features = rootComp.features const removeFeatures = features.removeFeatures // Create sketch circle on the xz plane. const sketches = rootComp.sketches const sketch = sketches.add(rootComp.xZConstructionPlane) const sketchCircles = sketch.sketchCurves.sketchCircles const centerPoint = adsk.core.Point3D.create(0, 0, 0) sketchCircles.addByCenterRadius(centerPoint, 10) // Create a collection of entities for extrude const entities0 = adsk.core.ObjectCollection.create() entities0.add(sketch.profiles.item(0)) // Create a cylinder with ExtrudeFeature using the profile above. const extrudeFeats = features.extrudeFeatures const extrudeFeatureInput = extrudeFeats.createInput(entities0, adsk.fusion.FeatureOperations.NewBodyFeatureOperation) extrudeFeatureInput.isSolid = true // Define that the extent is a distance extent of 2.5 cm. const distance = adsk.core.ValueInput.createByReal(2.5) const distanceExtentDef = adsk.fusion.DistanceExtentDefinition.create(distance) extrudeFeatureInput.setOneSideExtent(distanceExtentDef, adsk.fusion.ExtentDirections.PositiveExtentDirection) const extrudeFeature = extrudeFeats.add(extrudeFeatureInput) // Get created body const body = extrudeFeature.bodies.item(0) // Create remove feature const removeFeat = removeFeatures.add(body) // Create an occurrence const occs = rootComp.occurrences const occ = occs.addNewComponent(adsk.core.Matrix3D.create()) // Create remove feature const removeFeat2 = removeFeatures.add(occ) } run();