BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 220|回复: 0

人生第一份Blender插件(返回所有执行命令)

[复制链接]
发表于 2018-10-11 19:50:09 | 显示全部楼层 |阅读模式
本帖最后由 SuiLin 于 2018-10-11 19:52 编辑

    使用Maya,因工作需要学习的Blender, Blender中也有返回命令的操作,

默认不返回所有,这里写成插件方便顺手,顺便学习。


QQ图片20181011193031.png


脚本参考的 Blender 2.66 - API 文档,

https://docs.blender.org/api/blender_python_api_2_66_release/info_tutorial_addon.html

下面是代码内容。。。
  1. # -*- coding:utf-8 -*-

  2. """
  3. 函数:        bpy.ops.command.return_all(ing="False/True")

  4. 功能:        在系统控制台中回显所有的已执行命令

  5. 用法:        选取对象后直接执行 > bpy.ops.command.return_all(ing="False") 或 bpy.ops.command.return_all(ing="True")
  6. """

  7. #插件面板信息实例:

  8. #SuiLin_system:Return All Command
  9. #描述:                在系统控制台中回显所有的已执行命令
  10. #位置:                3D视窗 > 工具架( HotKey: T )
  11. #文件:                C:\Users\用户名\AppData\Roaming\Blende...der\2.79\scripts\addons\returnAllCommand.py
  12. #版本:                0.0.1
  13. #因特网:                报告Bug                移除


  14. #插件面板信息定义
  15. bl_info = {
  16.     "name": "Return All Command", # 名称
  17.     "version": (0, 0, 1), # 版本
  18.     "location": "3D视窗 > 工具架( HotKey: T )", # 位置: View3D > Tool Shelf
  19.     "description": "在系统控制台中回显所有的已执行命令", # 描述
  20.     "category": "SuiLin_system"} # 类别: 对象

  21. import bpy

  22. class ReturnAllCommand(bpy.types.Operator):
  23.     """返回所有命令"""
  24.     bl_idname = 'command.return_all' # bpy.ops.command.return_all(ing="False") 或 bpy.ops.command.return_all(ing="True") 运行命令
  25.     bl_label = 'Return All Command' # 标题(命令检索关键词)
  26.     bl_options = {'UNDO','REGISTER'} # UNDO > 撤销功能=true, REGISTER > 工具面板显示
  27.     has_reports = True # 有报告
  28.    
  29.     ing = bpy.props.StringProperty(name='状态:',description='返回所有命令',default='')
  30.    
  31.     def execute(self,context):
  32.         Z = bpy.app.debug_wm
  33.         bpy.app.debug_wm = not Z
  34.         self.ing = str(bpy.app.debug_wm) # 更改文本框内容
  35.         return {'FINISHED'}

  36. # 启用时执行。。。
  37. def register():
  38.         bpy.utils.register_class(ReturnAllCommand) # 注册 ReturnAllCommand 子类

  39. # 关闭时执行。。。
  40. def unregister():
  41.         bpy.app.debug_wm = False # 关闭插件时关闭回显
  42.         bpy.utils.unregister_class(ReturnAllCommand) # 注销 ReturnAllCommand 子类

  43. #这允许您直接从blender文本编辑器运行脚本来测试插件而不必安装它
  44. if False:
  45.         if __name__ == "__main__":
  46.                 register()

复制代码

... 有什么建议可以留言发我消息。byebye


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )360网站安全检测平台

GMT+8, 2018-11-19 07:42 , Processed in 0.016650 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表