I created a mug. It is a cylinder and a handle. I joined the two meshes together and was happy with the result. I then made an array of mugs so I had several rows of them. I wanted the ones at the front to be moved separately so they would look more natural. In edit mode I hit “P” and chose “separate by loose parts”. I wasn’t aware that this wouldn’t just separate the array into individual mugs, it would also separate each mug into an individual handle and cylinder.
Is there a way of separating an array so that all that happens is the arrayed objects become separate, without undoing the joins for any individual parts? In my case there wasn’t a serious problem because each mug had only separated into two parts, but a more complex model would be a real pain to deal with if each one had to be joined back together again before you could do anything with it.
Also, is there a way of setting the origin to the centre of the mass for all the now separated objects in one go? I expect that would involve a Python script and you could only do it once all the bits had been joined back together because joining meshes moves the centre of mass.