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

Search the Forums
See All Topics
Open CASCADEShowroomGet it!Developer CornerSupport and ProductsAbout us
Technical overview
Areas of use
Shape factory
Shape gallery
What's new
System requirements
Download Center
Public license
Getting started
Open Source community
Training and e-learning
A-la Carte Support
Value-added software
Complementary Components
Customer Corner
Company Profile
Marketing Materials
Contact Us
Home / Developer Corner / Forums / Usage issues / BRep_Builder::Infinite Parameter for BRepFeat_MakePrism

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
  • Open CASCADE Technology 6.7.0 is available for download!
  • Open CASCADE Technology 6.6.0 is available for download!
  • Open CASCADE Technology 6.5.5 is available for download!

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