Making models that don't break in FreeCAD

Поділитися
Вставка
  • Опубліковано 28 лис 2024

КОМЕНТАРІ • 48

  • @dack42
    @dack42 Рік тому +10

    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  Рік тому +1

      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.

  • @brankelly1921
    @brankelly1921 21 день тому

    Thank you, really appreciate the tutorial! Going to start learning Ondsel today as a 9 year SolidWorks user :)

  • @riquesan
    @riquesan Рік тому +7

    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!!

  • @superdau
    @superdau Рік тому +1

    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.

  • @brianprice7020
    @brianprice7020 Рік тому +3

    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  Рік тому +3

      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 Рік тому +2

      ​@@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 Рік тому +4

      @@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  Рік тому +3

      @@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?

  • @Hotwire_RCTrix
    @Hotwire_RCTrix 4 місяці тому

    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.

  • @matwyder4187
    @matwyder4187 Рік тому +5

    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  Рік тому +7

      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...

  • @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).

  • @hjtv3900
    @hjtv3900 Рік тому +3

    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: ua-cam.com/video/xqTznFWVjsc/v-deo.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!

  •  Рік тому

    NIce tut. Thank you!

  • @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.

  • @D4mations
    @D4mations Рік тому +2

    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

  • @meisievannancy
    @meisievannancy 6 місяців тому

    TNP is really a misnomer. It is a topographical renumbering/renaming flaw. I wonder why they refer to it as being "topological" .

    • @emiellr
      @emiellr 4 місяці тому

      *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 4 місяці тому +1

      ​@@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 8 місяців тому

    won't it be easier to create master plan in two planes and then reference it?

    • @engineeringmaths
      @engineeringmaths  6 місяців тому

      I'm not a fan of that approach as you tend to lose design intent depending on what features are used for

  • @andymok7945
    @andymok7945 Рік тому +4

    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  Рік тому +2

      @@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

  • @quantisedspace7047
    @quantisedspace7047 Рік тому +1

    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 6 місяців тому

    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.

  • @lsj624
    @lsj624 4 місяці тому

    Maybe I'll just use paper and pencil. Probably a lot faster. lol. Anyway thanks for the vid.

  • @1980thehammer
    @1980thehammer Рік тому

    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 Рік тому +4

    Why you should show your face, that doesn't bring more value for Freecad.

    • @engineeringmaths
      @engineeringmaths  Рік тому +5

      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 UA-cam to let the user choose?
      Thanks again!

    • @SomeGuyInSandy
      @SomeGuyInSandy Рік тому +6

      @@engineeringmaths you should definitely show your face and not show your face at the same time.

    • @htpkey
      @htpkey Рік тому +2

      @@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 Рік тому +1

      @@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 10 місяців тому

    pity you can't speak without uttering "uh" in between every word.