Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics

BRep_Builder::Infinite Parameter for BRepFeat_MakePrism

BRep_Builder::Infinite Parameter for BRepFeat_MakePrism
Jan Rheinländer 2012/06/28 20:10

I am getting the above error message. This is what I am doing. I have:

a) a circular wire
b) a cylindrical face (just a segment, not the whole cylinder)
and I want to project the wire on the surface (not on the face because that is smaller than the wire)

1. Get unlimited surface of face: BRepAdaptor_Surface adapt(face, Standard_False);
2. Iterate through all edges of the wire (there is only one, of course)
3. Get curve of edge: BRep_Tool::Curve(edge, min, max);
4. Extrude curve: Geom_SurfaceOfLinearExtrusion(curve, dir);
5. Intersect extruded curve with surface: GeomAPI_IntSS intersector(extrudedCurve, surface, Precision::Confusion());
6. Build edges from intersection lines: BRepBuilderAPI_MakeEdge mkEdge (intersector.Line(i));
7. Build projected wire from edges: mkWire.Add(TopoDS::Edge(mkEdge.Shape()));
8. Build projected face from wire: BRepBuilderAPI_MakeFace mkFace(adapt.Surface().Surface(), projectedWire);

This all works fine. But when I use the projected face for
I get the BRep_Builder::Infinite Parameter error.

Just the projected wire itself looks fine, though I noticed that is is built of 3 segments (2 quarters, one half). The face builds fine but is not displayed in my application (!). So it seems that this face is the problem, but I don't know how to find what is wrong with it if it is not displayed...

FYI, if I use
BRepProj_Projection proj(wire, face, dir)
everything is fine but of course this only works if the projected wire fits inside the face.

Do I need to ShapeFix() the face somehow? If yes, how?

Thanks for any help!
Latest news
  • New features to enhance the development process
  • Open CASCADE Technology 6.7.1 is available for download!
  • Open CASCADE Technology 6.7.0 is available for download!

  • © OPEN CASCADE 2000 - 2014  |  Search  |  Contacts   |  Site map