#!/usr/bin/python
# -*- coding: utf-8 -*-
#-*-coding: UTF-8 -*-
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
#找到装配体
a = mdb.models[modelNameDE].rootAssembly
#选择的节点在装配体中处于那一个instances上,可自己添加
n = a.instances['test-1'].nodes
m = a.instances['test-2'].nodes
#初始化nodes列表中元素类型为MeshNode object
myNodes = n[0:1]
#下次循环前进的位移
d = 625
#循环次数
k = 60
for i in range(k):
#选择的矩形区域的两个顶点,getByBoundingBox(xmin,ymin,zmin,xmax,ymax,zmax)
nlist = n.getByBoundingBox(-100-1,-100-1,450-1+i*d,1100+1,-100+1,625+1+i*d)
mlist = m.getByBoundingBox(-100-1,-100-1,450-1+i*d,1100+1,-100+1,625+1+i*d)
#使用序列切片,防止元素类型发生变化
myNodes += nlist[0:len(nlist)]+mlist[0:len(mlist)]
if i==(k-1):
a.Set(name='test', nodes=myNodes[1:len(myNodes)])
此代码远没有你想象的那么简单,如果有改进意见欢迎提出
abaqus批量选择节点建立节点集脚本