abaqus使用平面批量切割脚本

#-*-coding:UTF-8-*-
# -*- coding: mbcs -*-
#
# Abaqus/CAE Release 6.9-1 replay file
# Internal Version: 2009_04_16-15.31.05 92314
# Run by Administrator on Tue Nov 01 19:36:41 2011
#

# from driverUtils import executeOnCaeGraphicsStartup
# executeOnCaeGraphicsStartup()
#: Executing "onCaeGraphicsStartup()" in the site directory ...
# Do not delete the following import lines
from math import *
from abaqus import *
from abaqusConstants import *
from caeModules import *
from driverUtils import executeOnCaeStartup
executeOnCaeStartup()

#用平移平面的方式建立平面

#自动找到当前model名称
viewportName = session.currentViewportName
modelNameDE=session.viewports[viewportName].displayedObject.modelName

#图形输入函数
#前半为提示,后半为默认参数
field = (	('model名称:',modelNameDE),
			('part名称:','rail'),
            ('基准面ID:','5'),('部件总长:','20000'),
			('平面间距1:','175'),('平面间距2:','450')
        )
#getInputs函数接受的参数与上面一一对应
modelname,\
Part,\
ID,Len ,\
dis1,dis2 = \
getInputs(field,dialogTitle='批量切割')

#转换数据类型
ID = int(ID)
Len = float(Len)
dis1 = float(dis1)
dis2 = float(dis2)

#平移方向,SIDE1为建立基准面时filp箭头的方向,SIDE2为反方向
Filp = SIDE1

p = mdb.models[modelname].parts[Part]
#建平面函数
def creatPlane(ID, Filp, distance):
    d = p.datums
    #plane平面id,flip平面阵列方向,offset平移距离
    a = p.DatumPlaneByOffset(plane=d[ID], flip=Filp, offset=distance)
    return a.id

#切平面函数
def cut(a):
    c = p.cells
    d = p.datums
    p.PartitionCellByDatumPlane(datumPlane=d[a], cells=c)

#主函数
distance = dis1
while(distance<Len):
    cut(creatPlane(ID, Filp, distance))
    distance += dis2
    cut(creatPlane(ID, Filp, distance))
    distance += dis1

abaqus批量切割脚本

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值