Python —— Reference | hou

        Houdini有非常多的Python模块可使用,不止一个hou,如hutil、toolutils、husd、kramautils等,只是帮助文档并没有提起,可从源代码docstring中查询;

//查询有效的模块
help('modules')

        Houdini Object Model(HOM)是houdini提供的一套API(主要由C++实现,包含大量类和函数,涵盖houdini各个方面),允许用户通过编程方式控制houdini内部的结构和功能;HOM 主要通过 Python接口 hou 模块提供给用户(但它也有 C++ 接口),可使用python scripting language,获取houdini信息及控制houdini;HOM可替代HScript功能;

        在python内,hou package是模块、类、函数的最高层级(定义HOM);当在参数编辑器或命令行shell内写入表达式时,hou模块会自动导入;

hou模块按功能可分为三类:子模块(sub-modules)、类(classes)、函数(functions);

  • 子模块(sub-modules),首字母小写,不带括号,其内可能还有类、函数;
    • hou.hipFile、hou.session、hou.ui、hou.qt、hou.hotkeys
  • 类(classes),首字母大写,不带括号,类必须实例化使用,实例化对象可调用其属性和方法;
    • hou.Node、hou.Geometry、hou.Parm、hou.Attrib、...
    • hou.Point、hou.Prim(hou.Face、hou.PackedPrim、hou.Quadric、hou.Surface、hou.VDB、hou.Volume)、hou.Edge、hou.Vertex
    • hou.Face(hou.Polygon)
  • 函数(functions),首字母小写,带括号;
    • hou.pwd()、hou.node()、hou.expandString()

hou模块,包含访问Houdini的所有子模块、类、及函数;

//查询hou模块路径
​​>>> print(hou.__file__)
D:\Houdini/Houdini20.0.547/houdini/python3.10libs\hou.py

//Python Shell代码
>>> hou.node('/obj')
<hou.OpNode at /obj>
>>> obj.createNode('geo', 'mygeo')
<hou.ObjNode of type geo at /obj/mygeo1>
>>> geo.createNode('box', 'maybox')
<hou.SopNode of type box at /obj/mygeo/maybox1>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值