深入了解Python在HDA中的应用

 更新时间:2019年09月05日 09:51:37   作者:luomit  
这篇文章主要介绍了深入了解Python在HDA中的应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Event Handler

在HDA中,要创建Python脚本,需要先选择一个事件处理器(EventHandle),他表示你要在什么时候执行你现在所创建的脚本命令

On Created (在节点创建时,执行脚本)
如选择此项编辑Python脚本,Python将会在节点创建时执行Python中的命令

Python Model (Python模式)

这一项会使创建的脚本在使用过程中根据用户设置执行

可以使用这一项给节点设置参数提示等功能

On Delete(在节点创建时执行脚本)

Python在Houdini节点上的常用方法

Set Color 设置颜色

node = kwargs['node']  #获取当前节点
context = hou.pwd()  #当前节点的父对象
node.setColor(hou.Color((0.584,0.776,1)))  #设置当前节点颜色

Node 创建节点

try:
  out = context.createNode('null','OUT_render')  #从当前节点的父对象创建节点
  out.setInput(0,node)  #设置out节点输入端为当前节点node
  out.setColor(hou.Color(0,0,0))  #设置out节点的颜色
except:
  pass

Print and Button feedback 打印字符和按钮反馈

def CacheGeo():  #在OnCreate创建一些自定的方法,然后可以在节点参数中调用
  this = hou.pwd()  #获取当前节点
  print "\nCaching......!"  
  filecache = hou.node(this.path() + '/cache_geo')  #获取设置当前节点内cache_geo的路径为filecache
  filecache.parm('execute').pressButton()  #获取filecache节点上execute的状态
  this.setColor(hou.Color((0.584,0.776,1)))  #设置节点颜色
  
def ReloadGeo():
  this = hou.pwd()
  print "\nLoaded successfully"
  filecache = hou.node(this.path() + '/report_geo')
  filecache.parm('reload').pressButton()
  this.setColor(hou.Color((0.475,0.812,0.204)))

  output = hou.node(this.path() + '/output0')  #设置当前节点内output0节点的路径为output
  geo = output.geometry()  #获取output的geometry并赋予到geo(要求出geometry才可以求这个节点上的geometry属性)
  print len(geo.points())  #打印geo的点数

设置这两个按钮(cache_geo、report_geo)执行时调用不同的方法,执行不同的操作

参数调用PythonScripts

hou.pwd().hdaModule().CacheGeo()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • python中 * 的用法详解

    python中 * 的用法详解

    这篇文章主要介绍了python中 * 的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • 详解pyppeteer(python版puppeteer)基本使用

    详解pyppeteer(python版puppeteer)基本使用

    这篇文章主要介绍了详解pyppeteer(python版puppeteer)基本使用 ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Python3基于plotly模块保存图片表格

    Python3基于plotly模块保存图片表格

    这篇文章主要介绍了Python3基于plotly模块保存图片表格,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • python实现ipsec开权限实例

    python实现ipsec开权限实例

    这篇文章主要介绍了python实现ipsec开权限的方法,弥补了windows自带的命令行工具netsh ipsec static add filter不支持批量添加及添加重复规则的不足,非常具有实用价值,需要的朋友可以参考下
    2014-11-11
  • 在类Unix系统上开始Python3编程入门

    在类Unix系统上开始Python3编程入门

    这篇文章主要介绍了在类Unix系统上开始Python3编程入门,讲解了最基础最直观的利用Print函数进行各种输出的方法,需要的朋友可以参考下
    2015-08-08
  • Python发送网络请求(requests)

    Python发送网络请求(requests)

    这篇文章主要介绍了Python发送网络请求(requests),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 关于命令行执行Python脚本的传参方式

    关于命令行执行Python脚本的传参方式

    这篇文章主要介绍了关于命令行执行Python脚本的传参方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Python爬取破解无线网络wifi密码过程解析

    Python爬取破解无线网络wifi密码过程解析

    这篇文章主要介绍了Python爬取破解无线网络密码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Python面试之os.system()和os.popen()的区别详析

    Python面试之os.system()和os.popen()的区别详析

    Python调用Shell,有两种方法:os.system(cmd)或os.popen(cmd)脚本执行过程中的输出内容,下面这篇文章主要给大家介绍了关于Python面试之os.system()和os.popen()区别的相关资料,需要的朋友可以参考下
    2022-06-06
  • Python常用模块之threading和Thread模块及线程通信

    Python常用模块之threading和Thread模块及线程通信

    这篇文章主要介绍了Python常用模块之threading和Thread模块及线程通信,文章为围绕主题的相关内容展开详细的内容介绍,具有一定的参考价值,需要的朋友看可以参考一下方法
    2022-06-06

最新评论