Strange Fusion

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!
Post Reply
will tulyfe
Posts: 20
Joined: Sun Jan 27, 2019 6:42 pm

Strange Fusion

Post by will tulyfe »

USER INFORMATION
OS: Windows 10
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13541 (Git)
Build type: Release
Branch: releases/FreeCAD-0-17
Hash: 9948ee4f1570df9216862a79705afb367b2c6ffb
Python version: 2.7.14
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)


In an effort to repair a hole in the "insert" object, I created "patch" using the "advanced utility to create shapes" tool located in the parts workbench. However, when I fuse "insert" and "patch" together, something weird happens. Any idea as to why this fusion is unsuccessful?
Attachments
hole repair.FCStd
(8.12 KiB) Downloaded 27 times
Last edited by will tulyfe on Sat Mar 09, 2019 6:48 pm, edited 1 time in total.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Strange Fusion

Post by NormandC »

will,

Your file is completely empty.
will tulyfe
Posts: 20
Joined: Sun Jan 27, 2019 6:42 pm

Re: Strange Fusion

Post by will tulyfe »

NormandC wrote: Sat Mar 09, 2019 6:43 pm will,

Your file is completely empty.
How odd. I re-uploaded the file and test-downloaded, it should work now.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Strange Fusion

Post by NormandC »

Thanks, it's good now.

The problem is that "insert" is invalid, with numerous BOPAlgo SelfIntersect errors. Use Image Part CheckGeometry with extra BOP check enabled (see link to find out how).

When hovering over the insert object, the Status bar indicates its internal name is Body001007001, which seems to indicate the original object is a PartDesign Body. You could attach it here so we can find out what's the issue.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Strange Fusion

Post by NormandC »

I downgraded "insert" to use the bottom face as basis for a new sketch to rebuild the solid. First odd thing is that I needed to use "Part --> Invert shapes" on that face, because it seemed to be inverted (the sketch was created on the diagonally opposite quadrant). Next odd thing is that the converted sketch only contains B-splines, even for what should be straight lines.

Using a Boolean fuse with "patch" (from the PartDesign workbench rather than the Part workbench) works, but because the faces are based on B-splines, they generate B-spline faces, so the Refine tool is unable to completely refine the result.
Attachments
hole repair_normandc1.FCStd
(28.41 KiB) Downloaded 24 times
will tulyfe
Posts: 20
Joined: Sun Jan 27, 2019 6:42 pm

Re: Strange Fusion

Post by will tulyfe »

NormandC wrote: Sat Mar 09, 2019 6:55 pm Thanks, it's good now.

The problem is that "insert" is invalid, with numerous BOPAlgo SelfIntersect errors. Use Image Part CheckGeometry with extra BOP check enabled (see link to find out how).

When hovering over the insert object, the Status bar indicates its internal name is Body001007001, which seems to indicate the original object is a PartDesign Body. You could attach it here so we can find out what's the issue.
The "insert" in the previous file was a scaled down version of the original. I used draft scale tool from the draft workbench to shrink it.
Attachments
original insert.FCStd
(26.85 KiB) Downloaded 23 times
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Strange Fusion

Post by NormandC »

That would explain why all the edges and faces were turned into B-splines. This is an unfortunate side effect of scaling in FreeCAD.

This is just my own opinion, but scaling solids is almost never a good idea (unless for mould design where it's necessary to compensate for shrinkage during the manufacturing process)... Your insert is a basic shape, it could be modelled parametrically and quickly, without having to patch it from a solid that is non parametric. Basically, you would be done with it already. ;)
will tulyfe
Posts: 20
Joined: Sun Jan 27, 2019 6:42 pm

Re: Strange Fusion

Post by will tulyfe »

NormandC wrote: Sat Mar 09, 2019 7:48 pm That would explain why all the edges and faces were turned into B-splines. This is an unfortunate side effect of scaling in FreeCAD.

This is just my own opinion, but scaling solids is almost never a good idea (unless for mould design where it's necessary to compensate for shrinkage during the manufacturing process)... Your insert is a basic shape, it could be modelled parametrically and quickly, without having to patch it from a solid that is non parametric. Basically, you would be done with it already. ;)
By parametric are you suggesting that I model "insert" using primitive shapes from parts workbench, rather than modeling it using the sketch tool? The reason I used sketch was because I was roughly tracing a scalar image in the background. I also noticed that you cannot perfectly trace the doqngraded face of "insert". The pad created from the trace will have an irregular curve on the bottom because a 3 point curve is unable to replicate the curvature of the bottom reference curve. Converting the reference curve into a B-spline produces a "insert" that is identical to the original.
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Strange Fusion

Post by NormandC »

will tulyfe wrote: Sun Mar 10, 2019 9:12 pm By parametric are you suggesting that I model "insert" using primitive shapes from parts workbench, rather than modeling it using the sketch tool?
No, both methods are parametric, the second method is just more advanced. Parametric means you can edit a model by changing its parameters. What I'm saying, you scaled down an original solid (Body001007) which gave you "insert", then you copied the faces of its end cutout to produce a new solid called "patch" with the "advanced utility to create shapes" tool to fill the cavity. Due to this process, this "patch" is not parametric, it cannot be edited. Then you try to fuse them together and it doesn't work, and you spent time on this.

What I'm saying is that instead of scaling Body001007 to get "insert", you just had to create a new Body from scratch, with a sketch that you pad, only don't add the end cutout in the sketch and just put a straight line, you're done in quite less time than what you've been doing so far.

will tulyfe wrote: Sun Mar 10, 2019 9:12 pm The pad created from the trace will have an irregular curve on the bottom because a 3 point curve is unable to replicate the curvature of the bottom reference curve. Converting the reference curve into a B-spline produces a "insert" that is identical to the original.
I'm not following you. The original curve in side plate002 (the original shape?) is not a B-spline curve, it's an arc. Body001007/Pad002/Sketch006 also contains an arc. Scaling it turned the arc into a B-spline curve. Offsetting an arc to another arc (making them concentric) is much more precise than offsetting a B-spline curve, in this case it will always be an interpolation.

will tulyfe wrote: Sun Mar 10, 2019 9:12 pm I also noticed that you cannot perfectly trace the doqngraded face of "insert". The pad created from the trace will have an irregular curve on the bottom because a 3 point curve is unable to replicate the curvature of the bottom reference curve. Converting the reference curve into a B-spline produces a "insert" that is identical to the original.
Why would you want to base a new parametric shape on a degraded face? As I said, it's better to start from scratch, you will get a more precise and reliable result.
Post Reply