Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Report observations made with the new Toponaming branch.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
User avatar
bambuko
Veteran
Posts: 2161
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Seems pb with boolean fonctions integrated in PartDesign LinkBranch

Post by bambuko »

realthunder wrote: Sun Jun 05, 2022 8:18 am ...It seems to be an OCC problem....
So... is @ppemawm using different OCC in his Assembly4 model?
or what is making his files different/smaller?
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by jpg87 »

realthunder wrote: Sun Jun 05, 2022 8:18 am It seems to be an OCC problem. I got the file you privately sent to me, and extract it (because FCStd is a zip file in case you don't know). Just sort the extracted files by size, you'll see the largest file is Fillet.Shape.brp (i.e. the shape of the fillet you created) being at 147MiB, and the second largest is Body003 at 139MiB, which is basically just a copy of Fillet. Don't know why it is a bit smaller, but not that much of difference anyway. The third largest is Boolean037 at only 34.9MiB. Note that those are uncompressed size, while FCStd is a compressed zip archive.

So I dig a bit deeper, and found out that indeed those new faces generated by the fillet are responsible for the bulk of the file. The following code selects the faces of the fillet that are bigger than 10MiB.
Thank you for these explanations.
Another detail, I thought it was impossible to make several stages of the construction tree visible simultaneously!
Finally another question, did I make a mistake when I said that the steps that follow unSweep in my construction are not united with the rest?
user1234 wrote: Sat Jun 04, 2022 5:43 pm What means pb in the thread title?
bambuko wrote: Sun Jun 05, 2022 6:57 am Like @user1234 I remain puzzled by the abbreviation pb
Sorry I didn't understand your "pb", sorry problem!
I corrected the post title.

Edit
@ppemawm version
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.20.27428 (Git)
Build type: Release
Branch: master
Hash: 27460358508a2057e0ec57a418641435f12628dd
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.3
Locale: English/United States (en_US)

Assembly4 V0.11.10

My version
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 2022.430.26244 +4758 (Git)
Build type: Release
Branch: LinkDaily
Hash: b024b876480a533018fdc702145e9e38f8c54ba6
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.6.0
Locale: French/France (fr_FR)
My website : http://help-freecad-jpg87.fr updated 2023/11/06
user1234
Veteran
Posts: 3337
Joined: Mon Jul 11, 2016 5:08 pm

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by user1234 »

Sorry for the noise, i did not want that. I thought this is a new function. Anyway, thanks for the answer!

Greetings
user1234
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by realthunder »

I have simplify the project to show OCC geometry size problem. The project can be opened in upstream master. This tiny file will explode when you make a fillet for the edge shown in the picture below. The three modified faces are all around 45MiB each. We can export that fillet shape as STEP file and open it to find more clues. Each of those faces are bounded by BSpline curves with about 65K control points! This surely indicates some problem in OCC.
Screenshot from 2022-06-07 20-04-47.png
Screenshot from 2022-06-07 20-04-47.png (53.5 KiB) Viewed 2047 times
Attachments
pipe.FCStd
(458.18 KiB) Downloaded 56 times
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by realthunder »

jpg87 wrote: Sun Jun 05, 2022 9:57 am Thank you for these explanations.
Another detail, I thought it was impossible to make several stages of the construction tree visible simultaneously!
Finally another question, did I make a mistake when I said that the steps that follow unSweep in my construction are not united with the rest?
PartDesign in my branch supports multiple solids, distinguished by different colors in the tag icon attached to each feature. The problem you have is due to the handling of the Boolean feature, which usually produce a solid feature, and the body will treat it as a continuation of the current solid group. However, in your case, it produces only edges. The chain of solid features is broken. The current logic of the body is to assume that any new feature based on this non solid Boolean starts a new solid group, which is why it is not merged with the previous solid feature. I'll see how to handle these type cases better.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
bambuko
Veteran
Posts: 2161
Joined: Thu Oct 24, 2019 12:53 pm
Location: UK, England, North Devon

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by bambuko »

realthunder wrote: Tue Jun 07, 2022 12:21 pm I have simplify the project to show OCC geometry size problem.
When I open it either in the latest Linkstage3 or Master snap I get the following message:

Code: Select all

15:20:39  AttachEngine3D::calculateAttachedPlacement: path curve second derivative is below 1e-14, can't align x axis.
any significance, please?
I am using Link branch and Assembly3
you can also download ... and try it here
excellent Assembly3 tutorials here
User avatar
jpg87
Posts: 809
Joined: Thu Mar 16, 2017 7:16 am
Location: Limoges - France
Contact:

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by jpg87 »

realthunder wrote: Tue Jun 07, 2022 12:21 pm I have simplify the project to show OCC geometry size problem. ...
Thank you, it's always a pleasure to have your explanations.
I had the following experience:
comparaison.png
comparaison.png (88.68 KiB) Viewed 1976 times
My FC versions :
LinkBranch

Code: Select all

OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 2022.430.26244 +4758 (Git)
Build type: Release
Branch: LinkDaily
Hash: b024b876480a533018fdc702145e9e38f8c54ba6
Python version: 3.8.6+
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.6.0
Locale: French/France (fr_FR)
Master

Code: Select all

OS: Windows 10 (10.0)
Word size of FreeCAD: 64-bit
Version: 0.20.29045 (Git)
Build type: Release
Branch: master
Hash: af811b34b3
Python 3.8.13, Qt 5.12.9, Coin 4.0.0, OCC 7.5.3
Locale: French/France (fr_FR)
Installed mods: 
  * Assembly3 0.11.3
  * BOLTSFC
  * Curves 0.4.3
  * DynamicData 2.46.0
  * fasteners 0.3.41
  * fcgear 1.0.0
  * PieMenu
  * symbols_library
My website : http://help-freecad-jpg87.fr updated 2023/11/06
User avatar
tanderson69
Veteran
Posts: 1626
Joined: Thu Feb 18, 2010 1:07 am

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by tanderson69 »

realthunder wrote: Tue Jun 07, 2022 12:21 pm I have simplify the project to show OCC geometry size problem. The project can be opened in upstream master. This tiny file will explode when you make a fillet for the edge shown in the picture below. The three modified faces are all around 45MiB each. We can export that fillet shape as STEP file and open it to find more clues. Each of those faces are bounded by BSpline curves with about 65K control points! This surely indicates some problem in OCC.
Do you know if there has been a bug filed in occt for this?
realthunder
Veteran
Posts: 2190
Joined: Tue Jan 03, 2017 10:55 am

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by realthunder »

tanderson69 wrote: Sat Jul 16, 2022 5:07 pm
realthunder wrote: Tue Jun 07, 2022 12:21 pm I have simplify the project to show OCC geometry size problem. The project can be opened in upstream master. This tiny file will explode when you make a fillet for the edge shown in the picture below. The three modified faces are all around 45MiB each. We can export that fillet shape as STEP file and open it to find more clues. Each of those faces are bounded by BSpline curves with about 65K control points! This surely indicates some problem in OCC.
Do you know if there has been a bug filed in occt for this?
Not that I know of. Maybe you can look into it? Because of the discovery here, I begin to notice that occt auto generated BSpline Curves/Surfaces are generally big, commonly exceeding thousands of control points, and sometimes with degree of one (i.e. all line segments). Not sure if it's always like that or just in recent versions.
Try Assembly3 with my custom build of FreeCAD at here.
And if you'd like to show your support, you can donate through patreon, liberapay, or paypal
User avatar
obelisk79
Veteran
Posts: 1061
Joined: Thu Sep 24, 2020 9:01 pm

Re: Seems problem (pb!) with boolean fonctions integrated in PartDesign LinkBranch

Post by obelisk79 »

So, with this understanding of the excessive bspline point creation would it be possible to refine (reduce the number of vertexes) these splines directly within freecad without being at the mercy of OCC to address the behavior?
Post Reply