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

Search the Forums
See All Topics
 

BRepBuilderAPI_MakeWire::Add(TopoDS_Wire) Bug?

BRepBuilderAPI_MakeWire::Add(TopoDS_Wire) Bug?
Torsten Sadowski 2008/04/08 22:21
Hi,

if a wire is added in MakeWire all edges of the wire are added in sequence. I the last edge is the one connecting to the wire only this last edge is added because all others fail beforehand.

I would suggest something like this:

      Standard_Boolean isd = true;
      TopTools_MapOfShape moe;
      TopExp_Explorer ex(W,TopAbs_EDGE);
      while (ex.More()) {
      moe.Add(ex.Current());
      ex.Next();
      }
      while (isd && moe.Extent())
      {
      TopTools_MapIteratorOfMapOfShape mi(moe);
      for (;mi.More(); mi.Next())
          {
           Add(TopoDS::Edge(mi.Key()));
           isd = IsDone();
           if (isd)
           {
           moe.Remove(mi.Key());
           break;
           }
          }
      }

This tries to add edges until no further edges succeed and it at least works for me.

Torsten
Hennig 2013/01/28 17:44
Thanks Torsten, this works quite well.

Dont know why it is not integrated in the general BRepBuilderAPI_MakeWire or ShapeAnalysis_FreeBounds::ConnectWiresToWires().... because there it doesnt work to..???

greetings      
 
 
Latest news
  • OCCT Applications
  • Open CASCADE Technology 6.8.0 is available for download!
  • New features to enhance the development process

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