Attempting to use 0.17
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!
Re: Attempting to use 0.17
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. As usual design attached.
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. As usual design attached.
- Attachments
-
- PhoneStand.FCStd
- (77.02 KiB) Downloaded 24 times
Re: Attempting to use 0.17
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.
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.
There would have been a way to repair your model without going to these drastic measures.
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.
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.
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
Re: Attempting to use 0.17
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!
Re: Attempting to use 0.17
Okay, so you know when I wrote
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
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
Re: Attempting to use 0.17
In Sketch002 and Sketch03 there were again a redundant horizontal constraint.
In Sketch, Sketch001 there are redundancies in connection with the tangent constraint.
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.
In Sketch, Sketch001 there are redundancies in connection with the tangent constraint.
I had thought Abdullah had improved this, is there some regression involved?abdullah wrote:abdullah
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.
Re: Attempting to use 0.17
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".
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
Re: Attempting to use 0.17
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.
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 (37.41 KiB) Viewed 978 times
-
- PhoneStand.FCStd
- (272.01 KiB) Downloaded 22 times
- HarryGeier
- Veteran
- Posts: 1230
- Joined: Mon Jul 10, 2017 12:36 pm
- Location: Hof Germany
Re: Attempting to use 0.17
..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#$/
My Video Tutorials on Youtube: https://www.youtube.com/channel/UCoe3B ... p8Q/videos
My FreeCAD Stuff on Hidrive: https://my.hidrive.com/share/qr3l1yddy6#$/
Re: Attempting to use 0.17
Instead of trying to use a range as a maximum, try using a numerical maximum such as this: max(50).
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:
I'd also do the same for Sketch001.
Re: Attempting to use 0.17
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.