Feature idea: blended fusion

Have some feature requests, feedback, cool stuff to share, or want to know where FreeCAD is going? This is the place.
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
jnxd
Posts: 162
Joined: Mon Mar 30, 2015 2:30 pm

Re: Feature idea: blended fusion

Postby jnxd » Sun May 07, 2017 3:16 am

bejant wrote: It will be interesting to see how you handle the situation where two faces converge... I was looking for an example I saw on the Reddit CAD Challenge some time ago, but can't find it now.
By two faces converging do you mean a case where a fillet would effectively become an edge? In terms of reality, that is almost never the case, so a practical implementation should have options where one puts in what kind of a "fit" is needed. Think clearance, interference, or transition fit for bores and shafts. I can't think of any practical cases where fillets are imvolved.

On a slight aside these border cases should be incorporated into the implementation of toponaming too. TODO: discuss jman's case.
User avatar
bejant
Posts: 6076
Joined: Thu Jul 11, 2013 3:06 pm

Re: Feature idea: blended fusion

Postby bejant » Sun May 07, 2017 2:47 pm

jnxd wrote:By two faces converging do you mean a case where a fillet would effectively become an edge?
Yes, I suppose that's one way of looking at it (I was thinking that the Fillet would become a point at the seams); the example I had in mind was trying to Fillet something like this edge:
20170507-FilletGlitch.png
20170507-FilletGlitch.png (10.32 KiB) Viewed 741 times
20170507a-FilletGlitch.fcstd
(10.2 KiB) Downloaded 6 times
I used the Part WB to create the shape but Part WB > Fillets fail as does 0.17 PartDesign Fillet (I need to update):

OS: Ubuntu 16.04.2 LTS
Word size of OS: 32-bit
Word size of FreeCAD: 32-bit
Version: 0.17.10949 (Git)
Build type: None
Branch: master
Hash: 20828b3cb31557301da66465363717e1e66c28c7
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.1.0
jnxd
Posts: 162
Joined: Mon Mar 30, 2015 2:30 pm

Re: Feature idea: blended fusion

Postby jnxd » Sun May 07, 2017 3:46 pm

bejant wrote: Yes, I suppose that's one way of looking at it (I was thinking that the Fillet would become a point at the seams); the example I had in mind was trying to Fillet something like this edge:
20170507-FilletGlitch.png
20170507a-FilletGlitch.fcstd
This is indeed a puzzling case. We might have to start from scratch here regarding what one means by a fillet. Specifically, how is it defined near the point.
User avatar
tanderson69
Posts: 1548
Joined: Thu Feb 18, 2010 1:07 am

Re: Feature idea: blended fusion

Postby tanderson69 » Sun May 07, 2017 6:30 pm

Anytime you have a variable fillet that ends with a 0.0 radius, you have a poor condition. This is true for any modeling kernel. It is one of those things you learn to avoid if you can. For that case, I would try for a constant fillet. something like:
filletHacked.png
filletHacked.png (23.48 KiB) Viewed 716 times

IMHO: These situations that present problems for the modeling kernel are outside the scope of a freecad feature.
User avatar
bejant
Posts: 6076
Joined: Thu Jul 11, 2013 3:06 pm

Re: Feature idea: blended fusion

Postby bejant » Mon May 08, 2017 2:54 pm

In this case I'd like to see a constant radius for the portion of the edge where it is possible, given the radius chosen by the user. For the portions of the edge where a constant radius is not possible (as the edge nears the seam), I think it would be better if the user had the option to allow the radius taper to a point, instead of a fail as it happens now.
tanderson69 wrote:Anytime you have a variable fillet that ends with a 0.0 radius, you have a poor condition. This is true for any modeling kernel. It is one of those things you learn to avoid if you can.
But in the instances where it can't be avoided, I'd like the ability to create a fillet (or chamfer) instead of seeing the operation fail.
tanderson69 wrote:IMHO: These situations that present problems for the modeling kernel are outside the scope of a freecad feature.
I'm not sure this is a CAD kernel limitation (I can create a Part WB > Fillet of the type Variable Radius that taperd to zero). In the case of the two cylinders I was thinking the radius would be:
0 to User Value (where possible) to 0.
User avatar
tanderson69
Posts: 1548
Joined: Thu Feb 18, 2010 1:07 am

Re: Feature idea: blended fusion

Postby tanderson69 » Mon May 08, 2017 4:15 pm

