本例求曲线与曲面的交点,曲线是二次曲线中的圆,曲面是螺旋面。
gp_Circ dc(wb, 0.306 / 2);
TopoDS_Edge dce = BRepBuilderAPI_MakeEdge(dc);
TopoDS_Shape pointsec = BRepAlgoAPI_Section(bodyflute1, dce);
std::vector<TopoDS_Shape> secp; //点集合
for (TopExp_Explorer i(pointsec, TopAbs_VERTEX); i.More(); i.Next())
{
secp.push_back(i.Current());
}
TopoDS_Edge dceseg = BRepBuilderAPI_MakeEdge(dc, TopoDS::Vertex(secp[0]), TopoDS::Vertex(secp[1]));
Viewer vout(50, 50, 500, 500);
vout << secp[0];
vout << secp[1];
vout << bodyflute1;
vout << dce;
vout.StartMessageLoop();