Tue, 04/25/2023 - 13:40
Forums:
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 !
Attachments:
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
Hi Dmitrii,
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
Hello,
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
Hi Andrey,
Thanks a lot for your time & help.
The workaround you're giving works, but misses the point.
Explanations :
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
Hi Vilo,
Have you tried "Glue" operation before attempting the "ShapeUpgrade_UnifySameDomain"? If not, please try that.
BOPAlgo_Builder aBuilder;
aBuilder.AddArgument(shape1); // add your shapes
aBuilder.AddArgument(shape2); // add your shapes
.....
aBuilder.Perform();
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.
Regards,
Lahiru Dilshan.
Thu, 05/25/2023 - 17:36
Hi Lahiru,
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 !
Thu, 09/21/2023 - 17:39
Just for info :
Mantis bug has been closed, because workarounds were proposed, but these workarounds are just out of subject ...
I don't want to merge together solids.
I want :
1. To make common/touching parts shared. This is successfully done with GFA.
2. To unify all Edges/Faces that can be unified without loosing the overall Face/Shell/Solid topology.
ShapeUpgrade_UnifySameDomain partly does the job, but breaks the topology (as proved by my test sample).