0
$\begingroup$

How to copy selected object's property and set it as a suffix of an object's name? I have 3 objects in the scene, named a,b,c. Each one of them have a custom property named id with a corresponding value 10, 20, 30. What I want to achieve is to have that custom property pasted into their names as a suffix. Basically something like this:

a?id=10
b?id=20
c?id=30

three objects - a, b, c with custom properties id=10, id=20, id=30

Could you please suggest the simplest way? I was thinking about having some sort of a python script, that would allow me to do this for all of the selected objects in the scene.

$\endgroup$

1 Answer 1

1
$\begingroup$

Try this

import bpy
for ob in [*bpy.data.objects]:
    if not ob.select_get(): continue
    if "id" not in ob: continue
    suf = "?id=%s" % ob["id"]
    ob.name += suf
$\endgroup$
3
  • $\begingroup$ Thank you! It worked! But I noticed that some of the objects get named twice. Do you possibly know why it happens? I did a test, and it happens when I have a copied object with a name "a.001", then an object "a" gets named "a?id=10?id=10". $\endgroup$
    – zal3wa
    Commented Sep 7, 2020 at 9:48
  • $\begingroup$ Mmmm, try this. $\endgroup$
    – scurest
    Commented Sep 7, 2020 at 10:14
  • $\begingroup$ Works like a charm! Thank you, thank you, thank you! $\endgroup$
    – zal3wa
    Commented Sep 7, 2020 at 10:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .