Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenCascade:从IGES读取修剪曲面_C++_Cad_Bspline_Nurbs_Opencascade - Fatal编程技术网

C++ OpenCascade:从IGES读取修剪曲面

C++ OpenCascade:从IGES读取修剪曲面,c++,cad,bspline,nurbs,opencascade,C++,Cad,Bspline,Nurbs,Opencascade,我正在尝试使用OpenCascade从IGES文件中读取修剪曲面。我可以得到曲面,但如何从实体144之类的东西中得到修剪曲线。边界曲线?任何帮助都会很好。我希望得到在被修剪曲面的参数空间中定义修剪曲线的实际几何体 IGESControl_Reader reader; IFSelect_ReturnStatus stat = reader.ReadFile("144-000.igs"); Handle(TColStd_HSequenceOfTransient) facesList = rea

我正在尝试使用OpenCascade从IGES文件中读取修剪曲面。我可以得到曲面,但如何从实体144之类的东西中得到修剪曲线。边界曲线?任何帮助都会很好。我希望得到在被修剪曲面的参数空间中定义修剪曲线的实际几何体

IGESControl_Reader reader; 
IFSelect_ReturnStatus stat = reader.ReadFile("144-000.igs"); 

Handle(TColStd_HSequenceOfTransient) facesList = reader.GiveList("iges-faces");
reader.TransferRoots();

Standard_Integer nbs = reader.NbShapes();
cout << nbs << endl;
for (int i = 1; i <= nbs; i++) {
  TopoDS_Shape shape = reader.Shape(i);

  TopoDS_Face& face = TopoDS::Face(shape);

  Handle(Geom_Surface) surf = BRep_Tool::Surface(face);
  Handle(Geom_BSplineSurface) bsplineSurf = GeomConvert::SurfaceToBSplineSurface(surf);

  cout << bsplineSurf->UDegree() << " " << bsplineSurf->VDegree() << endl;
}
IGESControl\u读卡器;
如果选择返回状态stat=reader.ReadFile(“144-000.igs”);
Handle(tcolsdhsequenceoftransient)facesList=reader.GiveList(“iges faces”);
reader.transferroot();
标准_整数nbs=reader.NbShapes();

您是否尝试过使用TopExp_Explorer来探索形状并获取导线/边,然后从中获取曲线