trouble with fillet - topological naming
Forum rules
and Helpful information
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!
Also, be nice to others! Read the FreeCAD code of conduct!
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
trouble with fillet - topological naming
Hi,
reference to viewtopic.php?f=28&t=17566
I tried to solve this, it looked like a simple problem, but I found the greatest difficulty than expected.
OS: Windows 8.1
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
My file: I created this object with the radius 40 mm. I applied the 4 fillet. Everything is ok. I changed the radius from 40 to 50 mm, I got this: the fillet are performed on other edges New change of the radius. With a radius of 100 mm, it is correct. Another test, perform the fillet over the holes. Erased the fillet on the corners and selected circles. It works But if I change the radius the problem returns.
Renato
reference to viewtopic.php?f=28&t=17566
I tried to solve this, it looked like a simple problem, but I found the greatest difficulty than expected.
OS: Windows 8.1
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.16.6706 (Git)
Build type: Release
Branch: releases/FreeCAD-0-16
Hash: f86a4e411ff7848dea98d7242f43b7774bee8fa0
Python version: 2.7.8
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
My file: I created this object with the radius 40 mm. I applied the 4 fillet. Everything is ok. I changed the radius from 40 to 50 mm, I got this: the fillet are performed on other edges New change of the radius. With a radius of 100 mm, it is correct. Another test, perform the fillet over the holes. Erased the fillet on the corners and selected circles. It works But if I change the radius the problem returns.
Renato
Last edited by renatorivo on Sun Oct 02, 2016 8:38 pm, edited 1 time in total.
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: trouble with fillet
The result with radius 50 mm. Missing holes
Radius 70 mm, all right.
RenatoRe: trouble with fillet
Hello Renato,
This problem has been known for years and is caused by edges and faces being renumbered after changes to sketches or features.
In your attached file (the radius is 70mm by the way), the Fillet feature is applied to Edge13, Edge14, Edge16 and Edge17. The problem is that FreeCAD does not affect these numbers in a permanent manner. After an edit, Edge13 may be a completely different edge. Yet the Fillet feature will fillet that new edge because it only knows to fillet Edge13.
This is an extremely complex problem that will most likely take a long time (maybe years) to fix. There have been many, many mentions of it over the years, and we have an expression for it: topological naming. The latest attempt by ezzieyguywuf to solve it is ongoing: viewtopic.php?f=10&t=15847
By the way Renato, your model was made with the "apply automatic refine to PartDesign features" option enabled. The problem with this, is that when I open your file and make a change, it totally breaks because I have not enabled this option. This happens for the same reason explained above. Therefore it is very important to mention that you have enabled this option when you share models.
This problem has been known for years and is caused by edges and faces being renumbered after changes to sketches or features.
In your attached file (the radius is 70mm by the way), the Fillet feature is applied to Edge13, Edge14, Edge16 and Edge17. The problem is that FreeCAD does not affect these numbers in a permanent manner. After an edit, Edge13 may be a completely different edge. Yet the Fillet feature will fillet that new edge because it only knows to fillet Edge13.
This is an extremely complex problem that will most likely take a long time (maybe years) to fix. There have been many, many mentions of it over the years, and we have an expression for it: topological naming. The latest attempt by ezzieyguywuf to solve it is ongoing: viewtopic.php?f=10&t=15847
By the way Renato, your model was made with the "apply automatic refine to PartDesign features" option enabled. The problem with this, is that when I open your file and make a change, it totally breaks because I have not enabled this option. This happens for the same reason explained above. Therefore it is very important to mention that you have enabled this option when you share models.
Re: trouble with fillet
That being said, it is possible to make this part so it is more robust, but it requires to avoid:
Granted it greatly diminishes the advantages of PartDesign.
The new PartDesign work flow in 0.17 will help work around the topological naming issues.
- linking external geometry in sketches
- mapping sketches to faces
Granted it greatly diminishes the advantages of PartDesign.
The new PartDesign work flow in 0.17 will help work around the topological naming issues.
Re: trouble with fillet
EDIT: I just realized I didn't figure the fillets at the right place! I only checked your last screenshot with the radius at 70mm. The fillets are on the holes edges, rather than on the end tabs. This makes it easier: fillets can be added to the first Sketch, and instead of Revolutions, A Draft Array on a Part cylinder could be used.
The trick was to use a combination of separate PartDesign parts, two Part Mirrors and a Part Cut, along with use of Expressions.
I made a new version of this model based on my suggestions. It seems to be pretty robust. I can change the outer diameter at will, and everything updates without trouble.NormandC wrote:it is possible to make this part so it is more robust
The trick was to use a combination of separate PartDesign parts, two Part Mirrors and a Part Cut, along with use of Expressions.
- I started with a sketch on the XY plane and made a PartDesign Pad rather than a Revolution. This allowed me to include the two tabs directly in the first sketch, thus saving two sketches and two pads, plus the instability they brought to the model. Take notice of the two named dimensional constraints and one named reference dimension. They are used in expressions later.
- Sketch001 and Pad001 make the cut underneath the large disk. The radius constraint inside the sketch is linked to the first sketch outer radius constraint.
- I removed the fillet feature entirely from the equation. I built the fillet in the sketch I revolved (Sketch002) to create a single hole. The profile is set against the vertical sketch axis; the sketch itself is positioned at the right coordinates using (3 - Sketch.Constraints.TotalLength) for the Y coordinate. The height of the hole in Sketch002 is defined by Pad.Length.
- I mirrored the Revolution on the YZ plane, made a compound of both objects, mirrored the compound on the XZ plane, then made a second compound containing Compound, its mirror, and Pad001.
- I finished with a Part Cut.
- Attachments
-
- achille inv-spig_robusto_normandc1.FCStd
- (30.76 KiB) Downloaded 56 times
Last edited by NormandC on Thu Sep 29, 2016 5:24 am, edited 1 time in total.
Re: trouble with fillet
I made a new model replicating the dimensions and details from stemby's own and posted it in the original Italian topic.
viewtopic.php?f=28&t=17566&p=139206#p139206
Sorry for butchering your beautiful language!
Norm
viewtopic.php?f=28&t=17566&p=139206#p139206
Sorry for butchering your beautiful language!
Norm
Re: trouble with fillet
Thank you very much, Normand!
Carlo
Carlo
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: trouble with fillet
Thanks Normand.
I do not remember that it is described in the wiki, excluding Naming_project and Topological_Naming_Project. Where add something about this?
I tried your files, they work perfectly, no errors.
Thank you again.
Renato
Excuse me Normand, this is my serious forgetfulness, I knew, but I didn't think to "Robust references" for this event.NormandC wrote:This problem has been known for years and is caused by edges and faces being renumbered after changes to sketches or features.
In fact, I thought this happened only when you change the shape, that is, when a form is divided into sub-form (an edge becomes two "sub-edges", ...) as posted here (from Naming_project) : Now I find out that it happens also only changing the measures in a sketch. This is very important and useful to know.NormandC wrote:edges and faces being renumbered after changes to sketches or features.
I do not remember that it is described in the wiki, excluding Naming_project and Topological_Naming_Project. Where add something about this?
I tried your files, they work perfectly, no errors.
Now I try, but I am convinced that it is impossible to do better than you.NormandC wrote:I'm curious to see if other robust alternatives can be found.
Thank you again.
Renato
Re: trouble with fillet
My pleasure, Carlo. I really enjoy finding workarounds for these kinds of problems, of course I don't have as much fun when I do not succeed.stemby wrote:Thank you very much, Normand!
Yes, that page is incomplete, it does not fully detail the problem in FreeCAD. It is also a developer page, not specifically intended for end users.renatorivo wrote:In fact, I thought this happened only when you change the shape, that is, when a form is divided into sub-form (an edge becomes two "sub-edges", ...) as posted here (from Naming_project) :
I've been wondering. I don't know if we should create a "Shortcomings" page that would list all known problems (fillets, Booleans etc.). Or add one entry to the FAQ? Unfortunately the FAQ is growing a lot. And this is a very complex problem, not explained in a sentence or two.renatorivo wrote:I do not remember that it is described in the wiki, excluding Naming_project and Topological_Naming_Project. Where add something about this?
renatorivo wrote:Now I try, but I am convinced that it is impossible to do better than you.
-
- Veteran
- Posts: 2611
- Joined: Tue Feb 21, 2012 8:07 pm
- Location: Torino - Italy
Re: trouble with fillet
"Shortcomings - major known bugs"NormandC wrote:I don't know if we should create a "Shortcomings" page that would list all known problems (fillets, Booleans etc.).
It could collect links to all discussions on important bugs that are still active, and give alternative solutions.