ABAQUS随机骨料python二次开发代码——二维椭圆颗粒生成
在<a href="/major/abaqus">ABAQUS中生成的模型展示
可以根据自己的需要调整粒径大小和数量。
2.部分代码展示
角度范围 0-90
import math
#定义创建椭圆的函数
def create_ellipse(centerx,centery,a,b,angle):
s1.EllipseByCenterPerimeter(center=(centerx,centery), axisPoint1=(centerx+ a*math.cos(angle),centery+a*math.sin(angle)), axisPoint2=(centerx- b*math.sin(angle),centery+b*math.cos(angle)))
import random
center_coord = []
center_coord3D=[]
while len(center_coord) < number:
centerx = random.uniform(0 + max_diameter/2,length-max_diameter/2)
centery = random.uniform(0 + max_diameter/2,width - max_diameter/2)
error = 0
for result_x,result_y in center_coord:
if ((centerx - result_x)**2 + (centery - result_y) ** 2) ** 0.5 < max_diameter:
error = 1
break
if error == 0:
center_coord.append([centerx,centery])
radius = max_diameter/2
angle = random.uniform(0,math.pi*2)
create_ellipse(centerx,centery,a,b,angle)
备注:代码很长请付费立得代码压缩包,谢谢合作。
该付费内容为:ABAQUS随机骨料python二次开发代码——二维椭圆颗粒生成
包含1个附件 18人购买