What are the differences between FreeCAD's Clone and Link tools?

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

КОМЕНТАРІ • 57

  • @johnf4085
    @johnf4085 2 роки тому +1

    Im new to Freecad so correct me if I'm wrong, but I noticed one difference that may have not been mentioned. The links are objects that are outside of bodies. When clones are made they are made in bodies. Because of this, clones can use boolean operations.
    Happy I didn't get too far in my design before I noticed this, and I switched to using clones instead of links.
    Otherwise, great videos. I like your particular style of teaching and your viewers in the comment section are thoughtful as well. Looking forward to seeing more work from you. I've watched a few videos on the subject but I'm interested in your take on shapebinders.

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому

      Thanks for your feedback John. I don't use a lot of boolean operations in my work so it never crossed my mind to check whether it would work. Hopefully I won't forget to use the right method when I need to use a boolean operation somewhere down the track :)

    • @hanelyp1
      @hanelyp1 2 роки тому +2

      I'm using a boolean between cloned bodies inn a current project, and can confirm it works.

  • @now-you-know-it
    @now-you-know-it 3 роки тому +4

    Great video. Fantastic background color.

  • @dominicgoodwin1147
    @dominicgoodwin1147 2 роки тому +3

    Thanks for this video. Freecad is so powerful and multifaceted that it is hard for a newbie to find the best workflow, particularly when there are even software branches of the main code, extra workbenches to add in, etc, so I really appreciate these comparison videos. You said one really important thing right at the end that I would love to understand better... You said you primarily use Link because you like to store component parts in external models. With my background in electronics, where almost everything is a component in an external libtrary, I have really missed anyone talking about this on freecad. Can you expand deeper on how you would create external libraries of components and bring them into models, please?

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +4

      Thanks for your feedback Dominic. I was a software engineer in a former life and I still think of modularising designs as a way of reusing them to bring a measure of consistency across multiple designs. I use FreeCAD to design fine furniture as well as jigs and fixtures to help produce that furniture so it is important to me that I don't reinvent the wheel with every design (although there is an element of that unfortunately).
      I'm trying to build a library of resable designs to support my wood working. That takes the form of a spreadsheet which contains the parameters of the part and can be linked into another model, and a model of the part itself that uses the spreadsheet for its parameters. This is done primarily as an aid to assembly using the A2Plus workbench AND for producing assembly diagrams in the TechDraw workbench.
      For example, many wood work jigs use the humble t-nut for bolting things onto the jig. I link in the spreadsheet that defines the t-nut in order to use the parameters in the design of the counter bores in the jig that the t-nuts are inserted into. I then create an assembly which contains the part I'm designing and the model of the t-nut and assembly them to make sure everything fits as designed. Once that's done I will use the Exploded Assembly workbench to explode the assembly so that it can be used to create an exploded diagram of the assembly in the TechDraw workbench.
      I'm still developing this workflow but that's the general gist of it, and how I am trying to reduce rework. Perhaps "library" is not the right term, but it seems like a decent starting point until I can figure out a better term. I hope that this gives you a better idea of what I'm trying to achieve.

    • @dominicgoodwin1147
      @dominicgoodwin1147 2 роки тому +1

      @@GlassonDesignStudio Thanks. I would love you to do a short demo of that sometime, if you can. Thanks again.

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому

      The thought occurred to me too.....

  • @FridolinHeyer
    @FridolinHeyer 2 роки тому +1

    Thank you. Copy Clone Link Sublink - Freecad misses a way through all his features. No red line to follow, no DIR way.

  • @eternity-matt
    @eternity-matt 3 роки тому

    Really helpful video. I haven't used clone or link yet. I have just copied the bodies, but this seems like a much better solution. Thanks heaps for your video.

    • @GlassonDesignStudio
      @GlassonDesignStudio  3 роки тому

      Thanks for your kind words. I'm glad that you found the video useful

  • @joske5279
    @joske5279 2 роки тому

    Thanks, verry clearly explained! Glad i found your channel. I really need a bunch of help with freecad, been using it for a month now but i am so lost haha. And i know i am not the only one hehe

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +1

      Thanks for your feedback. I'm glad that you're finding it useful

  • @JoanMendoza
    @JoanMendoza Рік тому

    Thanks for the info!

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

    I found this very informative and useful, thank you for your effort in making this available to the community. I have a question though concerning datum planes. In the video, when you create one on a face say, you seem to like to detach it before then going on to create a sketch. It's not clear to me why you take that option. I assume what happens in that case is that the datum plane retains its relative position in the coordinate system irrespective of any subsequent changes to position of the surface (eg we change the pad length, the datum pan would stay where it is). IS that right?

    • @GlassonDesignStudio
      @GlassonDesignStudio  Рік тому

      Thanks for your question. I'm glad that you found the video useful. The short answer to your question is that doing so helps to prevent the Topological Naming Problem from raising it's ugly head.
      I have a video that explains the Topological Naming Problem, but in simple terms, each face and edge in a model has a unique name but unfortunately under certain conditions the names of those edges and faces can change which can cause the model to break. The model breaks because a feature that is "attached" to an existing face or edge uses it's name as part of the attachment and if/when the name changes the attached feature could be attached to a completely different face or edge.
      For example, you might create a cube and attach a cylinder to the fifth face which we'll say for sake of argument is the right hand face of the cube. Now you could go back to the original cube and make a minor modification to the design, and FreeCAD will rename all the faces and edges, and after doing that the fifth face is now the bottom face and your cylinder will be attached to the bottom of the cylinder rather than the right side. If you detach the datum plane from the face you used to create it on, then there is no link back to the name of the face and FreeCAD can rename the face as often as it wants without breaking your model.
      Check out my video about the Topological Naming Problem for more details. I hope this helps.

    • @TheEntropyMagnet
      @TheEntropyMagnet Рік тому

      @@GlassonDesignStudio Thank you very much for you explanation, it makes sense now. I have now watched your video on the TNP which again was very useful.
      Thanks again

  • @Merigold83
    @Merigold83 2 роки тому +1

    Great video. But I have one question: Is there a reason that you create for each change on the same plane a new datum plane, instead of re-using the first one?

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +1

      Thanks for your kind words and question. I use the datum plane in an attempt to avoid the topological naming problem, and I just got into the habit of using separate datum planes. An advantage of using separate datum planes is that you can reposition a plane that is in the wrong place and only affect the features on that plane. Moving a reused plane would result in all the feature on that plane being moved as well. It's a small difference I know and perhaps I'm just over thinking it 😀

  • @zpinacz
    @zpinacz 3 роки тому +1

    Thank you for this video. Nice and clear. I would lovento hear more about why one is better than the other (clone vs link). I see that linking objects from external freecad documents may help you keep the work nice and organized. But I am still not sure if this is the only benefit of link over clone? Thanks !

    • @GlassonDesignStudio
      @GlassonDesignStudio  3 роки тому +1

      Thanks for your feedback. I don't think that one is better than the other but I think that your workflow will dictate whether Clone or Link are better tools for you. I have a software engineering background and I tend to think along the lines of designing reusable modules that I can incorporate into new designs. This has led to my preference to use the Link tool as clone doesn't suit my workflow in most instances.
      That said, I am experimenting with some furniture designs that require physical templates to be created that will make the manufacture of the furniture parts easier. I am using the Clone tool as part of this experimentation as it APPEARS to the better solution BUT I haven't finished with the experiments and am not ready to make a statement on that just yet.

  • @paulg3336
    @paulg3336 3 роки тому +1

    Thanks

  • @forresterickson6225
    @forresterickson6225 Місяць тому

    At 7:33 you said "in the same model" Is that the file name? The file holds all of these bodies in your example.

  • @freecaddevdiary7038
    @freecaddevdiary7038 Рік тому

    Thanks for the video. However I'm still a bit confused, you mostly presented both functionalities, but not really outlining the differences.
    From what I understood, Link has features that Clone doesn't have (can select external bodies), but not the other way around. Which brings the question, why do we keep clone around.

    • @GlassonDesignStudio
      @GlassonDesignStudio  Рік тому

      Thanks for your feedback. I rarely use the clone tool in my work so I don't have a good answer as to why the clone tool is kept around. Sorry.

  • @cekuhnen
    @cekuhnen 3 роки тому +1

    super nice !

  • @multiforc271
    @multiforc271 2 роки тому +1

    hi, one question:
    I have several parts, and i want to have different parts which are fairly similar,
    in my mind it have made sence that i make the first sketch and then copy that to the other parts/bodies, but when i modifie the copies, to have the slight difference, all of them are linked and modify together !
    how can i cut the bound and links between them ???

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +1

      Thanks for your question. I tried to recreate your scenario but wasn't able to. What I did was create a body, then create a sketch. I then clicked on the sketch in the Model view and pressed Control-C. FreeCAD opened a dialogue box asking whether I wanted to include the dependencies which I said yes to. I then created a new body and pasted the sketch into the model - which then required me to move the sketch into the new body. I then modified the sketch and it was not linked to the original sketch. I also tried copying the sketch without including the dependencies and got the same result. Is this similar to what you tried?
      BTW you didn't mention which version that you're using, but I'm using FreeCAD 0.20.1 on Kubuntu.

    • @multiforc271
      @multiforc271 2 роки тому +1

      @@GlassonDesignStudio Thanks you for your reply,
      i have this problem both in 0.20 and realtunder, but on the same file; inital file was on 0.20 ( i mean i didn't start the generation on realtunder from ground zero..... maybe there was a bug and it got copied/ stayed in different version
      this what i have done:
      1- creating multiple part
      2- creating bodies for each part
      3- starting a sketch in the first body, and pading pocket and ....
      4- dimensions are linked to a spraadsheet !
      5- i draged the first and main sketch that i wanted to modify, to the second body
      but here, when i modify any of the, they are linked, and both of them change.
      is there a way to see the relation between them ? so i can reove it, or at least i can find out what relation they have?!
      maybe like Catia , there is an isolation function ?

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +1

      Thanks for the additional information. I didn't try dragging the sketch from one body to another so I'll have to look into that and understand how it works because I've never done it that way before. Did you try copying the sketch from one body and pasting it into the other?

    • @multiforc271
      @multiforc271 2 роки тому

      @@GlassonDesignStudio the problem is, right now, i can delete any one of the sketches !
      if i change eitherthe first original sketch or the dragged one, editting or deleting, will effect both of them; so i can not return to the stage that i have one sketch to try copy it.
      easy solution is to start over and create a new file, but i rather to know the reason and solution (instead of cleaing the question).
      right now, i have two exact sketches, that if i edit or delete one of them, it will effect other, but i need to know how to cut the link and connection.

  • @girardaquino
    @girardaquino 2 роки тому

    Hi! Your videos are really helpful, so thanks for making them! Could you explain why you detached your datum plane (~4:xx) , as well as pros and cons, and when to attach, etc? Just if you get the time.... :)

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +2

      Thanks for your kind words. FreeCAD has a long standing problem known is the topological naming problem where every face and edge is given a name but that name is not permanently attached to that face or edge. Let's say that you have created a cube and you want to drill a hole in the top face (we'll call that face Face6). You have to select Face6 so that place the geometry for the hole. Now, lets say that you change your mind and want the cube to actually be a hexagonal solid, so you edit the original sketch to make it a hexagon. Once you've done that FreeCAD will recompute the geometry and assign names to the faces and edges. My expectation is that the drill hole will remain in the the top of the hexagonal solid...but this is not what happens. FreeCAD has renamed all the faces and edges so the top face might now be Face8 but the hole is still attached to Face6 which now might be one of the sides of the hexagon. Obviously this is not what we want.
      So the idea of creating a detached datum plane is an attempt to get around this problem because it creates a datum plane that just "hangs" in space and is not directly connected to the underlying part. It's not a great solution because you need to ensure that the datum plane is in the right place if you resize the part. You can do this using parametric design principles but it would be better if FreeCAD took care of it for you and we didn't have to have workarounds like this. Apparently version 1.0 will resolve this problem but I don't know when it will be released.
      I hope this makes sense....I also have a video on the topological naming problem which is a bit out of date now but it does give you some of the background - just bear in mind that FreeCAD no longer allows you to do some of the things I suggested because they were completely wrong. I need to do an update for that video but haven't gotten around to it yet.

    • @juergen2023
      @juergen2023 Рік тому

      oh - many thanks to this explenation. Now I understand thousands of my problems😊

  • @harishkumargajakosh5483
    @harishkumargajakosh5483 2 роки тому

    hello sir, The video was interesting indeed but, I have one question. Is it possible to mirror a linked body? if yes, how? if not, is there any other way to do it while maintaining the link with the original file?

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +1

      Thanks for your question. I've not come across the situation you describe before so I don't know if it is possible. I've done a few quick tests but I have not been able to mirror a linked object - even in FreeCAD 0.20. I'm not sure that you can actually do what you want to do.

    • @harishkumargajakosh5483
      @harishkumargajakosh5483 2 роки тому

      Thank you for the response. Even I experimented myself and failed, I needed confirmation from an expert.

  • @kopiller
    @kopiller 3 роки тому

    Trying to understand the difference form a coding pov when can understand clone as a function and link more like a class?

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому +1

      Hi Jose, thanks for your comment. It's been a few years since I've done any coding so my terminology might not be entirely correct, but from a coding POV a link is like a reference to an existing object and a clone is more like a deep copy of an object at a point in it's life.

  • @chrisBruner
    @chrisBruner 3 роки тому +3

    A difficult concept that is well explained, I not quite sure about this though. I understand but it seems wrong. The clone tool shouldn't be called that, since it doesn't actually make a clone, it makes a link, as evidenced by modifications on the original showing up on the clone. Eg, you were to clone a sheep you would not see this effect. The link tool seems to do the same thing but you don't have the option to move it. So there isn't much difference. Feels to me like this is a bug not a feature. The clone tool should make a copy. The link tool should make what is now the clone tool, and the current link tool should be tossed. (unless you know of a use case for it.) Also, you alway add a datum plane to avoid the naming problem. I know you can click on a face and create a sketch on it. Would it make sense if this was changed to automagically add a datum plane when you did this? I think that would be more intuitive. Good video, and I like this style of tutorial. I'm not suggesting you make changes to the program, just discussing the idea.

    • @GlassonDesignStudio
      @GlassonDesignStudio  3 роки тому +4

      Thanks for your feedback Chris. I'm glad you liked the video.
      I hadn't thought about the Clone and Link tools in the same manner as you but I can see your point. They are quite similar but I prefer to use the Link tool because I can link to external models in which I have defined standard parts, etc. The Clone tool doesn't have much place in my work but it's there and I thought it would be interesting to look at the differences between the two. I'm not sure that adding the datum place automatically is such as good idea but I can see the merit of it. I am not involved in the development of the software but my understanding of the topological naming problem is that it is an issue with one of the core software libraries that FreeCAD uses. Using a datum plane to avoid the topological naming problem makes sense, but at the end of the day IMHO it is really just a workaround to a fundamental problem and a better solution would be to fix the problem properly if possible. I don't know whether the FreeCAD developers have any sway with the developers of that library so I can't say that they'll be able to fix the library. I know that one of the FreeCAD developers who goes by the name realthunder has a development version of FreeCAD (it's called LinkStage3 I think) in which he has fixed the topological naming problem but I don't know how he did it or when the fixes will be merged into the main code.

  • @Hotwire_RCTrix
    @Hotwire_RCTrix 9 місяців тому

    You can create a body and a link to an external body which can be fused but 2 linked bodies can't. This is odd, don't you think

    • @GlassonDesignStudio
      @GlassonDesignStudio  9 місяців тому

      Thanks for your question. I've never given it any thought to be honest because its not something that I need in my workflow.

  • @AkiraFurball
    @AkiraFurball 3 роки тому +3

    WAIT.. Hang on.. Hold your horses...
    Are you saying that in order to prevent TNP you can simply click a face, add a datum plane instead of a sketch, detach datum plane, and then sketch on the datum plane!!!!
    Every resource I have seen has said you have to attach the datum to one of the base planes and offset it to the right place, which is a bloody nightmare to try and figure out if your face happens to be at a compound rotation in x y and z..
    Have I been missing something so simple all this time!!!!!!

    • @GlassonDesignStudio
      @GlassonDesignStudio  3 роки тому +1

      Thanks for your question Louise. The process you described has been working for me but you still need to create a sketch on the datum plane before you can start sketching. I was using version 0.18 and was able to reference external geometry from an earlier feature using this method in my video, but I have moved away from referencing external geometry in subsequent sketches because it still has the potential of triggering the TNP.
      It seems to me that the process of selecting a face and creating a datum plane effectively does the same thing as creating a datum plane on a base plane and offsetting/rotating it to the desired place (at least it has for all the cases where I've done it). I'm the first to admit that I might be doing something wrong, but this process works quite well for me in the simple models that I create for my wood working. Detaching the datum plane from the face removes any link to the name of the face and therefore should prevent the TNP occurring.
      Please bear in mind that this is a workaround and not a solution to the problem. This process may not work in future versions of FreeCAD and hopefully the fixes from realthunder's branch will get merged into the main source code in the not too distant future. I am planning to do an update for TNP video because there are some things I've said in it that need correcting based on the behaviour of version 0.19 and later. These later versions seem to be more strict on the use of external references in sketches, but I need to do some more testing before I make a video which corrects the earlier video.

    • @AkiraFurball
      @AkiraFurball 3 роки тому +1

      @@GlassonDesignStudio I understand there is hope that RT branch is going to be merged in for December release, touch wood.. I do have RT's branch, but I cannot get it to compile and the appimage suffers a qt error with fonts and UI scaling being all to cock on manjaro KDE, so I try to work with the main branch where possible..
      Its a superb program, not the most intuitive but once you start to get your head round it the power it has is quite phenomenal.

    • @AkiraFurball
      @AkiraFurball 3 роки тому +1

      @@GlassonDesignStudio Looking into it further, a downside for me is it breaks the parametric design, especially spread sheet driven parametric design which is where I am heading..
      So if the dimensions change based of a spreadsheet update the datum stays put and then breaks the design..
      its really quite annoying, but its not freecad devs entirely to blame, its the underlying cad kernel that has the bug, the devs have to work around it somehow..
      Ahh well, keep fingers crossed for good news december :D

    • @GlassonDesignStudio
      @GlassonDesignStudio  3 роки тому +2

      Hi Louise, sorry about the delayed response. Thanks for your additional feedback. You are correct that detaching a datum plane from the face makes it more difficult to use parametric modelling. For most of the work I do it doesn't really matter, but in the instances where it does I will create a plane on one of the base planes and then move it into position using values taken from a spreadsheet (I use spreadsheets for most things if you haven't already noticed :) ). I should have said more about that in my first response.

    • @johnf4085
      @johnf4085 2 роки тому

      I said the same thing, I smacked myself in the head and said "the answer was right in front of my face". This is a really powerful technique, or workaround rather.
      To add: I noticed once you apply the datum plane to the face, it has an attachment of 0 across the board, but it's placement according to the coordinate system is filled in. If you write down, take a screen shot of, or remember this placement, you change the "support" of the datum plane to another plane. You can then adjust the "attachment" (x,y,z location) to whatever is in your screenshot.
      So it's an extra step, and will become very unweidly for transformations in several directions and angles, but it definitely is possible to set up a proper datum plane flush with a face. Just remember, when you select a new "support" plane, that you clear the supports first. The default behaviour, when you select a new plane youre just adding additional references to your original face, not replacing that face.

  • @giuliobuccini208
    @giuliobuccini208 2 роки тому

    So the clone tool create a clone,d objects the link tool cretes a linked object....
    I still didn't catch the difference. My fault for sure.

    • @GlassonDesignStudio
      @GlassonDesignStudio  2 роки тому

      Linking allows you to use part that does NOT exist in your current model.