Attempting to use 0.17

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!
DAP
Posts: 79
Joined: Sun Jul 17, 2016 10:03 pm

Re: Attempting to use 0.17

Post by DAP »

I am very close to giving up on 0.17 as not being stable enough to use.
In trying to fix my design, I deleted the fillets, this broke the last sketch, so I deleted that, which broke the previous sketch etc. all the way back to the point where there was nothing at all of my original design.
So I started over.
I made several attempts to create the rounded back of this object. I first tried to create a sketch and a pad from the back. It would not let me create the pad. The error message reported did not give any clues.
I then tried to add a rectangular pad from the top (this worked after help from this forum) and then use a pocket from the back to round it off. This failed with a similar error.
I finally got the shape I wanted by filleting the corners off.
In the process, I crashed FreeCAD about three times. The crash recovery is a good improvement since I tend to forget to save often enough.
Anyway, I am to the point of adding the fillets.
I have found that the automatically added redundant horizontal and vertical constraints seem to be a common cause of the object disappearing when fillets are added. But it seems there are many other bugs in fillets. I have many more fillets to add, but I can't go forward since once the most recent one was added, part of the object has disappeared.
FilletProblems.png
FilletProblems.png (21.62 KiB) Viewed 1013 times
As usual design attached.
Attachments
PhoneStand.FCStd
(77.02 KiB) Downloaded 24 times
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Attempting to use 0.17

Post by NormandC »

Maybe as much as a question of stability, it's also a matter of knowledge of the "proper" work flow. Granted, FreeCAD can be rather unforgiving.

DAP wrote: Sun Apr 15, 2018 7:06 pm In trying to fix my design, I deleted the fillets, this broke the last sketch, so I deleted that, which broke the previous sketch etc. all the way back to the point where there was nothing at all of my original design.
There would have been a way to repair your model without going to these drastic measures.

DAP wrote: Sun Apr 15, 2018 7:06 pm I made several attempts to create the rounded back of this object. I first tried to create a sketch and a pad from the back. It would not let me create the pad. The error message reported did not give any clues.
And not mentioning what the content of the error message was is not giving us any clues either. Surely you can understand that it's very difficult to help you if you don't tell us what were the hurdles.

DAP wrote: Sun Apr 15, 2018 7:06 pm I have found that the automatically added redundant horizontal and vertical constraints seem to be a common cause of the object disappearing when fillets are added.
Horizontal and vertical constraints are almost never redundant. Please detail exactly in which case they happen. From memory, the only case where they become redundant is when adding symmetric constraints.

DAP wrote: Sun Apr 15, 2018 7:06 pm But it seems there are many other bugs in fillets. I have many more fillets to add, but I can't go forward since once the most recent one was added, part of the object has disappeared.
Unfortunately this point is true, and there is nothing to do about it but try to work around the issue. All geometry functions are managed by the OCCT geometric modeling kernel, a complex third-party software library over which the FreeCAD developers have no control.

I'll also point out that this issue has affected all versions of FreeCAD to date, not only v0.17, and it will unfortunately but most certainly affect many more FreeCAD releases to come. The OCCT people know that the fillet/chamfer algorithms need to be completely overhauled, as they rely on extremely old code. But just as many companies and open source projects, they have limited resources.

But this can be worked around by finding a different way to model your part. See attached, which accepts those small 3mm fillets.

The idea is that it's almost always better to work in a "make bigger, then cut away stuff" approach than "start with a small block then add to it" approach.

One other thing to consider is that by default, additive and subtractive features leave residual edges on the model; they "split" faces. Fillets don't like that. In v0.17, most features have now a "Refine" property that can be accessed from the Data tab. By default it's set to false; set it to true to apply the refining function that fuses coplanar faces and removes the residual edges.

BTW I just got a crash attempting to create the 9.99 outer fillet. Ouch! I hadn't gotten such a hard crash in a while.
Attachments
PhoneStand_normandc1.fcstd
(96.41 KiB) Downloaded 27 times
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Attempting to use 0.17

Post by NormandC »

The problem of the 9.99mm fillet at the bottom happens when it tries to deal with the center V cut. It does not know how. Up to 5mm it's fine, but over it, it exceeds the wall thickness. Instant crash!
User avatar
NormandC
Veteran
Posts: 18589
Joined: Sat Feb 06, 2010 9:52 pm
Location: Québec, Canada

Re: Attempting to use 0.17

Post by NormandC »

Okay, so you know when I wrote
NormandC wrote: Sun Apr 15, 2018 4:53 pm ou should (almost) never build sketches and features on top of dress up features (fillet, chamfer, draft).
Well I think this is an "almost" case. The bottom fillet simply can't be done with the cut out at the centre. Because the fillet is bigger than the wall thickness, it cannot handle that condition.

As for the 3mm radius on the sides of the upper wall, the failed fillet issue creeps back into my model if I change one thing or another. So to make sure these fillets succeed, you have to change your Sketch002 and not have it be the whole length of the straight wall, but just a tiny bit shorter. Say 60.8 instead of 61.

A word about changes to sketches that make the following features fail. This is due to what we refer to the topological naming issue. Internally, FreeCAD assigns a random ID to topology elements (vertex, edge, face). When doing a change, these IDs are renumbered - but any sketch that was applied to say "Face3" doesn't know that what was "Face3" is now "Face6". Therefore it gets remapped to the wrong face. Same thing for the external geometry inside sketches, they can switch to other edges.

Therefore, when doing a change like I suggest for Sketch002, you can expect breakage in following sketches. The best thing is before changing Sketch002 to edit the following sketches and delete external geometry. Then, edit them back to add external geometry again.

