When we use ANSYS ACT in DesignModeler, we can use API to create primitives. Those primitives become the bodies. Is there a way to change the bodies' name before or when we add those bodies to feature. 

 

For example, I want to create a square pack microstructure. Is there a way to change and the name of fiber and matrix? The codes are following:

 

ExtAPI.Log.WriteMessage("Generating Square Pack Microstucture 2D...")

 

# Unit Length of the SG

L = 1.0e3

 

# Collect the volume fraction of the fiber

volume_fraction = feature.Properties["Volume Fraction of Fiber"].Value

 

# Calculate the radius of the fiber

radius = L * ( volume_fraction / math.pi ) ** (1./2.)

 

# Empty SG (array) to collect the entities generated

SG = []

 

# Some useful builder

primitive = ExtAPI.DataModel.GeometryBuilder.Primitives  

operation = ExtAPI.DataModel.GeometryBuilder.Operations

 

# Created matrix

sheet_square = primitive.Sheet.CreatePolygon([L/2., L/2., 0., -L/2., L/2., 0., -L/2., -L/2., 0., L/2., -L/2., 0.]).Generate()

wire = primitive.Wire.CreateArc(radius, [0., 0., 0.], [1., 0., 0.], [0., 0., 1.]).Generate()

sheet_circle = operation.Tools.WireToSheetBody(wire)

matrix = operation.CreateSubtractOperation([sheet_circle]).ApplyTo([sheet_square])[0]

 

# Create fiber

wire = primitive.Wire.CreateArc(radius, [0., 0., 0.], [1., 0., 0.], [0., 0., 1.]).Generate()   

fiber = operation.Tools.WireToSheetBody(wire)

 

# Create Part

part = operation.Tools.CreatePart([fiber, matrix])

part.Name = 'Square Pack Microstucture 2D'

 

SG.Add(part)

 

# Add resultant entities to feature

feature.Bodies = SG

# Assign material type to the entities. Different options are Add, Cut, Freeze

feature.MaterialType = MaterialTypeEnum.Freeze