我在opencascade学习,
将 *.stp 文件导入到我的 opencascade 项目中。得到物体的形状,
用鼠标选中一些人脸,在selectedFace中找出Edge。
for (myAISContext()->InitSelected(); myAISContext()->MoreSelected(); myAISContext()->NextSelected())
{
const TopoDS_Shape& selectedShape = myAISContext()->SelectedShape();
TopExp_Explorer myFaceExplorer(selectedShape, TopAbs_FACE);
while (myFaceExplorer.More())
{
TopoDS_Face aface = TopoDS::Face(myFaceExplorer.Current());
TopoDS_Wire outer_wire = ShapeAnalysis::OuterWire(aface);
for (TopExp_Explorer edgeExp(outer_wire, TopAbs_EDGE); edgeExp.More(); edgeExp.Next())
{
TopoDS_Edge anEdge = TopoDS::Edge(edgeExp.Current());
}
myFaceExplorer.Next();
}
}
现在:
我应该怎么做才能得到face1 + face2的出线,或者应该先合并两个脸,我不确定下次可能是face1 + face2 + face3 + ... faceN
任何想法/示例代码都会有所帮助。
谢谢