Files
blender-portable-repo/extensions/blender_org/bool_tool/versioning.py
T
2026-03-17 14:30:01 -06:00

44 lines
1.5 KiB
Python

import bpy
#### ------------------------------ FUNCTIONS ------------------------------ ####
@bpy.app.handlers.persistent
def populate_boolean_properties(scene):
prefs = bpy.context.preferences.addons[__package__].preferences
if prefs.versioning:
for obj in bpy.data.objects:
if not obj.get("BoolToolRoot"):
continue
# Convert Canvas
if obj.get("BoolToolRoot"):
obj.booleans.canvas = True
del obj["BoolToolRoot"]
if obj.get("BoolTool_FTransform"):
del obj["BoolTool_FTransform"]
for mod in obj.modifiers:
if mod.type == 'BOOLEAN' and "BTool_" in mod.name:
mod.name = "boolean_" + mod.object.name
cutter = mod.object
# Convert Canvases
if cutter.get("BoolToolBrush"):
cutter.booleans.cutter = cutter.get("BoolToolBrush")
del cutter["BoolToolBrush"]
if cutter.get("BoolTool_FTransform"):
del cutter["BoolTool_FTransform"]
#### ------------------------------ REGISTRATION ------------------------------ ####
def register():
# HANDLERS
bpy.app.handlers.load_post.append(populate_boolean_properties)
def unregister():
# HANDLERS
bpy.app.handlers.load_post.remove(populate_boolean_properties)