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

Search the Forums
See All Topics
 

Face from Faces

Face from Faces
Alexey Gorshkolep 2012/04/02 13:57
I have a set of Faces. Is it possible to make only one Face from this set. The Face must have only contour wire without other lines like on attached picture.
You have to be logged in to download the attached file
jelle 2012/04/02 14:22
What about this:

1) join faces in a shell [ sew the shapes ]
2) loop through the edges; check if the edges are TopAbs_EXTERNAL, keep track of those
3) build a new face with the edges who's orientation is TopAbs_EXTERNAL

Good luck,

-jelle
Alexey Gorshkolep 2012/04/02 16:24
Glad to see your answer.
I have already tried to Sew faces and had an exception in Perform metod. By the way set of faces l obtain from projection of shape using HLR and ShapeFix Wire classes
Game Milky 2012/06/21 12:06
      Hi Alex have solved the problem!

Would you share ur idea!
Regards
Alexey Gorshkolep 2012/06/27 19:14
Hi Game Milky! Sorry for my English :)
Generally, my task was to find a 2D silhouette of the Shape and unfortunately I didnít solve it. I got the 2D projection with HLR classes then I wanted to build a face from this projection lines. I tried many methods but unsuccessfully.
So you may try to use ShapeFix_Wire class and ShapeAnalysis_ classes (or other ShapeFix) to build a closed wire and then to build a face from it. For example (sorry, donít remember work it or not):

Handle(ShapeFix_Wire) aShFW = new ShapeFix_Wire();
Handle(ShapeExtend_WireData) aWD = new ShapeExtend_WireData();
for(TopExp_Explorer edgeExp(face, TopAbs_EDGE); edgeExp.More(); edgeExp.Next())
{
     aWD->Add(TopoDS::Edge(edgeExp.Current()));
}
aShFW->Load(aWD);
aShFW->ClosedWireMode() = Standard_True;
aShFW->FixReorder();
aShFW->FixConnected();
TopoDS_Wire awire = aShFW->Wire();
BRepBuilderAPI_MakeFace mf(awire, Standard_True);

Good luck! Please, notify me if you will find a solution!
Game Milky 2012/06/28 10:43
      Thank you very much for your reply!
Thank you for your information too!I will try your suggestion and back to you soon after. Currently i am dealing with sewing as i am not really looking for only one face. Rather, looking for closed or connected faces. But for your case, to make one face from multiple faces, have you tried BrepAlgoAPI_Fuse class. You can find it in Modeling Algorithm user Guide!

Thank you very much

I will notify you soon,
Game
 
 
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