bejant wrote:In this case I'd like to see a constant radius for the portion of the edge where it is possible, given the radius chosen by the user. For the portions of the edge where a constant radius is not possible (as the edge nears the seam), I think it would be better if the user had the option to allow the radius taper to a point, instead of a fail as it happens now.
tanderson69 wrote:Anytime you have a variable fillet that ends with a 0.0 radius, you have a poor condition. This is true for any modeling kernel. It is one of those things you learn to avoid if you can.
But in the instances where it can't be avoided, I'd like the ability to create a fillet (or chamfer) instead of seeing the operation fail.
tanderson69 wrote:IMHO: These situations that present problems for the modeling kernel are outside the scope of a freecad feature.
I'm not sure this is a CAD kernel limitation (I can create a Part WB > Fillet of the type Variable Radius that taperd to zero). In the case of the two cylinders I was thinking the radius would be:
0 to User Value (where possible) to 0.



So what you are really saying is: "I want a robust way to specify a variable blend"? No doubt! Even when you get it, in this case, you will just be making corrupt models instead of the feature failing.
variableFilletError.png
variableFilletError.png (50.94 KiB) Viewed 657 times
I don't think this has anything to do with DeepSOIC blended fusion feature proposal. I think we should stop hijacking this thread.
User avatar
bejant
Posts: 6076
Joined: Thu Jul 11, 2013 3:06 pm

Re: Feature idea: blended fusion

Postby bejant » Tue May 09, 2017 3:24 pm

tanderson69 wrote:So what you are really saying is: "I want a robust way to specify a variable blend"?
No, not exactly...

I saw the first post in this topic by DeepSOIC which reads
The idea: for operations that do fusions/cuts, it is possible to find edges where shapes being fused/cut intersect, and add fillets or chamfers there.
and was reminded of some trouble that happens with Fillets and Chamfers, and my reply was about that.

As a user I think this new Blended Fusion / Cut tool will be handy and would like to see it have the capability to handle the use case I wrote about. If the Fillet / Chamfer tools get improved along the way too I'd consider that to be an added benefit.
tanderson69 wrote:Even when you get it, in this case, you will just be making corrupt models instead of the feature failing.
Well, obviously nobody wants to create a corrupt model or see the feature fail. I'd like the Blended Fusion / Cut tool to be so robust that I can fearlessly add Fillets and Chamfers anywhere in the modeling process instead of at the end.
tanderson69 wrote:I don't think this has anything to do with DeepSOIC blended fusion feature proposal. I think we should stop hijacking this thread.
I thought it was relevant so I replied but now I think I've explained well enough...
User avatar
industromatic
Posts: 150
Joined: Thu Mar 27, 2014 4:30 pm
Location: Austin Texas
Contact:

Re: Feature idea: blended fusion

Postby industromatic » Wed May 10, 2017 11:38 pm

I've not used FreeCAD since

viewtopic.php?f=3&t=13071&p=104732#p104732

1.5 years ago, but this sounds like things may have improved some, but still, order of operations matters very much?

I'm planning to use FreeCAD again for a part that is to be milled, but then the same thing could be molded
later on with draft angles required, and fillets required. For now, with milling of parts, fillets can be left off when they are
concave -- just use a round ended mill with a sharp inside corner shaped model and all will be filleted as it is made even
though no fillets in the model.

So, are things working as well or better than 1.5 years ago re: BREP fillets to be done last
after all booleans create CSG models?
User avatar
DeepSOIC
Posts: 7810
Joined: Fri Aug 29, 2014 12:45 am
Location: Saint-Petersburg, Russia

Re: Feature idea: blended fusion

Postby DeepSOIC » Wed May 10, 2017 11:44 pm

industromatic wrote:1.5 years ago, but this sounds like things may have improved some, but still, order of operations matters very much?
I'm afraid, not much has improved in regard to fillets... if anything at all :cry:

We've experimented a bit today in direction of blended fusion, and got some success, but... not very encouraging. I leave it to jnxd to report more details :mrgreen:
User avatar
industromatic
Posts: 150
Joined: Thu Mar 27, 2014 4:30 pm
Location: Austin Texas
Contact:

Re: Feature idea: blended fusion

Postby industromatic » Wed May 10, 2017 11:51 pm

If it has held and not gone backwards, that's good. Thanks for all you do keeping some free open CAD going instead of absolutely having to buy something like Rhino3D with a student low price and not have the source code...

Maybe BRL-CAD will complete some of their documentation goals and become usable. I've never gotten much benefit out of it, but FreeCAD has plenty of benefit. I've done a combo of Solvespace with FreeCAD to finish to create swept shapes suitable for plastic molding. I'll be doing it again soon.