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

Open CASCADEShowroomGet Open CASCADEDeveloper CornerSupportAbout us
Technical overview
Areas of use
Advantages
Public license
FAQ
Screenshots
Shape factory
Shape gallery
Demonstrations
System requirements
What's new
Download Center
CD-ROM
Documentation
Getting started
Forum
Open Source community
Training and e-learning
A la Carte Support
Value-added software
Client Area
Company Profile
Contacts and Locations
Customers
News
Home / Developer Corner / Forum / BRepAlgoAPI_Fuse Modified()

Forum

BRepAlgoAPI_Fuse Modified()
Jane Hu 2008-04-11 21:41
Hello,

I used BRepAlgoAPI_Fuse to stitch to TopoDS_Face's:

BRepAlgoAPI_Fuse fuser(*second_face, *first_face);

after that, I want to know which Edges on the two Faces are not changed, so I don't need to assign a new id to them. But when I query for fuser.Modified(*second_face) or fuser.Modified2(*second_face), they both give nothing. I know it should return me fuser.Shape() as the modified shape. of course, querying for coresponding underlying edges for modified shapes, returns nothing too.

How can I avoid this bug and get the map between the old_edge and new generated edge?

Thank you for your advise!

Jane
Laura 2008-05-15 00:00
Hi Jane,

I am having the same problem. Did you find a solution?

Laura
Laura 2008-05-15 11:10
Being more specific....

The problem is that after fusing 2 crossing wires made up of 4 and 3 edges respectively, I get empty lists for modified and generated. The result shape has 9 edges and 10 vertices, resulting from the split of one of the edges in each shape. The size of both lists is 0.

The code I am using is below:

firstShape = .......     
secondShape = ......

BRepAlgoAPI_Fuse fuseResult(firstShape, secondShape);
TopoDS_Shape mFuseResultShape;

if (fuseResult.IsDone())
{
mFuseResultShape = fuseResult.Shape();
}

const TopTools_ListOfShape& modifiedShapes = fuseResult.Modified(mFuseResultShape);
printf("\nSize of modified shapes:%i\n",modifiedShapes.Extent());
          
TopTools_ListIteratorOfListOfShape it;
for (it.Initialize(modifiedShapes); it.More(); it.Next())
{
print(it.Value());     
}

const TopTools_ListOfShape& generatedShapes = fuseResult.Generated(mFuseResultShape);
printf("\nSize of generated shapes:%i\n",generatedShapes.Extent());
     
TopTools_ListIteratorOfListOfShape it2;
for (it2.Initialize(generatedShapes); it2.More(); it2.Next())
{
print(it2.Value());     
}
 
 
Latest news
  • SolidWorks Import by Datakit
  • UG NX Import by Datakit
  • SALOME version 3.2.6 Public Release

  • © Open CASCADE 2000 - 2008  |  Search  |  Contacts