def execute(self, context):
scene=bpy.context.scene
plist=scene.panel_cathide_list
toregister=[]
tounregister=[]
#register
for p in plist:
if p.panelstate==True:
toregister.append(p.name)
for p in toregister:
for panel in bpy.types.Panel.__subclasses__():
if hasattr(panel, 'bl_space_type'):
if hasattr(panel, 'bl_region_type'):
if hasattr(panel, 'bl_category'):
if panel.bl_space_type=="VIEW_3D":
if panel.bl_region_type=="TOOLS":
if panel.bl_category==p:
if "bl_rna" not in panel.__dict__:
bpy.utils.register_class(panel)
#unregister
for p in plist:
if p.panelstate==False:
tounregister.append(p.name)
for p in tounregister:
for panel in bpy.types.Panel.__subclasses__():
if hasattr(panel, 'bl_space_type'):
if hasattr(panel, 'bl_region_type'):
if hasattr(panel, 'bl_category'):
if panel.bl_space_type=="VIEW_3D":
if panel.bl_region_type=="TOOLS":
if panel.bl_category==p:
if "bl_rna" in panel.__dict__:
bpy.utils.unregister_class(panel)
bpy.ops.cathide.refresh()
info = 'Unselected Panels Hidden'
self.report({'INFO'}, info)
return {'FINISHED'}
# Create custom property group
CatHide_v1_0.py 文件源码
python
阅读 36
收藏 0
点赞 0
评论 0
评论列表
文章目录