How do I "clone" an object?

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!
Post Reply
julianfoad
Posts: 48
Joined: Wed May 06, 2015 9:17 pm
Location: England
Contact:

How do I "clone" an object?

Post by julianfoad »

How do I "clone" an object? Say I have one "original" object and I want to make two "clones" of it, and place them in arbitrary places, so that I have three objects all sharing a common definition. So when I want to make a slight change to the object, like add a fillet to its edges, I only need to make that change in one place and all three objects are updated.

The "cloning" aspect of the result I am looking for is similar to what "Draft Array" does, but I want to be able to place each clone independently, not have them all arranged in a regular grid.

When I say "object" I mean any kind of object, but let's say a compound solid object to make the question a bit more definite.

This must obviously be possible by programming, but I can't find anything in the GUI.

Thanks,
- Julian


OS: Ubuntu 16.04 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.17.8013 (Git)
Build type: Unknown
Branch: master
Hash: 0287cd3f84d4fbae888fd94f062ce2d7d5d79a4b
Python version: 2.7.11+
Qt version: 4.8.7
Coin version: 4.0.0a
OCC version: 6.8.0.oce-0.17
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: How do I "clone" an object?

Post by triplus »

Draft Clone.
julianfoad
Posts: 48
Joined: Wed May 06, 2015 9:17 pm
Location: England
Contact:

Re: How do I "clone" an object?

Post by julianfoad »

Ugh. Thanks. <How did I miss that?>
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: How do I "clone" an object?

Post by triplus »

julianfoad wrote:Ugh. Thanks. <How did I miss that?>
You're welcome and don't worry about it. Try to explore different workbenches and test out the tools in them. In FreeCAD 0.17 PartDesign doesn’t enable the end user to mix tools from different workbenches like it used to but this could always be explored and improved in the future. I guess after assembly capabilities are added.

And note that changing parameters for existing underlying features are reflected in Draft Clone. Adding new feature like border radius to original part won't be reflected.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: How do I "clone" an object?

Post by DeepSOIC »

julianfoad wrote:So when I want to make a slight change to the object, like add a fillet to its edges, I only need to make that change in one place and all three objects are updated.
That's what Body is all about! You Draft Clone the body, and then if you add a fillet inside the body, clones will get this fillet.
triplus wrote:In FreeCAD 0.17 PartDesign doesn’t enable the end user to mix tools from different workbenches like it used to
Yea, PartDesign has become more of a walled garden than it was before :( And that's why I want to introduce the body-like thing outside of PartDesign (also applies to datum planes-lines-points, revolutions around axes definable as construction lines in sketches, conveniently extruding a sketch along normal, etc etc just outside of the annoying PartDesign restrictions).

I have an evil plan for a yet another new PartDesign, that is to be open to non-partdesign stuff. But the number of evil plans I have is definitely above the time I'm ready to spend on them.
triplus
Veteran
Posts: 9471
Joined: Mon Dec 12, 2011 4:45 pm

Re: How do I "clone" an object?

Post by triplus »

Current or potential new body-like thing will likely always have some restrictions. Unless we move everything in it. Exploring how much current one brings to assembly effort is i guess best spent effort for now. After this is done i guess it will be easier to think about expansion.
julianfoad
Posts: 48
Joined: Wed May 06, 2015 9:17 pm
Location: England
Contact:

Re: How do I "clone" an object?

Post by julianfoad »

DeepSOIC wrote:
julianfoad wrote:So when I want to make a slight change to the object, like add a fillet to its edges, I only need to make that change in one place and all three objects are updated.
That's what Body is all about! You Draft Clone the body, and then if you add a fillet inside the body, clones will get this fillet.
OK so I need to put my object (one shelf of my boot rack) inside a Body container. I have created a new Body object. How do I put my shelf inside it? I tried drag-and-drop in the Tree View but it doesn't allow it: it shows the "no entry" symbol "Ø". I looked for a menu entry "Wrap the selected object(s) in a new Body" but there doesn't seem to be anything like that. Is this part of the Body work flow yet to be developed?
DeepSOIC wrote:
triplus wrote:In FreeCAD 0.17 PartDesign doesn’t enable the end user to mix tools from different workbenches like it used to
Yea, PartDesign has become more of a walled garden than it was before :( And that's why I want to introduce the body-like thing outside of PartDesign (also applies to datum planes-lines-points, revolutions around axes definable as construction lines in sketches, conveniently extruding a sketch along normal, etc etc just outside of the annoying PartDesign restrictions).

I have an evil plan for a yet another new PartDesign, that is to be open to non-partdesign stuff. But the number of evil plans I have is definitely above the time I'm ready to spend on them.
This topic is becoming very interesting. I think I'm on the same wavelength as you. The "walled garden" approach seems wrong. I feel that the ability to clone (i.e. re-use) any object, and then to be able to modify the underlying object and see the changes everywhere, is a fundamental necessity. That implies that every object should, very easily or even "automatically" be wrapped in a standard sort of container.

I will go and read your Non-PartDesign Body container proposal thread again. Have you written anything else describing your plans? I'd love to read it and share ideas. You mentioned in that thread a pull request, implying there's some working code. Can you point to that so I can try it?

The reasons I have started writing some of my ideas on my blog (topic: My dreams for FreeCAD -- the big picture) -- even though what I've written so far is fuzzy and not well explained and I haven't done any mock-ups or anything yet -- are because I feel explaining and sharing the big ideas and benefiting from feedback is the best way to contribute to the future -- more valuable than spending my time coding a small portion of it. I'd like to do some coding as well, though. Your ideas are inspiring me as it seems you are looking at the same fundamental areas of the software design that interest me, so the more you can share them the better! Thanks!
julianfoad
Posts: 48
Joined: Wed May 06, 2015 9:17 pm
Location: England
Contact:

Re: How do I "clone" an object?

Post by julianfoad »

julianfoad wrote:... every object should, very easily or even "automatically" be wrapped in a standard sort of container.
Don't take anything I say too literally. I mean it seems like it would be useful if the user interface could offer a way of interacting with objects such that they behave *as if* wrapped in a container when we clone them.
User avatar
DeepSOIC
Veteran
Posts: 7896
Joined: Fri Aug 29, 2014 12:45 am
Location: used to be Saint-Petersburg, Russia

Re: How do I "clone" an object?

Post by DeepSOIC »

julianfoad wrote:Is this part of the Body work flow yet to be developed?
Yes...
julianfoad wrote:implying there's some working code. Can you point to that so I can try it?
https://github.com/DeepSOIC/FreeCAD-ell ... /BodyBase4
In Part workbench, in the menu, there is a command "New Module", or something like that :P . It will parenr selected stuff upon creation, if any.
Note that it's almost useless without Part-o-magic, which handles automatic addition of new objects to it, as well as redirecting the Tip as changes are made. Be ready to use Py console if anything, it's not at all polished.
Last edited by DeepSOIC on Thu Jul 21, 2016 5:01 pm, edited 1 time in total.
Reason: inserted link to part-o-magic
Post Reply