CatHide_v1_1.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:CatHide-Addon-for-Blender 作者: samytichadou 项目源码 文件源码
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'} 

# add preset operator
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号