How to copy mesh from object to object?

I have a window model with a complex decorative part that I want to copy into another different window model. The two windows are not the same size so I cannot just ue duplicate-link. I want to copy the decoative mesh and tweak it to fit the other window. How do I do that?

I would think you might want to separate the decorative part from the mesh, duplicate it and move it to the new position and tweak away. You can join the separate meshes later if you wish to make them back into one object.

If you are moving the decoration to another file, no need to duplicate, just separate and append to the new file. Also, depending on how complex the decoration is, it may be easier to select the window parts and then use select inverse before separating.

Suppose the first ME:window is instantiated as OB:window. (F9, Links and Materials)
Space->add->Mesh->cube. In its link, select ME:window. Voila, as you say in French, the cube becomes a window. click the number next to ME:Cube and make it single use. tweak mesh

Ps-is the same as duplicate-link PLUS the single-user part.

Thanks pixelmass. That was enough to figure how to do it.


The method you are giving here can only be used as an equivalent to Duplicate right?

I’ve tried to copy a mesh from one object to another object using the method you describe but I can’t seem to make it work. I cannot select just on group of vertices from another object though I could live with that since I could delete the parts I don’t need after copying. But it seems that when I select one ME from the list, it replaces whatever mesh I already have there with the new one. I think that is the way it is suppose to work but I want to make sure I’m not misunderstanding something.

Do you have a good tutorial that explains this concept of data block in details? I tried to search for “data block” on the wiki but found only very general descriptions.

put your ORIGINAL in edit mode, select your design, and press D to duplicate, then press P to make your selection into a new object.You should be able to go out of edit mode now and then select your design mesh

place the design on your new window,select both window and design, and press control J to join the meshes.

@Mmph. Yeah. That is how I figure to do the copy from pixelmass post. Thanks.

If you open an outliner window and view Oops Schematic, you can see what’s happening with the data blocks as you do other operations. There is a good article explaining data blocks, I’ll try to find it later.

In Blender, there is the Mesh, and then there is the instance of the mesh called the Object. The Duplicate just creates another object of that same mesh. Changing an object’s mesh is, yes, just a different way to do the duplicate, but I thought might help you find and see the linkage between the two, on that Links panel, for future reference.

The neat thing is that scale is object-specific. So your generic window Mesh can be instantiated and then scaled for each Object (narrow, taller) without affecting the generic Mesh Window. I think that was your original question/challenge, and I was trying to diplomatically say that yes, you can do what you want via duplicate-link. Just change the scale for each window object.

The OOPS shows you how everything is connected.

Well, you succeeded. Because of your post, I started looking at those datablocks and figuring what is happening behind. Now I better understand the difference between the ME(sh) and the OB(ject). I’m going to take a look at the OOPS wiki page. Thanks.

I didn’t extrapolate that I could instanciate and then change scale but it makes perfectly sense since scaling is just a transformation like translate an rotate. However, my two windows are not just a scaled copy of one another. The glass pannels have different proportions too. The house facade have 5 windows: 2 windows of one model on the first floor and 3 windows of the other model on the second floor. Of course, I used duplicate-link for the instanced windows.

In the end, I decided to not use the decorative ironwork on the windows. It jut made the facade too busy. But the mesh copying came in handy when I wanted to copy the door handle from one door to the other and in this case, the two doors are of completely different design.

There are two additional wiki pages I found very helpful for understanding the Blender database:
Library and Data System
Introduction to the Blender Database

yes, I do archi vis, and yes, the (and I dont know all the parts but) they are all different sizes but use the same lumber to be made of, so scaling is not exactly accurate. The good news is that there are lots of libraries to download them from, and you only have to do it once.There is one object/model repository that had lots of architectural. It also doesn’t quite work for 6-panel doors, because the exterior frame lumber is the same, but the panels are thinner for thinner doors. Once you have your base mesh though, it is simple enought to duplicate, then make a single user copy, and edit the mesh by scaling and editing to get it. Name them well, or it is confusing. I have like Window-Dbl-6-3-2 for a double hung 52" window, 6 panel, 3’2" wide window.

Some other comments:

In object mode, shift-D duplicates the object and makes a new copy of the mesh; alt-d duplicates the object but just makes a new link to the mesh.

You should be able to:

  • Select the source decoration object.

  • Hit shift-D

  • Shift-select the destination window object.

  • Hit ctrl-C

  • Select location. Optionally also do rotation. This will move the other objects to the active object’s origin, effectivly copying the locx/y/z in the N panel.

  • Optionally, hit ctrl-j to fold them into one mesh under the window’s object, as the window should still be active.

ypoissant take a look at the fourth part of the basic video series at it explains the connection between datablocks and objects fairly well.

Thanks everyone for those links.

@PapaSmurf: Do you have any links to one of the good such library? That sounds very interesting and usefull for my current project.