学习Abaqus/Python时,添加约束出现问题,如何解决?

浏览:1582 回答:5

问题描述:

#* TypeError: referencePoint; found 'AbaqusMethod', expecting a recognized type filling string dict

# -*- coding: mbcs -*-

from abaqus import *
from abaqusConstants import *
from caeModules import *
s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=2000.0)
g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
s.rectangle(point1=(-100.0, 10.0), point2=(100.0, -10.0))
p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D, 
    type=DEFORMABLE_BODY)
p = mdb.models['Model-1'].parts['Part-1'] 
p.BaseShell(sketch=s)
mdb.models['Model-1'].Material(name='Material-1', description='MATERIAL')
mdb.models['Model-1'].materials['Material-1'].Density(table=((7.85e-09, ), ))
mdb.models['Model-1'].materials['Material-1'].Elastic(table=((206000.0, 0.3), ))
mdb.models['Model-1'].materials['Material-1'].Plastic(table=((235.0, 0.0), ))
a = mdb.models['Model-1'].rootAssembly
p = mdb.models['Model-1'].Part(name='Part-2', 
    objectToCopy=mdb.models['Model-1'].parts['Part-1'])
p = mdb.models['Model-1'].Part(name='Part-3', 
    objectToCopy=mdb.models['Model-1'].parts['Part-2'])
p = mdb.models['Model-1'].Part(name='Part-4', 
    objectToCopy=mdb.models['Model-1'].parts['Part-3'])
a.regenerate()
a.Instance(name='Part-1-1', part=p, dependent=OFF)
a.Instance(name='Part-2-1', part=p, dependent=OFF)
a.Instance(name='Part-3-1', part=p, dependent=OFF)
a.Instance(name='Part-4-1', part=p, dependent=OFF)
a.rotate(instanceList=('Part-2-1', ), axisPoint=(0.0, 10.0, 0.0), 
    axisDirection=(100.0, 0.0, 0.0), angle=-90.0)
a.rotate(instanceList=('Part-3-1', ), axisPoint=(0.0, -10.0, 0.0), 
    axisDirection=(100.0, 0.0, 0.0), angle=90.0)
a.translate(instanceList=('Part-4-1', ), vector=(0.0, 0.0, 20.0))
mdb.models['Model-1'].StaticStep(name='Step-1', previous='Initial', initialInc=0.01, 
    maxInc=0.05)
mdb.models['Model-1'].FieldOutputRequest(name='F-Output-1', createStepName='Step-1', 
    variables=('S', 'E', 'U'))
mdb.models['Model-1'].HomogeneousShellSection(name='Section-1', 
    material='Material-1', thickness=1.0)
faces = mdb.models['Model-1'].parts['Part-1'].faces[0:1]
region = regionToolset.Region(faces=faces) 
p = mdb.models['Model-1'].parts['Part-1']
p.SectionAssignment(region=region, sectionName='Section-1')
faces = mdb.models['Model-1'].parts['Part-2'].faces[0:1]
region = regionToolset.Region(faces=faces) 
p = mdb.models['Model-1'].parts['Part-2']
p.SectionAssignment(region=region, sectionName='Section-1')
faces = mdb.models['Model-1'].parts['Part-3'].faces[0:1]
region = regionToolset.Region(faces=faces) 
p = mdb.models['Model-1'].parts['Part-3']
p.SectionAssignment(region=region, sectionName='Section-1')
faces = mdb.models['Model-1'].parts['Part-4'].faces[0:1]
region = regionToolset.Region(faces=faces) 
p = mdb.models['Model-1'].parts['Part-4']
p.SectionAssignment(region=region, sectionName='Section-1')
a.ReferencePoint(point=(-100.0, 0.0, 10.0))
r1 = a.ReferencePoint
refPoints1=(r1 )
region1=regionToolset.Region(ReferencePoint=r1)
a = mdb.models['Model-1'].rootAssembly
e1 = a.instances['Part-1-1'].edges
edges1 = e1.getSequenceFromMask(mask=('[#2 ]', ), )
v1 = a.instances['Part-1-1'].vertices
verts1 = v1.getSequenceFromMask(mask=('[#6 ]', ), )
e2 = a.instances['Part-2-1'].edges
edges2 = e2.getSequenceFromMask(mask=('[#8 ]', ), )
v2 = a.instances['Part-2-1'].vertices
verts2 = v2.getSequenceFromMask(mask=('[#9 ]', ), )
e3 = a.instances['Part-3-1'].edges
edges3 = e3.getSequenceFromMask(mask=('[#8 ]', ), )
v3 = a.instances['Part-3-1'].vertices
verts3 = v3.getSequenceFromMask(mask=('[#9 ]', ), )
e4 = a.instances['Part-4-1'].edges
edges4 = e4.getSequenceFromMask(mask=('[#8 ]', ), )
v4 = a.instances['Part-4-1'].vertices
verts4 = v4.getSequenceFromMask(mask=('[#9 ]', ), )
r5 = a.referencePoints
refPoints5=(r5)
region2=regionToolset.Region(vertices=verts1+verts2+verts3+verts4, 
    edges=edges1+edges2+edges3+edges4, referencePoints=refPoints5)
mdb.models['Model-1'].MultipointConstraint(name='Constraint-1', 
    controlPoint=region1, surface=region2, mpcType=BEAM_MPC, 
    userMode=DOF_MODE_MPC, userType=0, csys=None)

请问该如何解决?

另外请问我现有的这段代码有没有可以精简的?

邀请回答 我来回答

全部回答

(4)
默认 最新
技术邻问答
如果觉得回答有帮助,请记得及时采纳哦
2017年11月16日
评论 点赞
黎明的雨
直接copy过来的代码不一定能运行,有些点,边,面,集合需要自己重新定义,这代码肯定是可以简化的!
2017年9月30日
评论 点赞
复合材料力学
创建参考点的地方,你在cae中操作一下,然后记录下来指令,对比一下和你的差异
2017年8月12日
评论 1 点赞
LCLC
加Q:1917665644
2017年8月11日
评论 点赞

没解决?试试专家一对一服务

换一批