Abaqus 利用FindAt函数根据坐标查找线(弧线)
(2016-05-14 13:55:07)
标签:
abaqusfindatpython |
分类: Abaqus技术及二次开发 |
Required argument
coordinates
findAt returns either an Edge object or a sequence of Edge
objects based on the type of input.
If coordinates is a sequence of Floats, findAt returns the
Edge object at that point.
If you omit the coordinates keyword argument, findAt accepts
as arguments a sequence of sequence of floats in the following
format:
edges = e.findAt(((20.19686, -169.513997, 27.798593), ),
Return value
An Edge object or a sequence of Edge objects.
示例:
#加载
#一次选择一条边进行加载
a = mdb.models['Model-1'].rootAssembly
s1 = a.instances['Part-1-1'].edges
#这个点的坐标只需要在这条线上即可,这个坐标位置处不一定得有关键点存在
side1Edges1 =s1.findAt(((20.0,5.0,0.0),))
region = a.Surface(side1Edges=side1Edges1,
name='Surf-1')
mdb.models['Model-1'].Pressure(name='Load-1',
createStepName='Step-1',
#####一次选择两条边进行加载
#这个点的坐标只需要在这条线上即可,这个坐标位置处不一定得有关键点存在
side1Edges2
=s1.findAt(((10.0,10.0,0.0),),((-10.0,10.0,0),))
region2 = a.Surface(side1Edges=side1Edges2,
name='Surf-1')
mdb.models['Model-1'].Pressure(name='Load-1',
createStepName='Step-1',
#选择一条弧线进行加载
import math
cood_x=5.0*math.sin(45.0/180.0*math.pi)
cood_y=5.0*math.cos(45.0/180.0*math.pi)
side1Edges3 =s1.findAt(((cood_x,cood_y,0.0),))
region3 = a.Surface(side1Edges=side1Edges3,
name='Surf-1')
mdb.models['Model-1'].Pressure(name='Load-1',
createStepName='Step-1',
#选择一个院的四条弧线进行加载
cood_x=5.0*math.sin(45.0/180.0*math.pi)
cood_y=5.0*math.cos(45.0/180.0*math.pi)
side1Edges4
=s1.findAt(((cood_x,cood_y,0.0),),((-cood_x,cood_y,0.0),),((-cood_x,-cood_y,0.0),),((cood_x,-cood_y,0.0),))
region4 = a.Surface(side1Edges=side1Edges4,
name='Surf-1')
mdb.models['Model-1'].Pressure(name='Load-1',
createStepName='Step-1',
#######选择一条边施加约束
a = mdb.models['Model-1'].rootAssembly
e1 = a.instances['Part-1-1'].edges
edges1 = e1.findAt(((-20.0,5.0,0.0),))
region = a.Set(edges=edges1, name='Set-1')
mdb.models['Model-1'].DisplacementBC(name='BC-1',
createStepName='Step-1',
mdb.models['Model-1'].boundaryConditions['BC-1'].move('Step-1',
'Initial')
#######选择两条边施加约束
edges1 =
e1.findAt(((-20.0,5.0,0.0),),((-20.0,-5.0,0.0),))
region = a.Set(edges=edges1, name='Set-1')
mdb.models['Model-1'].DisplacementBC(name='BC-1',
createStepName='Step-1',
mdb.models['Model-1'].boundaryConditions['BC-1'].move('Step-1',
'Initial')
#######选择一条弧线施加约束
import math
cood_x=5.0*math.sin(45.0/180.0*math.pi)
cood_y=5.0*math.cos(45.0/180.0*math.pi)
edges1 = e1.findAt(((cood_x,cood_y,0.0),))
region = a.Set(edges=edges1, name='Set-1')
mdb.models['Model-1'].DisplacementBC(name='BC-1',
createStepName='Step-1',
mdb.models['Model-1'].boundaryConditions['BC-1'].move('Step-1',
'Initial')
#######选择圆的四条弧线施加约束
edges1 =
e1.findAt(((cood_x,cood_y,0.0),),((-cood_x,cood_y,0.0),),((-cood_x,-cood_y,0.0),),((cood_x,-cood_y,0.0),))
region = a.Set(edges=edges1, name='Set-1')
mdb.models['Model-1'].DisplacementBC(name='BC-1',
createStepName='Step-1',
mdb.models['Model-1'].boundaryConditions['BC-1'].move('Step-1',
'Initial')

加载中…