Download as pdf or txt
Download as pdf or txt
You are on page 1of 1

ABAQUS COMMAND

import Python dependencies

Mdb() from driverUtils inport executeOnCaeStartup

from caeModules import *

from abaqus import *

from abaqusConstants import *

generate Cell Cube

Mesh Cell Cube s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',

p = mdb.models['Model-1'].parts['v0'] sheetSize=200.0)

p.seedPart(size=1.0, deviationFactor=0.1, minSizeFactor=0.1) g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints

p = mdb.models['Model-1'].parts['v0'] s1.setPrimaryObject(option=STANDALONE)
I/O Design
p.generateMesh() s1.rectangle(point1=(0.0, 0.0), point2=(10.0, 10.0))

Input
p = mdb.models['Model-1'].Part(name='v0', dimensionality=THREE_D,type=DEFORMABLE_BODY)

p = mdb.models['Model-1'].parts['v0'] fractLevel

p.BaseSolidExtrude(sketch=s1, depth=10.0) Cube Size

s1.unsetPrimaryObject() seedSize

GUI Design
p = mdb.models['Model-1'].parts['v0'] size

del mdb.models['Model-1'].sketches['__profile__'] 输入框


deviationFactor

Liner Pattern(Cell/Part) miniSizeFactor fractal level

Process size of Sponge


Shrink Result Step 1.Horizontal Pattern

seeds number on single cell


proc_level
p = mdb.models['Model-1'].Part(name='Part-4-Copy', a1 = mdb.models['Model-1'].rootAssembly
objectToCopy=mdb.models['Model-1'].parts['Part-4'], compressFeatureList=ON, a1.LinearInstancePattern(instanceList=('v0-1', ), direction1=(1.0, 0.0, 0.0), otherParameter
scale=0.001) direction2=(0.0, 1.0, 0.0), number1=3, number2=3, spacing1=10.0, patternDimensionDictionary
spacing2=10.0)
按钮
distanceBetweenCubes
Step 2.Vertical Pattern
Generate
partsDictionary
Step 2.1 Vertical Pattern(Rule A)
zoomSize

a1 = mdb.models['Model-1'].rootAssembly
a1.LinearInstancePattern(instanceList=('v0-1', 'v0-1-lin-1-2', 'v0-1-lin-1-3', Output
'v0-1-lin-2-1', 'v0-1-lin-2-2', 'v0-1-lin-2-3', 'v0-1-lin-3-1',
'v0-1-lin-3-2', 'v0-1-lin-3-3'), direction1=(0.0, 0.0, 1.0), direction2=(
0.0, 1.0, 0.0), number1=3, number2=1, spacing1=10.0, spacing2=30.0) Part['menger_sponge_v$(fractLevel)']

Step 2.2 Vertical Pattern(Rule B)

a1 = mdb.models['Model-1'].rootAssembly
a1.LinearInstancePattern(instanceList=('v0-1-lin-2-3', 'v0-1-lin-1-2',
'v0-1-lin-2-1', 'v0-1-lin-3-2'), direction1=(0.0, 0.0, 1.0), direction2=(
0.0, 1.0, 0.0), number1=2, number2=1, spacing1=20.0, spacing2=30.0)

Step 3.Dele Useless subPart

del a.features['v0-1-lin-2-2']

Step 4.Merge subParts to Part

a1 = mdb.models['Model-1'].rootAssembly
a1.InstanceFromBooleanMerge(name='v1', instances=(a1.instances['v0-1'],
a1.instances['v0-1-lin-1-2'], a1.instances['v0-1-lin-1-3'],
a1.instances['v0-1-lin-2-1'], a1.instances['v0-1-lin-2-3'],
a1.instances['v0-1-lin-3-1'], a1.instances['v0-1-lin-3-2'],
a1.instances['v0-1-lin-3-3'], a1.instances['v0-1-lin-1-3-lin-2-1'],
a1.instances['v0-1-lin-1-3-lin-3-1'], a1.instances['v0-1-lin-3-3-lin-2-1'],
a1.instances['v0-1-lin-3-3-lin-3-1'], a1.instances['v0-1-lin-3-1-lin-2-1'],
a1.instances['v0-1-lin-3-1-lin-3-1'], a1.instances['v0-1-lin-2-1-1'],
a1.instances['v0-1-lin-3-1-1'], a1.instances['v0-1-lin-2-3-lin-2-1'],
a1.instances['v0-1-lin-1-2-lin-2-1'], a1.instances['v0-1-lin-3-2-lin-2-1'],
a1.instances['v0-1-lin-2-1-lin-2-1'], ), mergeNodes=ALL,
nodeMergingTolerance=1e-06, domain=MESH, originalInstances=DELETE)

a1.InstanceFromBooleanMerge(name='Part-4', instances=(a1.instances['Part-1-1'],
a1.instances['Part-1-2'], ), mergeNodes=ALL, nodeMergingTolerance=1e-06,
domain=MESH, originalInstances=DELETE)

You might also like