Abaqus多个Surface set合并成一个面

a=mdb.models['new_write_data'].rootAssembly
a.SurfaceByBoolean(name='Surf-fault1', surfaces=(a.surfaces['Surf1-1'], 
    a.surfaces['Surf1-2'], a.surfaces['Surf1-3'], a.surfaces['Surf1-4'], 
    a.surfaces['Surf1-5'], a.surfaces['Surf1-6'], a.surfaces['Surf1-7'], 
    a.surfaces['Surf1-8'], a.surfaces['Surf1-9'], a.surfaces['Surf1-10'], 
    a.surfaces['Surf1-11'], a.surfaces['Surf1-12'], a.surfaces['Surf1-13'], 
    a.surfaces['Surf1-14'], a.surfaces['Surf1-15'], a.surfaces['Surf1-16'], 
    a.surfaces['Surf1-17'], a.surfaces['Surf1-18'], a.surfaces['Surf1-19'], 
    a.surfaces['Surf1-20'], a.surfaces['Surf1-21'], a.surfaces['Surf1-22'], 
    a.surfaces['Surf1-23'], a.surfaces['Surf1-24'], a.surfaces['Surf1-25'], 
    a.surfaces['Surf1-26'], a.surfaces['Surf1-27'], a.surfaces['Surf1-28'], 
    a.surfaces['Surf1-29'], a.surfaces['Surf1-30'], a.surfaces['Surf1-31'], 
    a.surfaces['Surf1-32'], a.surfaces['Surf1-33'], a.surfaces['Surf1-34'], 
    a.surfaces['Surf1-35'], a.surfaces['Surf1-36'], a.surfaces['Surf1-37'], 
    a.surfaces['Surf1-38'], a.surfaces['Surf1-39'], a.surfaces['Surf1-40'], ))
        在Abaqus设置接触问题时候,需要设置Surface set,在CAE中如果可以直接通过鼠标选择那是极好的。但是在一些特殊情况,需要我们使用Pyhton进行二次开发时候,这个命令就比较友好。通过命令行可以看出,我们在设置Surface set时候,将面的名字进行了统一编码,这样为了方便使用For循环批量化处理,上面代码可以简化为:
def ele_faces_to_fault_face(a,all_fault_surf_name,L,n,model_name):
#后面在多断层的时候还需要修改合并后的Surf名字,比如,Surf-fault-name-str(n)
    surf_set = ()
    for i in range(0,L,1): #这个可以检验正确性,L是否等于all_fault_surf_name的长度
        tmp = a.surfaces[all_fault_surf_name[i]]#必须是Tuple数据类型
        surf_set = surf_set + (tmp,)
    a=mdb.models[model_name].rootAssembly
    a.SurfaceByBoolean(name='Surf-fault'+str(n),surfaces=surf_set)

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值