pad/pocket/boolean operation fails

About the development of the Part Design module/workbench. PLEASE DO NOT POST HELP REQUESTS HERE!
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
steve123
Posts: 149
Joined: Fri Sep 04, 2015 8:58 pm

pad/pocket/boolean operation fails

Post by steve123 »

I have attached a model. In this model, there are two elements of concern:

"this sketch fails to pocket",
"this body fails to boolean cut"

Either of these elements fails to properly cut from the "hopper" body. At one point, it appeared that the pocket was going to work because the preview displayed while performing the pocket illustrated the proper cut. But when I clicked ok, the result was not correct. At some point, I think FreeCAD crashed and when I restarted FreeCAD, the pocket preview no longer renders properly.

OS: macOS Mojave (10.14)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19443 (Git)
Build type: Release
Branch: master
Hash: 74680b8a15ad37e53eee0d341e95cd32631d88a3
Python version: 3.8.1
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: C/Default (C)
Attachments
pocket fails.FCStd
(111.29 KiB) Downloaded 60 times
openBrain
Veteran
Posts: 9041
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: pad/pocket/boolean operation fails

Post by openBrain »

If you run Part/Check_Geometry (Run BOP check shall be enabled) on your hopper/Mirrored, you'll a full bunch of errors. So no surprise subsequent operations fail with this. ;)
steve123
Posts: 149
Joined: Fri Sep 04, 2015 8:58 pm

Re: pad/pocket/boolean operation fails

Post by steve123 »

If you looked closely at the output of the BOP check, all the errors refer to a cross section I created using the cross section tool. That body is not included in the boolean operations I referenced in my comment above so those errors should not be relevant.

Code: Select all

pocket_fails.Body007 : Vertex33 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex34 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex33 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex35 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex34 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex35 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex33 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex36 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex34 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex36 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex35 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex36 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex23 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex24 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex23 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex25 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex24 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex25 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex23 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex26 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex24 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex26 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex25 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex26 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex23 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex33 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex33 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex24 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex23 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex34 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex34 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex24 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex33 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex25 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex34 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex25 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex33 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex26 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex34 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex26 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex23 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex35 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex35 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex24 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex35 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex25 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex35 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex26 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex23 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex36 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex24 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex36 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex36 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex25 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex36 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Vertex26 : Vertex : BOPAlgo SelfIntersect
pocket_fails.Body007 : Edge44 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge45 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge46 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge47 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge46 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge48 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge49 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge50 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge45 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge51 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge48 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge50 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge44 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge47 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge49 : Edge : BOPAlgo TooSmallEdge
pocket_fails.Body007 : Edge51 : Edge : BOPAlgo TooSmallEdge
steve123
Posts: 149
Joined: Fri Sep 04, 2015 8:58 pm

Re: pad/pocket/boolean operation fails

Post by steve123 »

Moreover, I deleted "Body007" (the cross section drawing) and the BOP check still returns errors referencing "Body007" when you select the "hopper" body and run the check.

If you run the check by selecting the "Mirrored" feature of the "hopper" body, for some reason you get the same list of errors but they appear to reference the "Mirrored" feature now (not the "hopper" body). Which doesn't make any sense because the "Mirrored" feature is exactly that, a mirror, not a pocket, which is what the error appears to convey with "pocket_fails".

Furthermore, it vaguely refers to a "pocket_fails" but I can find nowhere in the model where a pocket has failed.
Post Reply