我有一个包含许多贝壳面的2D贝壳部件。我想为部件中的每个面提取一个不同的草图。到目前为止,我知道如何创建一个包含所有shell面信息的草图,但这不是我想要的。我想知道如何为每个贝壳面创建一个草图。这就是我所做的(不对)。
stest= model.ConstrainedSketch(name='__polyTest__',sheetSize=2000.0)
mdb.models['Model-1'].parts['Result'].projectReferencesOntoSketch(filter=
COPLANAR_EDGES, sketch=mdb.models['Model-1'].sketches['__polyTest__'])
非常感谢你的帮助。
答案 0 :(得分:1)
在当前视口中打开您的零件并尝试:
from part import *
from sketch import *
p=session.viewports[session.currentViewportName].displayedObject
currentModel=mdb.models[p.modelName]
for faceNum,face in enumerate(p.faces):
try: # Will only work on valid sketch planes. Must be a flat face
t = p.MakeSketchTransform(sketchPlane=face, sketchUpEdge=p.edges[0],
sketchPlaneSide=SIDE1, origin=(659.077803, 0.256062, -816.16))
s = currentModel.ConstrainedSketch(name='__profile__',
sheetSize=834.36, gridSpacing=20.85, transform=t)
edgeList=[p.edges[edgeNum] for edgeNum in face.getEdges()]
p.projectEdgesOntoSketch(sketch=s, edges=tuple(edgeList))
currentModel.ConstrainedSketch(name='Sketch-face' + str(edgeNum), objectToCopy=s)
except:
pass