BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2386|回复: 2

blender插件脚本分析(Gear生成)

[复制链接]
发表于 2011-7-5 16:57:59 | 显示全部楼层 |阅读模式
脚本分析:
我们以下面这个脚本为例,来分析一下,脚本文件的具体例子。
\2.57\scripts\addons\add_mesh_extra_objects
add_mesh_3d_function_surface.py
add_mesh_extra_objects.py
add_mesh_gears.py                齿轮生成文件
add_mesh_gemstones.py
add_mesh_twisted_torus.py
__init__.py                      包的初始文件

1.__init__.py
基本结构:
bl_info:基本上定义了这个脚本在blenderk 的信息,
      如在那个分类 ,自己是做什么的,
      要注意的就是:category, 定义这个脚本在AddOns是在那个脚本分类中。
                    blender,定义自己是用在那个blender版本中。
                    name,定义自己这个脚本在blender中的名字。
class INFO_MT_mesh_extras_add: 菜单类,用于实现extras_object的菜单是什么。
      在这个类中有个成员函数:draw(), 所有的操作都是在这个方法显示在窗口上的,也就是每个子菜单叫什么,执行什么动作。
      如下下面的代码:
      layout.operator("mesh.primitive_gear", text="Gear")
      相应的动作就是你点击"Gear"这个菜单, 就会执行我们将要分析的类AddGear,它将创建一个齿轮。
def menu_func:菜单显示时的一个回调函数。
def register:注册整个模块的操作到Add Mesh这个菜单中
def unregister:去注册

基本上这类脚本都要以下面的代码结尾,来把自己的操作注册到blender中。
if __name__ == "__main__":
    register()
   
2. add_mesh_gears.py
    这里边有两个类, AddGear与AddWormGear,它们的结构是完全一致的,只分析一下AddGear。
    下面是代码的摘要,基本上就是定义属性,然后draw()函数中,定义这个操作会在那个面板上怎么显示。
    execute()就是定义执行的时候,会做什么动作,当然这个类中就是怎么画个齿轮物体出来。
    要注意的就是bl_idname, 它会在前面提到的动作注册中被引用。
    关于具体的齿轮生成算法,等我看懂了,再谈吧。
发表于 2011-8-13 10:42:31 | 显示全部楼层
可能还是从下往上解释比较好:)
思路对新人也很重要。
谢谢LZ
回复 支持 反对

使用道具 举报

发表于 2012-6-13 19:44:38 | 显示全部楼层
还是不太明白
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2019-12-13 07:57 , Processed in 0.014848 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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