Add rectangular patterns to the sketch via API?

Add rectangular patterns to the sketch via API?

logutov
Explorer Explorer
2,136 Views
5 Replies
Message 1 of 6

Add rectangular patterns to the sketch via API?

logutov
Explorer
Explorer

Hello.

How to add rectangular pattern to sketch via API?

I've found RectangularPatternConstraint in API reference but I'm unable to find how to use it.

Accepted solutions (1)
2,137 Views
5 Replies
Replies (5)
Message 2 of 6

goyals
Autodesk
Autodesk

Please look at the below sample script 

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

# Create sketch
sketches = rootComp.sketches
sketch = sketches.add(rootComp.xZConstructionPlane)
sketchCircles = sketch.sketchCurves.sketchCircles
centerPoint = adsk.core.Point3D.create(0, 0, 0)
sketchCircles.addByCenterRadius(centerPoint, 3.0)

# Get the profile defined by the circle.
prof = sketch.profiles.item(0)

# Create an extrusion input
extrudes = rootComp.features.extrudeFeatures
extInput = extrudes.createInput(prof, adsk.fusion.FeatureOperations.NewBodyFeatureOperation)

# Define that the extent is a distance extent of 5 cm.
distance = adsk.core.ValueInput.createByReal(5)
extInput.setDistanceExtent(False, distance)

# Create the extrusion.
ext = extrudes.add(extInput)

# Get the body created by extrusion
body = ext.bodies.item(0)

# Create input entities for rectangular pattern
inputEntites = adsk.core.ObjectCollection.create()
inputEntites.add(body)

# Get x and y axes for rectangular pattern
xAxis = rootComp.xConstructionAxis
yAxis = rootComp.yConstructionAxis

# Quantity and distance
quantityOne = adsk.core.ValueInput.createByString('3')
distanceOne = adsk.core.ValueInput.createByString('8 cm')
quantityTwo = adsk.core.ValueInput.createByString('3')
distanceTwo = adsk.core.ValueInput.createByString('8 cm')

# Create the input for rectangular pattern
rectangularPatterns = rootComp.features.rectangularPatternFeatures
rectangularPatternInput = rectangularPatterns.createInput(inputEntites, xAxis, quantityOne, distanceOne, adsk.fusion.PatternDistanceType.SpacingPatternDistanceType)

# Set the data for second direction
rectangularPatternInput.setDirectionTwo(yAxis, quantityTwo, distanceTwo)

# Create the rectangular pattern
rectangularFeature = rectangularPatterns.add(rectangularPatternInput)



Shyam Goyal
Sr. Software Dev. Manager
Message 3 of 6

logutov
Explorer
Explorer

Thanks, but this adds rectangular pattern feature. I'm talking about rectangular pattern in sketch (I think it's constraint). 

Message 4 of 6

BrianEkins
Mentor
Mentor
Accepted solution

The API doesn't currently support the creation of sketch patterns.

---------------------------------------------------------------
Brian Ekins
Inventor and Fusion 360 API Expert
Website/Blog: https://EkinsSolutions.com
Message 5 of 6

Anonymous
Not applicable

Any updates on this? Does API support addition of the rect. patterns on sketch now?

0 Likes
Message 6 of 6

BrianEkins
Mentor
Mentor

No, nothing has changed here and I would be surprised to see any changes in the foreseeable future.

---------------------------------------------------------------
Brian Ekins
Inventor and Fusion 360 API Expert
Website/Blog: https://EkinsSolutions.com