ddt 发表于 2017-1-19 17:00:56

python建模插件编写

from abaqus import *
from abaqusConstants import *
def createPlateFunction(partname,r,w,l,t):
    s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
    sheetSize=2000.0)
    s.rectangle(point1=(0.0, 0.0), point2=(w, t))
    p = mdb.models['Model-1'].Part(name=partname, dimensionality=THREE_D,
    type=DEFORMABLE_BODY)
    p = mdb.models['Model-1'].parts
    p.BaseSolidExtrude(sketch=s, depth=l)
    s.unsetPrimaryObject()
    p = mdb.models['Model-1'].parts
    session.viewports['Viewport: 1'].setValues(displayedObject=p)
    del mdb.models['Model-1'].sketches['__profile__']
    p = mdb.models['Model-1'].parts
    f, e = p.faces, p.edges
    t = p.MakeSketchTransform(sketchPlane=f, sketchUpEdge=e,
    sketchPlaneSide=SIDE1, sketchOrientation=RIGHT, origin=(250.0, 10.0,
    100.0))
    s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
    sheetSize=1077.21, gridSpacing=26.93, transform=t)
    p = mdb.models['Model-1'].parts
    p.projectReferencesOntoSketch(sketch=s1, filter=COPLANAR_EDGES)
    s1.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(r, 0))
    p = mdb.models['Model-1'].parts
    f1, e1 = p.faces, p.edges
    p.CutExtrude(sketchPlane=f1, sketchUpEdge=e1, sketchPlaneSide=SIDE1,
    sketchOrientation=RIGHT, sketch=s1, flipExtrudeDirection=OFF)
    s1.unsetPrimaryObject()
    del mdb.models['Model-1'].sketches['__profile__']
如上面的这段程序,执行过程也不报错,但圆孔就是切割不出来,请知道问题解决方法的,指导一下,不胜感激。。。

ddt 发表于 2017-1-19 17:17:05

自己顶一下 这段程序是作为RSG插件制作中用到的内核程序 但不知道为什么只能生成平板无法切割出上面的孔 因此来请教一下各位 请各位帮忙解惑一下 谢谢大家了

AsAlways 发表于 2017-1-19 22:36:32

路过看到了,让flipExtrudeDirection=ON 试试?一般这种切不出来的问题就是,切的位置没在实体处,或者切的方向反了,没切到实体,切了空气了。

ddt 发表于 2017-1-20 15:05:43

很感谢你的回复 你所给出的提示 我已经试过了 是不行的

ddt 发表于 2017-1-20 15:10:01

能够确定的是 内核程序本身从ABAQUS操作而来 应该没有问题 但是当把它作为插件内核程序进行插件制作时就出问题 类似的 我做了一个圆通上开孔的插件 如下:
from abaqus import *
from abaqusConstants import *
def createPlateFunction(partName,r,t,r1,h,l):
    s = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
    sheetSize=2000.0)
    g, v, d, c = s.geometry, s.vertices, s.dimensions, s.constraints
    s.setPrimaryObject(option=STANDALONE)
    s.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(r, 0.0))
    s.offset(distance=t, objectList=(g, ), side=RIGHT)
    p = mdb.models['Model-1'].Part(name=partName, dimensionality=THREE_D,
    type=DEFORMABLE_BODY)
    p = mdb.models['Model-1'].parts
    p.BaseSolidExtrude(sketch=s, depth=l)
    s.unsetPrimaryObject()
    p = mdb.models['Model-1'].parts
    session.viewports['Viewport: 1'].setValues(displayedObject=p)
    del mdb.models['Model-1'].sketches['__profile__']
    p = mdb.models['Model-1'].parts
    p.DatumPlaneByPrincipalPlane(principalPlane=XZPLANE, offset=h)
    p = mdb.models['Model-1'].parts
    e, d1 = p.edges, p.datums
    t = p.MakeSketchTransform(sketchPlane=d1, sketchUpEdge=e,
    sketchPlaneSide=SIDE1, sketchOrientation=RIGHT, origin=(0.0, 1000.0,
    250.0))
    s1 = mdb.models['Model-1'].ConstrainedSketch(name='__profile__',
    sheetSize=3960.62, gridSpacing=99.01, transform=t)
    g, v, d, c = s1.geometry, s1.vertices, s1.dimensions, s1.constraints
    s1.setPrimaryObject(option=SUPERIMPOSE)
    p = mdb.models['Model-1'].parts
    p.projectReferencesOntoSketch(sketch=s1, filter=COPLANAR_EDGES)
    s1.CircleByCenterPerimeter(center=(0.0, 0.0), point1=(r1, 0.0))
    session.viewports['Viewport: 1'].view.setValues(nearPlane=1800.14,
    farPlane=4136.52, width=3772.56, height=1868.27, cameraPosition=(1851.05,
    1836.84, 1943.41), cameraTarget=(57.2831, 43.0721, 149.645))
    p = mdb.models['Model-1'].parts
    f = p.faces
    e1, d2 = p.edges, p.datums
    p.CutExtrude(sketchPlane=d2, sketchUpEdge=e1, upToFace=f,
    sketchPlaneSide=SIDE1, sketchOrientation=RIGHT, sketch=s1,
    flipExtrudeDirection=OFF)
    s1.unsetPrimaryObject()
    del mdb.models['Model-1'].sketches['__profile__']
这个我也进行了检查 程序应该没问题 但在插件制作进行保存时 直接出现语法错误提示
表示很无语 不知道你们有没有碰到类似问题 恳请指导 谢谢大家了

ddt 发表于 2017-1-22 10:42:28

自己顶一下 希望不要沉了 真心希望路过的大家能给与帮助 在这里谢过了

pengYD 发表于 2020-5-6 17:47:37

缺个返回值,最后加个return
页: [1]
查看完整版本: python建模插件编写