Making models that don't break in FreeCAD

  Рет қаралды 12,494

Engineering Maths

Engineering Maths

Күн бұрын

Can you make a FreeCAD model that won't break every time you try to change something, due to the topological naming problem? Sure you can!
This tutorial is also available in text format, together with the code I used in the video, at:
github.com/da-crivelli/freeca...
Want to see more of these videos? Buy me a coffee :) www.buymeacoffee.com/dacrivelli
Timestamps:
00:00 Intro
02:29 Making a terrible model
07:10 Breaking a terrible model
09:40 A better way to model: skeleton sketches and datums
21:17 Breaking and unbreaking tne unbreakable model
25:00 Outro / recap
If you want to get involved, do get in touch!

Пікірлер: 46
@dack42
@dack42 Жыл бұрын
There are several other techniques that can also be used to avoid TNP issues. One I like to use is expressions and named constraints. For example, in the baseplate sketch you could give a name to the baseplate length. Then in the long rib pad, you can add an expression for the pad length that references the baseplate length. That way, you have constrained the rib to match the baseplate without referencing any geometry. You can also use expressions which reference other values - the length of a pad, the offset of a datum plane, etc. Since it's not referencing auto-generated internal names, it's won't break the way that face or projected geometry references do.
@engineeringmaths
@engineeringmaths Жыл бұрын
That's a very good option too. Expressions and spreadsheets have been my preferred way to go in Solidworks -- I have been a CREO user for a while now and our standard practice is to put driving / functional dimensions and geometry in skeleton sketches.
@riquesan
@riquesan Жыл бұрын
Great video with a great strategy of conception!! I also use that with spreadsheet and it works very well, very stable... until the fillets and chanfers. They never works after any modification. But again, nice video!! Thank you!!
@brianprice7020
@brianprice7020 Жыл бұрын
I recognise that your video is not for beginners but is a very useful building block for someone who is learning CAD / Freecad. I am finding Freecad a steep learning curve.
@engineeringmaths
@engineeringmaths Жыл бұрын
Thanks, appreciate the feedback! I'm looking at doing something less tutorial-feeling (of which there are plenty) and more focussed on best practices to avoid issues. Is there anything specific you would like to see?
@IGBeTix-Electronique
@IGBeTix-Electronique Жыл бұрын
​@@engineeringmaths I agree with you, many people don't like freecad because there is the "topology" problem inside that desctruct their model. I prefer to say after more than one year on freecad that all beginers should know all these problems. Thumb's up ! (and i'm subscribing to your channel to). For me, it's better to have the report view on the right to have more place for modelisation.
@hjtv3900
@hjtv3900 Жыл бұрын
@@engineeringmaths If you can spare the time, a video on using datum planes with pipes and subtractive pipes would be nice. How to make intersections that do not break if I change something. 👏
@engineeringmaths
@engineeringmaths Жыл бұрын
@@hjtv3900 additive pipes / lofts are a nightmare even in professional CAD packages! 😄I have added this to my list, will definitely work on this soon.
@aleisterlavey9716
@aleisterlavey9716 Жыл бұрын
​@@engineeringmaths have you told your customers that square is the new round?
Жыл бұрын
NIce tut. Thank you!
@matwyder4187
@matwyder4187 Жыл бұрын
15:03 What is happening there? You constrain the left side with "O" (I guess) and then... what kind of dark magic is that? Some keystroke display util would be really useful. Also I wonder, are there really no addons that aim to address the topological problem? I mean, regardless of the underlying data structure indexing scheme, most of the time we refer to a specific feature at a specific location, it would make a lot of sense to add a fallback whenever a "recompute failed" occurs and try to find the proper reference by geometric matching before freaking out and leaving the user to manually reconnect every link in the chain, or to struggle with datum planes. Sure, at least this works, and btw. thanks for the advice, will use this method, but still, the lack of this automation makes the otherwise handy and natural object reference feature pretty much useless, or even worse, a trap... Usually it's just a face, most of the times it's even the only face on its plane, so until it's shredded into pieces, there seems to be a straightforward way to pick the proper feature after each modification. When there are multiple candidates, there should be some method to offer a choice to the user. Am I missing some obvious reason why this can't be done? Disclaimer, I'm at best a sorry noob with Python, and FreeCAD is a crazy complex beast, but if there's really no effort underway to do this, I might give it a try myself. Really annoying flaw in an otherwise wonderful piece of software.
@engineeringmaths
@engineeringmaths Жыл бұрын
Hey, sorry for the issue at 15:03, this is down to my editing skills! I used "mirror", so selecting the node on the left, the vertical axis, the right axis, and then the ">
@marcosiccardi7956
@marcosiccardi7956 Жыл бұрын
Geat video! Probably you already know but the Realthunder Freecad release attempt to just solve this problem and it seems to work quite well.
@engineeringmaths
@engineeringmaths Жыл бұрын
Thanks! The realthunder branch is excellent, but I'd rather wait for it to be merged into the main freecad release when it's ready and stable enough. This approach is a bit more robust at the moment if you want to automate parameter changes etc...
@Hotwire_RCTrix
@Hotwire_RCTrix 14 күн бұрын
Name your pad lengths and required sketch constraints. Use them instead of projecting volatile objects. Even projecting sketch objects is ok. If you relevant sketches visible it's easier to see what is real. Once you have teached a point of surety use simple-copy. You can still scale, move and boolean.
@IGBeTix-Electronique
@IGBeTix-Electronique Жыл бұрын
Great video. The topology is a major problem on freecad. I resume : to avoid it : del all geometry references, del all object plan references. It's better to use base planes like 0xy or datum planes based on base planes. The result is much much work for simple objects :( . Other problem is that it is difficult for the user to select simply external geometries.
@engineeringmaths
@engineeringmaths Жыл бұрын
Good point on references. Regarding referencing external geometries, I literally have a video coming up in a couple hours 😃 make sure to check it out!
@IGBeTix-Electronique
@IGBeTix-Electronique Жыл бұрын
@@engineeringmaths Thanks. I deduce with your new video that for referencing, using cascading datum planes is a good approach (for simple objects only) (like cascading style sheets !)-> Exemple : referencing on datum plane with another datum plane etc. Like this the geometry will be less dependent from topology problems (that will be resolved in future versions of freecad).
@user-fr3hy9uh6y
@user-fr3hy9uh6y Жыл бұрын
I better understand the problem. My solution was to use a spreadsheet to hold common values instead of features from other parts. Added advantage is it is easy to modify the part but a pain to set up.
@engineeringmaths
@engineeringmaths Жыл бұрын
A spreadsheet is a good idea and it's a typical way to drive family tables or variations of parts, but the driving features should ideally all be in the model tree so that they make it obvious to another user what they do.
@superdau
@superdau Жыл бұрын
The "external geometry" option is nice in theory, but unless you are 110% sure you won't ever touch the "external" shape (whatever it is) again, it is just a recipe for a continuously breaking model. I'm avoiding it like the plague. I wish you could simply name an edge (or vertex) of a sketch and any reference would be to that name (and you'd get a warning if you try to delete a named and referenced edge). In pads or revolves the extruded faces (or in case of an "extruded" vertex) should automatically name themselves with the same name. Then external geometry might actually be more useful than a hassle.
@D4mations
@D4mations Жыл бұрын
There is no reason to look for ways to work around a very serious bug. Forget main branch and use the linkstage branch which no longer suffers this issue
@hjtv3900
@hjtv3900 Жыл бұрын
Thank you for helping me understand why my models look good in the 2D sketches but break when I change the 3D part. 😀 Being a beginner in FreeCAD, I sometimes have difficulty seeing on what icon you click. Could you please either move slower (probably not) or use a different colour background for the cursor? That would make it much easier to see what you are doing. In FreeCAD, I can name variables in sketches. But is there a way to name variables for datum planes? In the example you set the number for the thickness of the plate. Is there a way to name that variable? Or is there another way to reference that number? Please, keep making videos on the more advanced FreeCAD techniques. Beginner videos there are plenty. Intermediary stuff is not so plenty. FreeCAD Keep up the good work, it is appreciated!
@engineeringmaths
@engineeringmaths Жыл бұрын
You can only rename constraints as far as I understand but you can reference pretty much any other parameter by using the formula button on variables. It's not obvious at first but I briefly explain how to do it in my top down assembly video, around this timestamp: kzfaq.info/get/bejne/rteErdF3vLzOo5c.html I do need to sort out all the kinks in my recording set up, I will definitely look into setting up either a mouse highlighting tool or a larger cursor when recording. Really appreciate the feedback!
@andymok7945
@andymok7945 Жыл бұрын
As a casual user, the work around is way too complicated. At one point you talked about naming the inner and outer diameter, but I could not see where you were doing this.
@engineeringmaths
@engineeringmaths Жыл бұрын
Ahh sorry my bad, looks like the window capture didn't work properly. If you double click on a dimension in Sketcher, you will get a popup that lets you rename the constraint. I agree that it's not ideal, but if you need to move away from certain commercial software that's "free until it's not", this is a reasonably stable way to not lose your mind when you want to change something later. Also using skeleton sketches is pretty standard in industry when doing top down design, it does make things a bit slower but it pays off in time saved on fixing broken models.
@andymok7945
@andymok7945 Жыл бұрын
@@engineeringmaths Thanks for the reply. I use sketchup for doing room layout woodworking projects and for designing project boxes for electronics projects to be 3D printed. I want to use FreeCAD for do my designs for 3D printing. All just hobby stuff.
@engineeringmaths
@engineeringmaths Жыл бұрын
@@andymok7945 unfortunately if you want to stay away from the autod*sk ransom / subscription model, there aren't many open source alternatives other than Blender (for non-parametric) and FreeCAD (for "parametric, almost, when it works")... I used to say that all CAD software is almost the same, the only difference is they make you angry in different places.
@ianliu88
@ianliu88 Жыл бұрын
​@@engineeringmaths solvespace is pretty nice
@meisievannancy
@meisievannancy 2 ай бұрын
TNP is really a misnomer. It is a topographical renumbering/renaming flaw. I wonder why they refer to it as being "topological" .
@emiellr
@emiellr 2 күн бұрын
*Topology* is a branch of mathematics concerned with the properties of geometric objects that remain unchanged under continuous deformations. These deformations include stretching, twisting, crumpling, and bending, without introducing holes, tearing, or gluing. In other words, topology studies the “shape” of objects in a flexible way. Here are some key points related to topology: *Topological Space* A topological space is a set of points endowed with a specific structure called a topology. The topology defines which subsets of the space are considered “open” (in a precise mathematical sense). Open sets capture the idea of “closeness” between points. Examples of topological spaces include Euclidean spaces (like our familiar 2D and 3D spaces) and more general metric spaces. *Topological Properties* A property that remains invariant under continuous deformations is called a topological property. Examples of topological properties include: - Dimension: Distinguishing between a line (1D) and a surface (2D). - Compactness: Distinguishing between a line and a circle. - Connectedness: Distinguishing a circle from two non-intersecting circles. *Historical Context* The ideas underlying topology trace back to Gottfried Wilhelm Leibniz in the 17th century. Leonhard Euler’s famous “Seven Bridges of Königsberg” problem and his polyhedron formula are considered early topological theorems. The term “topology” was introduced by Johann Benedict Listing in the 19th century, but the concept of a topological space fully developed in the 20th century. Now, let’s connect this to topological naming: In computer science and modeling, “topological naming” refers to a naming convention that preserves the topological relationships between objects. When we perform operations on a model (such as attaching a blend to an edge), the resulting names reflect the previous state of the model. Essentially, it’s about maintaining consistency in naming based on the underlying topology.
@meisievannancy
@meisievannancy Күн бұрын
​@@emiellrWow. What a comprehensive explanation on the subject of topology . Thanks. I don't dispute the naming of a shape remaining consistent but my observation of freecad is that it will, say renumber edges, that one has already chamfered to be other edges, with the same name, but with a different numerical suffix, as it changes the numerical numbering of edges, if one changes something one has created a couple of steps before in the workflow. I am sure it is a complex issue to solve as it involves a deep historical depth of understanding of how the computational construction of the software was used to depict a 3 dimensional object . I am grateful to the people who are contributing to hopefully solving the problem.
@sergiy_abc
@sergiy_abc 3 ай бұрын
won't it be easier to create master plan in two planes and then reference it?
@engineeringmaths
@engineeringmaths Ай бұрын
I'm not a fan of that approach as you tend to lose design intent depending on what features are used for
@quantisedspace7047
@quantisedspace7047 Жыл бұрын
Am I the only FreeCAD user to think the TNP is a big joke, that it only exists because people will it to exist, by doing things The Wrong Way ? I had never used any CAD software ever before 6 weeks ago and FreeCAD is the only one I've used. Working my way through some of the tutorials, most of them wanted me to sketch on a surface that was dependent on some other operation. With no prior knowledge of the TNP, my response to this was 'WTF' - what happens if that surface is changed to be too small or gets split into multiple planes ? I decided there and then to design all my design parts separately, combining them geometrically using numbers from a spreadsheet. Then I came across various WB tools which require me to specify a face# or an edge #. Again, WTF ? This is like declaring an int in a programming language and then writing code assuming that that int will always have a fixed location in memory, or a fixed offset on the stack.
@schrodingerscat1863
@schrodingerscat1863 Жыл бұрын
The tutorials do this because pretty much every other parametric design tool isn't fundamentally broken and models don't explode every-time something is done like adding a chamfer. They want people to think FreeCAD is usable for doing serious work when in reality it is a mess.
@mikemartin6165
@mikemartin6165 Ай бұрын
This does not work. If I change the parameters of the model the datum planes do not change position. I now have to link the datum plane parameters to the model parameters which is a lot of work. This is marginally better than topological naming problems but not by much. Have the FreeCAD developers not hear us? Fix the topological naming problem, period! Instead they are adding new features and pretending like having a parametric modeler that does not accept changes to parameters is okay. We should all be using FreeCAD Link Branch and abandon FreeCAD until they get onboard.
@1980thehammer
@1980thehammer 8 ай бұрын
So this video is for the more pro users?! Shame cause I didn't understand a word. For me it sounds like just use as many datum-planes as possible 😂
@jeepster
@jeepster Жыл бұрын
Why you should show your face, that doesn't bring more value for Freecad.
@engineeringmaths
@engineeringmaths Жыл бұрын
Thanks for the feedback! Not showing my face would make my life easier, however I have had lots of feedback in the past where people much preferred seeing a face during video tutorials, seminars and presentations. Would you prefer the approach shown in stanfordvr.com/mm/2015/kizilcec-jep-instructors-face.pdf which seems to show the face only in strategic moments? The effects of either approach seem to be minuscule but always happy to make evidence based decisions! If you find any reasonably serious piece of work looking at it having a detrimental effect overall, it would be great if you could share it! Or if there is a clever way in KZfaq to let the user choose? Thanks again!
@SomeGuyInSandy
@SomeGuyInSandy Жыл бұрын
@@engineeringmaths you should definitely show your face and not show your face at the same time.
@htpkey
@htpkey Жыл бұрын
@@engineeringmaths I like that you show your face! It makes these videos more personal and relatable, even if the face cam doesn't provide any other value. Please keep it!
@macdroid53
@macdroid53 Жыл бұрын
Distracting and waste of screen space. Agreed!
@hjtv3900
@hjtv3900 Жыл бұрын
@@engineeringmaths Thank you for the reference to the interesting article by Kizilcec. A combination of showing your face in the intro and outro would be nice because it makes the video more personal. When working the models, there is little benefit to me in seeing your face. @Mac Mac: It is a bit harsh to call it distracting and a waste of screen space. But there is some truth in your remark.
@timvictor2252
@timvictor2252 6 ай бұрын
pity you can't speak without uttering "uh" in between every word.
Easy parametric FEA with FreeCAD and Python
45:18
Engineering Maths
Рет қаралды 6 М.
CSWA exam in FreeCAD, without topological naming issues
44:42
Engineering Maths
Рет қаралды 4,5 М.
Sigma Kid Hair #funny #sigma #comedy
00:33
CRAZY GREAPA
Рет қаралды 28 МЛН
An (almost) painless top-down design approach in FreeCAD
36:07
Engineering Maths
Рет қаралды 7 М.
Additive and subtractive pipes in FreeCAD? No (topological) problem!
14:39
Engineering Maths
Рет қаралды 3,4 М.
How to Easily Make Bevel Gears in FreeCAD
5:43
SierraApex
Рет қаралды 1,9 М.
The CrowdStrike Problem Isn’t A Simple Fix…
13:04
Theo - t3․gg
Рет қаралды 83 М.
Was I unfair to FreeCAD?
17:31
Maker's Muse
Рет қаралды 105 М.
The Problem With These Headlights
17:55
The Engineers Post
Рет қаралды 815 М.
FreeCAD: Understanding how Datum Planes and Datum Lines Work With Grooves and Revolves
25:37
MangoJelly Solutions for FreeCAD
Рет қаралды 41 М.
FreeCAD Is Fundamentally Broken!  - Now what... Help Me Decide...
10:35
Mobile Wheel Polisher ##❗️❗️
0:19
ToolBox Talk 20
Рет қаралды 3,9 МЛН
Агрессивный обочечник!
0:33
ДВИЖЕНИЕ С УВАЖЕНИЕМ LIVE
Рет қаралды 2,3 МЛН
driver digging machine is king#四不都不like digging with a car #P-4907
0:13
все завёл и убежал #питбайк #dirtbike
0:25
Kirill Man
Рет қаралды 1,9 МЛН