如何使用for循环复用此部分?

时间:2018-03-20 14:57:55

标签: python abaqus

import section
    import regionToolset
    import displayGroupMdbToolset as dgm
    import part
    import material
    import assembly
    import step
    import interaction
    import load
    import mesh
    import optimization
    import job
    import sketch
    import visualization
    import xyPlot
    import displayGroupOdbToolset as dgo
    import connectorBehavior
    s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=5.0)
    g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
    s.setPrimaryObject(option=STANDALONE)
    s.Line(point1=(-0.2, 0.2), point2=(-0.2, 0.1))
    s.VerticalConstraint(entity=g[2], addUndoState=False)
    p = mdb.models['Model-1'].Part(name='Part-1', dimensionality=THREE_D, 
        type=DEFORMABLE_BODY)
    p = mdb.models['Model-1'].parts['Part-1']
    p.BaseWire(sketch=s)
    s.unsetPrimaryObject()
    p = mdb.models['Model-1'].parts['Part-1']
    session.viewports['Viewport: 1'].setValues(displayedObject=p)
    del mdb.models['Model-1'].sketches['__profile__']

1 个答案:

答案 0 :(得分:0)

我想你想多次创建相同的部分。我建议只是复制它。但如果你真的坚持使用for循环,你可以这样做:

for i in range(10):
    s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__', sheetSize=5.0)
    g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
    s.setPrimaryObject(option=STANDALONE)
    s.Line(point1=(-0.2, 0.2), point2=(-0.2, 0.1))
    s.VerticalConstraint(entity=g[2], addUndoState=False)
    p = mdb.models['Model-1'].Part(name='Part-'+str(i), dimensionality=THREE_D, 
        type=DEFORMABLE_BODY)
    p.BaseWire(sketch=s)
    s.unsetPrimaryObject()
    session.viewports['Viewport: 1'].setValues(displayedObject=p)
    del mdb.models['Model-1'].sketches['__profile__']

如果您进一步澄清您的问题,我可以更新答案。