PartDesign: Fix refine not working with Boolean operations#26745
Conversation
|
The resultant shape should not have BSplineSurfaces. Please verify if that is the case. |
|
The bakeInTransform must be probably removed from there - it will fix the refine but anything after it will be broken as well. It is pretty stupid that it changes the underlying geometry to bspline, I expected it only to move points to new coordinate system and not change geometry types - well, I guess I was wrong. |
This reverts commit 527b2de. The `bakeInTransform()` call uses `transformGeometry()` which converts planar faces to BSplineSurfaces. This prevents the refine algorithm (BRepBuilderAPI_RefineModel) from detecting and merging coplanar faces, breaking the Refine option for Boolean operations. This matches Part WB's Boolean behavior which does not use `bakeInTransform()` and has working refine functionality.
144aa3e to
a7ec783
Compare
|
@Roy-043 good catch, I've verified and everything is As discussed with @kadet1090 I reverted that line and commit. Result is that we have normal surfaces: |
|
Let's merge that and re-open #25578 |
|
The other way to reset the placement is to put the shape in a compound. |
IIRC the problem was because the object is in compound and then solids are extracted as subshapes from it loosing the transform (or regaining it?) in the process. I did output the transform for each internal shape and my conclusion was that one of them is simply not accounted for by boolean operation. I have not tried to put it in yet another compound thought, and I'll try to do that - so thanks for suggestion. |
|
Successfully created backport PR for |
This reverts commit 527b2de.
The
bakeInTransform()call usestransformGeometry()which converts planar faces to BSplineSurfaces. This prevents the refine algorithm (BRepBuilderAPI_RefineModel) from detecting and merging coplanar faces, breaking the Refine option for Boolean operations.This matches Part WB's Boolean behavior which does not use
bakeInTransform()and has working refine functionality.Before:

After:

Resolves: #26740