mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0028189: Result of Boolean operation is non-manifold wire
1. The result of Boolean operation on the arguments of collection type, containers WIRE/SHELL/COMPSOLID, is now also a collection. The result of Boolean operation on arguments of non-collection types is now a compound containing the splits of arguments directly, without its enclosure into containers. Thus, if there were no containers, such as WIRE/SHELL/COMPSOLID, in the input arguments there will be no such containers in the result of BOP. 2. The containers of type WIRE included into result should now also (as the SHELLs) have coherent orientation of its sub-shapes. For that the new method has been implemented (BOPTools_AlgoTools::OrientEdgesOnWire(TopoDS_Shape&)) which reorients edges of the given shape for correct ordering. 3. The duplicating containers, i.e. containers with the contents completely included in other containers, are now avoided in the result of BOP. 4. Documentation has been updated. 5. New test cases for the issue. 6. Adjusting test cases to current behavior.
This commit is contained in:
@@ -64,7 +64,7 @@ bcut r r f5
|
||||
explode r Sh
|
||||
renamevar r_1 r
|
||||
explode r e
|
||||
wire w r_4 r_1 r_7 r_8 r_9 r_10 r_11 r_12 r_13 r_14 r_22 r_23 r_24 r_25 r_19 r_20 r_21 r_26 r_35 r_31 r_32 r_33 r_34 r_36 r_37
|
||||
wire w r_4 r_1 r_20 r_21 r_22 r_23 r_24 r_25 r_26 r_7 r_30 r_31 r_32 r_33 r_27 r_28 r_29 r_11 r_38 r_34 r_35 r_36 r_37 r_16 r_17
|
||||
tcopy w w1
|
||||
tmirror w1 -6 0 0 0 1 0
|
||||
wire w w w1
|
||||
@@ -87,6 +87,9 @@ bfuse w w w2
|
||||
bfuse w w w3
|
||||
bfuse w w w4
|
||||
bfuse w w w5
|
||||
shape wsh Sh
|
||||
foreach f [explode w f] {add $f wsh}
|
||||
renamevar wsh w
|
||||
unifysamedom r w
|
||||
|
||||
# keep only wires in compound
|
||||
|
Reference in New Issue
Block a user