How can I construct a real TopoDS_Solid from 6 adjacent Geom_BSplineSurfaces

I have 6 adjacent Geom_BSplineSurfaces,
I want to create a TopoDS_Solid from these 6 Surfaces
with BRepBuilderAPI_MakeSolid, BRep_Builder, BRepOffsetAPI_Sewing, and other methods.
I can get a TopoDS_Solid, but this is not a real Solid.
When I use it to make some Boolean Operation like
Cut, Common, Fuse, the program always crash.

Has somebody a Idea?

Jane Hu's picture

After you fuse all surfaces into a shell, first check if the shell is Closed, if so, set aShell.Closed(CUBIT_TRUE), the Closed flag to be true. Then use BRepBuilderAPI_MakeSolid, you should get a real solid.

Jane

PG's picture

How to check the shell is closed .. the function name please.
Also what is the appropriate value of tolerance while fusing/sewing to get an 'airtight' solid.
thanks

- PG