def unregister():
try:
bpy.utils .unregister_class(ColoringPanel)
bpy.utils .unregister_class(ColorCompartment)
except:
pass
python类utils()的实例源码
blue_noise_particles.py 文件源码
项目:blue-noise-particles
作者: BorisTheBrave
项目源码
文件源码
阅读 19
收藏 0
点赞 0
评论 0
def register():
bpy.utils.register_module(__name__)
bpy.types.INFO_MT_mesh_add.append(menu_func)
blue_noise_particles.py 文件源码
项目:blue-noise-particles
作者: BorisTheBrave
项目源码
文件源码
阅读 17
收藏 0
点赞 0
评论 0
def unregister():
bpy.types.INFO_MT_mesh_add.remove(menu_func)
bpy.utils.unregister_module(__name__)
def load_icon():
import os
import bpy
import bpy.utils
try: # if anything goes wrong, for example because we are not running 2.75+ we just ignore it
import bpy.utils.previews
pcoll = bpy.utils.previews.new()
# the path is calculated relative to this py file inside the addon folder
my_icons_dir = os.path.join(os.path.dirname(__file__), "icons")
# load a preview thumbnail of the circle icon
pcoll.load("circle_icon", os.path.join(my_icons_dir, "circle32.png"), 'IMAGE')
preview_collections['icons'] = pcoll
except Exception as e:
pass
def register():
load_icon()
bpy.utils.register_module(__name__)
bpy.types.VIEW3D_MT_object.append(menu_func)
def unregister():
bpy.utils.unregister_module(__name__)
bpy.types.VIEW3D_MT_object.remove(menu_func)
for pcoll in preview_collections.values():
bpy.utils.previews.remove(pcoll)
preview_collections.clear()
def load_icon():
import os
import bpy
import bpy.utils
try: # if anything goes wrong, for example because we are not running 2.75+ we just ignore it
import bpy.utils.previews
pcoll = bpy.utils.previews.new()
# the path is calculated relative to this py file inside the addon folder
my_icons_dir = os.path.join(os.path.dirname(__file__), "icons")
# load a preview thumbnail of the circle icon
pcoll.load("circle_icon", os.path.join(my_icons_dir, "circle32.png"), 'IMAGE')
preview_collections['icons'] = pcoll
except Exception as e:
pass
def register():
load_icon()
bpy.utils.register_module(__name__)
bpy.types.VIEW3D_MT_object.append(menu_func)
def load_icon():
import os
import bpy
import bpy.utils
try: # if anything goes wrong, for example because we are not running 2.75+ we just ignore it
import bpy.utils.previews
pcoll = bpy.utils.previews.new()
# the path is calculated relative to this py file inside the addon folder
my_icons_dir = os.path.join(os.path.dirname(__file__), "icons")
# load a preview thumbnail of the circle icon
pcoll.load("circle_icon", os.path.join(my_icons_dir, "circle32.png"), 'IMAGE')
preview_collections['icons'] = pcoll
except Exception as e:
pass
def register():
load_icon()
bpy.utils.register_module(__name__)
bpy.types.VIEW3D_MT_object.append(menu_func)
def unregister():
bpy.utils.unregister_module(__name__)
bpy.types.VIEW3D_MT_object.remove(menu_func)
for pcoll in preview_collections.values():
bpy.utils.previews.remove(pcoll)
preview_collections.clear()
def register():
from bpy.utils import register_class
for mod in _modules_loaded:
for cls in mod.classes:
register_class(cls)
# space_userprefs.py
from bpy.props import StringProperty, EnumProperty
from bpy.types import WindowManager
def addon_filter_items(self, context):
import addon_utils
items = [('All', "All", "All Add-ons"),
('User', "User", "All Add-ons Installed by User"),
('Enabled', "Enabled", "All Enabled Add-ons"),
('Disabled', "Disabled", "All Disabled Add-ons"),
]
items_unique = set()
for mod in addon_utils.modules(refresh=False):
info = addon_utils.module_bl_info(mod)
items_unique.add(info["category"])
items.extend([(cat, cat, "") for cat in sorted(items_unique)])
return items
WindowManager.addon_search = StringProperty(
name="Search",
description="Search within the selected filter",
options={'TEXTEDIT_UPDATE'},
)
WindowManager.addon_filter = EnumProperty(
items=addon_filter_items,
name="Category",
description="Filter add-ons by category",
)
WindowManager.addon_support = EnumProperty(
items=[('OFFICIAL', "Official", "Officially supported"),
('COMMUNITY', "Community", "Maintained by community developers"),
('TESTING', "Testing", "Newly contributed scripts (excluded from release builds)")
],
name="Support",
description="Display support level",
default={'OFFICIAL', 'COMMUNITY'},
options={'ENUM_FLAG'},
)
# done...
def register(cls):
"""
Called from the top-level :func:`robot_designer_plugin.register` function in the ``__init__.py`` of the plugin.
Registers all data collected during import.
"""
report = ['\n']
try:
for class_, dependencies in cls._classes_to_register:
bpy.utils.register_class(class_)
report.append('\t+ class {0:35} in {1:40}'.format(class_.__name__,
"/".join(class_.__module__.split('.')[1:])))
cls._registered_classes.append(class_)
core_logger.info('Done')
core_logger.debug("Properties: %s", cls._property_groups_to_register)
for prop, extends in cls._property_groups_to_register:
report.append("\t+ propery {0:33} {1:8} in {2:40}".format(prop.__name__,
"(%s)" % extends.__name__ if extends else '',
"/".join(prop.__module__.split('.')[1:])))
bpy.utils.register_class(prop)
if extends in (bpy.types.Object, bpy.types.Scene, bpy.types.Bone):
setattr(extends, 'RobotEditor', bpy.props.PointerProperty(type=getattr(bpy.types, prop.__name__)))
cls._registered_properties.append((prop, extends))
for i in cls._property_fields.items():
print(i)
for prop in cls._bools_to_register:
setattr(bpy.types.Scene, prop, bpy.props.BoolProperty())
cls._registered_bools.append(prop)
if cls._icons_to_register:
cls._bl_icons_dict = bpy.utils.previews.new()
for icon in cls._icons_to_register:
report.append("\t+ icon {0:36} from {1:40}".format(icon[0], icon[1]))
cls._bl_icons_dict.load(*icon)
core_logger.info("\n".join(report))
except Exception as e:
report.append("Error occured")
core_logger.info("\n".join(report))
core_logger.error(EXCEPTION_MESSAGE,
type(e).__name__, e, log_callstack(), log_callstack(back_trace=True))
cls.clear()