此脚本可以实现三维骨料的随机分布,有问题联系QQ1498356982
# -*- coding: utf-8 -*-
"""
Created on 10 Jun 10 22:18:10 2021
@author: guozihao
"""
from abaqus import *
from abaqusConstants import *
import random
myModel = mdb.models['GZH']
sndc = 1.0 #水泥粒径
snvol = 0.0001 #水泥体积分数
szdc = 2.0 #沙子粒径
szvol = 0.001 #沙子体积分数
stdc = 6.0 #石头粒径
stvol = 0.01 #石头体积分数
vBa = 75.0*75.0*275.0 #基体体积
#新建基体
def basic():
s1 = myModel.ConstrainedSketch(name='__profile__', sheetSize=200.0)
s1.rectangle(point1=(-137.5, 37.5), point2=(137.5, -37.5))
p = myModel.Part(name='basic', dimensionality=THREE_D, type=DEFORMABLE_BODY)
p.BaseSolidExtrude(sketch=s1, depth=75.0)
del myModel.sketches['__profile__']
def qiu(na,a,n):
nq=na+str(n)
s1 = myModel.ConstrainedSketch(name='__profile__', sheetSize=200.0)
s1.ConstructionLine(point1=(0.0, -100.0), point2=(0.0, 100.0))
s1.ArcByCenterEnds(center=(0.0, 0.0), point1=(0.0, a/2), point2=(0.0, -a/2), direction=CLOCKWISE)
s1.Line(point1=(0.0, a/2), point2=(0.0, -a/2))
p = myModel.Part(name=nq, dimensionality=THREE_D, type=DEFORMABLE_BODY)
p.BaseSolidRevolve(sketch=s1, angle=360.0, flipRevolveDirection=OFF)
del myMode