Issue #5782 - Possible bug with v0.20dev (was FC0.17) Part Design WB boolean function

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
nikisteen
Posts: 2
Joined: Sun Apr 08, 2018 9:42 pm

Issue #5782 - Possible bug with v0.20dev (was FC0.17) Part Design WB boolean function

Post by nikisteen »

Hi All,

I am fairly new to FreeCad and have been playing around with the new Part Design workbench of FC0.17. I see some strange behavior from the boolean operation. In the attached simple example I have a boolean operation which combines a sphere and a box with a cylinder. If I offset the sphere by 8mm in the Y axis, then it moves as expected. But when I offset the sphere by 9mm, it disappears (see attached images). It still intersects the rod, so I think it should still be visible. Are other people also seeing this behavior? If so, is this a bug or is it a misunderstanding on my side?

Thanks to all the people working hard to make this software available!
Niki

My FreeCad version info:
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13488 (Git)
Build type: Release
Branch: master
Hash: 2891173923bcecaace64e0544f5773facbdef436
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: English/SouthAfrica (en_ZA)
Attachments
9mm_offset.PNG
9mm_offset.PNG (34.17 KiB) Viewed 1760 times
8mm_offset.PNG
8mm_offset.PNG (52.58 KiB) Viewed 1760 times
BoolTest.FCStd
(16.07 KiB) Downloaded 32 times
Last edited by Kunda1 on Mon Jan 17, 2022 4:02 pm, edited 1 time in total.
chrisb
Veteran
Posts: 52169
Joined: Tue Mar 17, 2015 9:14 am

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by chrisb »

I can confirm in the current stable - which you should use as well.

OS: Mac OS X
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13509 (Git)
Build type: Release
Branch: tag: 0.17
Hash: 0258808ccb6ba3bd5ea9312f79cd023f1a8671b7
Python version: 2.7.14
Qt version: 5.10.1
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: German/Germany (de_DE)
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
DeepSOIC
Veteran
Posts: 7900
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by DeepSOIC »

I can see the problem in Part workbench:
booltest_Part.FCStd
(5.73 KiB) Downloaded 23 times
It may look ok at first, but the fusion failed to merge the solids into one.

Code: Select all

Selected document object:
  Name = Fusion001
  Label = Fusion001
  Is placement/array = False
Structure: 
Compound (2 objects):
    Solid (1 shells)
    Solid (1 shells)
OS: Windows 8
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13488 (Git)
Build type: Release
Branch: master
Hash: 2891173923bcecaace64e0544f5773facbdef436
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
Locale: Russian/RussianFederation (ru_RU)

So it is likely an OCC problem. You can put it into tracker nonetheless.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by NormandC »

EDIT: aw shucks, DeepSOIC was faster than me. :D

Hey, try to move the sphere more than -5.1 mm in the X axis.

Apart from that, were you using primitives in separate bodies just to test Booleans? Because you can simply add them directly in the host Body.

Doing it differently (sphere created with a revolved sketch), I'm seeing similar issues. OCC kernel related or PD bug? We might want to compare with simple Part primitives.
Attachments
BoolTest_normandc1.FCStd
(31.6 KiB) Downloaded 31 times
User avatar
DeepSOIC
Veteran
Posts: 7900
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by DeepSOIC »

And, as usual, I could make it work by rotating something. Rotating cylinder didn't help, but rotating the sphere around X axis by 20 degrees did the trick.

Code: Select all

Selected document object:
  Name = Fusion001
  Label = Fusion001
  Is placement/array = False
Structure: 
Compound (1 objects):
    Solid (1 shells)
Attachments
booltest_workaround.FCStd
(12.5 KiB) Downloaded 31 times
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by NormandC »

I tried rotating, but I was doing it by 90-degree intervals... Too much.
nikisteen
Posts: 2
Joined: Sun Apr 08, 2018 9:42 pm

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by nikisteen »

Hi,

So it looks like a bug, then. I know that I do not need a boolean to do what the example shows. I had the problem appear in a more complex design, but I then reduced it to this simple example. Should I submit this on the issue tracker?

Thanks!
Niki
User avatar
Kunda1
Veteran
Posts: 13443
Joined: Thu Jan 05, 2017 9:03 pm

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by Kunda1 »

OP created ticket issue #3425
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Kunda1
Veteran
Posts: 13443
Joined: Thu Jan 05, 2017 9:03 pm

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by Kunda1 »

Testers needed to see if issue is fixed per reports that it is: issue #3425
Alone you go faster. Together we go farther
Please mark thread [Solved]
Want to contribute back to FC? Checkout:
'good first issues' | Open TODOs and FIXMEs | How to Help FreeCAD | How to report Bugs
User avatar
Shalmeneser
Veteran
Posts: 8752
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Possible bug with FC0.17 Part Design WB boolean function

Post by Shalmeneser »

* Opening the file : sphere + cube (but not the cylinder)
* Redoing the Boolean union (suppress, select, union) : sphere + cube + cylinder

Code: Select all

OS: Linux Mint 20.3 (MATE/mate)
Word size of FreeCAD: 64-bit
Version: 0.20.27008 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 9162733)
Hash: 91627338a44371fe9a8e815b4900f62558af98a1
Python version: 3.9.9
Qt version: 5.12.9
Coin version: 4.0.0
OCC version: 7.5.3
Locale: French/France (fr_FR)
Attachments
Capture du 2022-01-15 17-59-20.png
Capture du 2022-01-15 17-59-20.png (24.31 KiB) Viewed 1144 times
Post Reply