But to make a model more robust I explained some possible strategies in this post: https://forum.freecadweb.org/viewtopic. ... 40#p143978
chrisb
Veteran
Posts: 52143
Joined: Tue Mar 17, 2015 9:14 am

Re: Attempting to use 0.17

Post by chrisb »

In Sketch002 and Sketch03 there were again a redundant horizontal constraint.
In Sketch, Sketch001 there are redundancies in connection with the tangent constraint.
abdullah wrote:abdullah
I had thought Abdullah had improved this, is there some regression involved?

Even after repairing the model the fillet did not work. I set the refine property to true and got some improvement for a fillet of 2 mm but the model still fails CheckGeometry. The problem is that the curve starts immediately at the top vertical block.
You should redesign your model with a short straight left and right of the vertical back.

Edit: Normand has this already analyzed, here are my results anyway.
Attachments
PhoneStand_cb.FCStd
(51.45 KiB) Downloaded 21 times
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
DAP
Posts: 79
Joined: Sun Jul 17, 2016 10:03 pm

Re: Attempting to use 0.17

Post by DAP »

A new version of FreeCAD just showed up, so I am now using this:
OS: Linux Mint 18.3 Sylvia
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.13513 (Git)
Build type: None
Branch: releases/FreeCAD-0-17
Hash: 551c504649450c77445dd62d3ae134620ca00370
Python version: 2.7.12
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 7.2.0
Locale: English/UnitedStates (en_US)

It does not seem to help much.

I started again from scratch. This time none of my sketches are based on surfaces of the existing part. It took me a while to figure out how to offset the sketch plane from 0,0,0.
I am still having difficulty with the fillets. The last two fillets will not allow me to set the radius as large as I want, and I don't understand why. I want the radius to be half of the wall thickness, but it stops me when I try to set it any more than 0.7mm less than half the wall thickness.
Also, if I attempt to fillet the bottom edge of the "V" cut, FreeCAD instantly crashes. I moved the corner of the V slightly away from the edge of the slot to prevent the Fillet continuing from the wall edge into the "V".
Attachments
PhoneStand.FCStd
(287.99 KiB) Downloaded 21 times
DAP
Posts: 79
Joined: Sun Jul 17, 2016 10:03 pm

Re: Attempting to use 0.17

Post by DAP »

I figured out a work around to the filleting problems I was having.
I moved the triangular cut out up out of the bottom fillet so that the thickness of the material was never less than the WallThickness variable.

I now need to move this object, and rotate it about a particular point in space before adding some feet to it. Any suggestions on how to proceed?
I shifted the body down so that the origin was where I wanted to rotate the part, then I created a part, put the body in the part, and rotated the part to the correct angle and shifted it to where I wanted the part.

Is there a way to extract the intersection of a plane with the object into a sketch? That would be useful for defining the attachment point of a foot.

Also, is there a way to add a comment to a sketch? I like to comment my code, and I have not found a way to add text to the sketch that does not affect the sketch.

Thanks.
Attachments
PartiallyComplete.png
PartiallyComplete.png (37.41 KiB) Viewed 978 times
PhoneStand.FCStd
(272.01 KiB) Downloaded 22 times
User avatar
HarryGeier
Veteran
Posts: 1230
Joined: Mon Jul 10, 2017 12:36 pm
Location: Hof Germany

Re: Attempting to use 0.17

Post by HarryGeier »

DAP wrote: Mon Apr 16, 2018 3:31 am
Also, is there a way to add a comment to a sketch? I like to comment my code, and I have not found a way to add text to the sketch that does not affect the sketch.
..Good Idea.. You should add this to the .18 wishlist thread
Kaum macht man´s richtig , gehts´s
My Video Tutorials on Youtube: https://www.youtube.com/channel/UCoe3B ... p8Q/videos
My FreeCAD Stuff on Hidrive: https://my.hidrive.com/share/qr3l1yddy6#$/
User avatar
bejant
Veteran
Posts: 6075
Joined: Thu Jul 11, 2013 3:06 pm

Re: Attempting to use 0.17

Post by bejant »

DAP wrote: Sun Apr 15, 2018 5:28 am First problem I ran into is that the max() function does not work. max(50;70); gives me 70, max(50mm;70mm) gives me 0 mm. It is not usable this way.
Instead of trying to use a range as a maximum, try using a numerical maximum such as this: max(50).

DAP wrote: Sun Apr 15, 2018 5:28 am Any suggestions on how to work around this problem would be appreciated.
Your model is broken from the very beginning; Part WB > Check Geometry (with BOPCheck = True) reports that Pad is not valid, so everything after that is no good either. You need to go back and fix Sketch. Here's how I would create it, but the way Willem did it (in his first reply) would work too:
20180416a.png
20180416a.png (10.26 KiB) Viewed 948 times

I'd also do the same for Sketch001.
DAP
Posts: 79
Joined: Sun Jul 17, 2016 10:03 pm

Re: Attempting to use 0.17

Post by DAP »

bejant wrote: Mon Apr 16, 2018 4:04 pm
DAP wrote: Sun Apr 15, 2018 5:28 am First problem I ran into is that the max() function does not work. max(50;70); gives me 70, max(50mm;70mm) gives me 0 mm. It is not usable this way.
Instead of trying to use a range as a maximum, try using a numerical maximum such as this: max(50).
I was trying to get the maximum of two equations using elements from the spreadsheet. I distilled the problem down to max not working when the values have units. If all elements of a max function have units, the result is zero. This is a bug.
Post Reply