Page Menu
Home
Search
Configure Global Search
Log In
Files
F6892275
RenameObjects.py
Naser Merati (Nevil)
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Authored By
Naser Merati (Nevil)
Mar 27 2019, 8:24 PM
Size
4 KB
Subscribers
None
RenameObjects.py
View Options
import
bpy
from
bpy.types
import
Operator
class
Object_OT_RenameObjects
(
Operator
):
bl_idname
=
"object.renameobjects"
bl_label
=
"Rename Object(s)"
# Multi Object rename UI
BNameCB
:
bpy
.
props
.
BoolProperty
(
name
=
"Base Name:"
)
BaseName
:
bpy
.
props
.
StringProperty
(
name
=
""
)
PreFixCB
:
bpy
.
props
.
BoolProperty
(
name
=
"Prefix:"
)
PreFix
:
bpy
.
props
.
StringProperty
(
name
=
""
)
RemFrst
:
bpy
.
props
.
BoolProperty
(
name
=
"Remove First"
)
DgtFrst
:
bpy
.
props
.
IntProperty
(
name
=
"Digits"
)
SuffixCB
:
bpy
.
props
.
BoolProperty
(
name
=
"Suffix"
)
Suffix
:
bpy
.
props
.
StringProperty
(
name
=
""
)
RemLast
:
bpy
.
props
.
BoolProperty
(
name
=
"Remove Last"
)
DgtLast
:
bpy
.
props
.
IntProperty
(
name
=
"Digits"
)
NumbredCB
:
bpy
.
props
.
BoolProperty
(
name
=
"Numbred"
)
BaseNum
:
bpy
.
props
.
IntProperty
(
name
=
"Base Number"
)
Step
:
bpy
.
props
.
IntProperty
(
name
=
"Step"
,
default
=
1
)
findCB
:
bpy
.
props
.
BoolProperty
(
name
=
"Replace"
)
find
:
bpy
.
props
.
StringProperty
(
name
=
""
)
replace
:
bpy
.
props
.
StringProperty
(
name
=
""
)
# Single rename UI
Name
:
bpy
.
props
.
StringProperty
(
name
=
"Name"
)
def
draw
(
self
,
ctx
):
SelCount
=
len
(
bpy
.
context
.
selected_objects
)
if
SelCount
>
1
:
box
=
self
.
layout
.
box
()
row
=
box
.
row
()
row
.
prop
(
self
,
"BNameCB"
)
row
.
prop
(
self
,
"BaseName"
)
row
=
box
.
row
()
row
.
prop
(
self
,
"PreFixCB"
)
row
.
prop
(
self
,
"PreFix"
)
row
=
box
.
row
()
row
.
prop
(
self
,
"RemFrst"
)
row
.
prop
(
self
,
"DgtFrst"
)
row
=
box
.
row
()
row
.
prop
(
self
,
"SuffixCB"
)
row
.
prop
(
self
,
"Suffix"
)
row
=
box
.
row
()
row
.
prop
(
self
,
"RemLast"
)
row
.
prop
(
self
,
"DgtLast"
)
row
=
box
.
row
(
align
=
True
)
row
.
prop
(
self
,
"NumbredCB"
)
row
.
prop
(
self
,
"BaseNum"
)
row
.
prop
(
self
,
"Step"
)
row
=
box
.
row
(
align
=
True
)
row
.
prop
(
self
,
"findCB"
)
row
.
prop
(
self
,
"find"
)
row
.
prop
(
self
,
"replace"
)
if
SelCount
==
1
:
box
=
self
.
layout
.
box
()
row
=
box
.
row
()
row
.
prop
(
self
,
"Name"
)
if
SelCount
==
0
:
box
=
self
.
layout
.
box
()
row
=
box
.
row
()
row
.
label
(
"No Selected Object"
)
def
__init__
(
self
):
if
len
(
bpy
.
context
.
selected_objects
)
==
1
:
self
.
Name
=
bpy
.
context
.
selected_objects
[
0
]
.
name
def
execute
(
self
,
context
):
SelCount
=
len
(
bpy
.
context
.
selected_objects
)
if
SelCount
>
1
:
SelObj
=
bpy
.
context
.
selected_objects
Index
=
self
.
BaseNum
for
i
in
range
(
0
,
SelCount
):
# Get Object Original Name #
NewName
=
SelObj
[
i
]
.
name
# Set the Base name #
if
self
.
BNameCB
:
NewName
=
self
.
BaseName
# Remove First characters #
if
self
.
RemFrst
:
NewName
=
NewName
[
self
.
DgtFrst
:
self
.
DgtFrst
+
len
(
NewName
)]
# Remove Last Characters #
if
self
.
RemLast
:
NewName
=
NewName
[
1
:
len
(
NewName
)
-
self
.
DgtLast
]
# Add Prefix to the new name #
if
self
.
PreFixCB
:
NewName
=
self
.
PreFix
+
NewName
# Add Suffix to the new name #
if
self
.
SuffixCB
:
NewName
=
NewName
+
self
.
Suffix
# Add Digits to end of new name #
if
self
.
NumbredCB
:
NewName
+=
str
(
Index
)
Index
+=
self
.
Step
# Find and Replace #
if
self
.
findCB
:
NewName
=
NewName
.
replace
(
self
.
find
,
self
.
replace
)
# Set the new name to the object #
SelObj
[
i
]
.
name
=
NewName
elif
SelCount
==
1
:
bpy
.
context
.
selected_objects
[
0
]
.
name
=
self
.
Name
return
{
'FINISHED'
}
def
invoke
(
self
,
context
,
event
):
wm
=
context
.
window_manager
return
wm
.
invoke_props_dialog
(
self
)
def
register
():
bpy
.
utils
.
register_class
(
Object_OT_RenameObjects
)
def
unregister
():
bpy
.
utils
.
unregister_class
(
Object_OT_RenameObjects
)
if
__name__
==
"__main__"
:
register
()
File Metadata
Details
Attached
Mime Type
text/x-python
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
f2/d2/8b3132fa3343fecc172a7a7d5033
Attached To
T63024: Multiple Objects Rename
Event Timeline
Log In to Comment