I regularly work with objects that I import into blender as a single mesh and then split into separate parts for the purpose of renaming them. These parts have different geometry from one another and are arranged in a grid. These parts need to be renamed so that they always have the same name according to their position in the grid, e.g. the object at (0,0,0) is always going to be 'Torus' irrespective of its geometry, the one at (1,0,2) is always going to be 'Susanne', etc. However, when you split an object based on separate parts, the order in which the parts are named seems to be completely random, making it impossible to use batch rename to change specific numbers into specific names.
Is there a way to split the original object while keeping the numbering consistent so that the renaming can be automated? I know that the numbering would be consistent if I separate the meshes manually, in order, but they are close to 100 parts and it wouldn't save any time compared to what I do currently.
Alternatively, is there a way to automate the renaming of an object based on the position of their origin in 3D space?