#-*-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批量切割脚本