Tue, 04/25/2023 - 13:40
Hi Friends, Here is a very simple example, were ShapeUpgrade_UnifySameDomain produces a bad result.
The Blue solid has an invalid face after unifying.
I've joined BREP before & after Unify.
Thanks for your help !
Mon, 05/15/2023 - 22:51
I think your best bet is to open a ticket to bring it to the attention of the developers.
Tue, 05/16/2023 - 00:28
Hello, can you provide occt version and parameters settings of calling ShapeUpgrade_UnifySameDomain.
If it is possible to reproduce on current masters - I create a ticket in bugtracker(if you can't).
Best regards, Dmitrii.
Tue, 05/16/2023 - 13:10
OCCT version : 7.7.1
ShapeUpgrade_UnifySameDomain settings : all to default
Thanks Dmitrii for your help.
PS : I have no access to bugtracker
Tue, 05/16/2023 - 13:38
Ticket was created:
0033381: Modeling Algorithms - ShapeUpgrade_UnifySameDomain build invalid shape - MantisBT (opencascade.org)
Best regards, Dmitrii.
Tue, 05/16/2023 - 15:31
I've anylized current problem and here are some tips to avoid this problem:
1. You can use sewing algorithm before unifysamedomain. sewed.brep is the resulting shape.
2. Use fuse algorithm to combine all solids into general shape and after that, use unifysamedomain. unified(fully).brep is the resulting shape for current method.
Tue, 05/16/2023 - 18:00
Thanks a lot for your time & help.
The workaround you're giving works, but misses the point.
1. I have a bunch of solids.
2. I apply GFA on it to make split parts, and make coincident geometry shared among solids.
The file "Unify (before).brep" is the result of that.
If I sew that brep, I lose all solids !
Here is one solid of "sewed.brep" => all internal faces are lost => Shell becomes invalid => Solid topology is not preserved
What I want Unify to do, is to merge Edges/Faces but without losing all the topology.
Maybe I've missed the point of ShapeUpgrade_UnifySameDomain ...
Wed, 05/24/2023 - 15:30
Tried some tricks, dead end => post deleted
Thu, 05/25/2023 - 08:39
Have you tried "Glue" operation before attempting the "ShapeUpgrade_UnifySameDomain"? If not, please try that.
aBuilder.AddArgument(shape1); // add your shapes
aBuilder.AddArgument(shape2); // add your shapes
TopoDS_Shape resultantShape = aBuilder.Shape();
With that, solidity of the shapes will not get removed.
Then try "ShapeUpgrade_UnifySameDomain" on the "resultantShape".
If you get any result, please let me know.
Thu, 05/25/2023 - 17:36
The file "Unify (before).brep" is the result of the GFA of disjoint solids, so the input solids are already "glued" together before Unifying.
But thanks for help !