深入了解Python在HDA中的应用

作者:luomit 时间:2023-08-02 06:59:47 

Event Handler

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

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

Python Model (Python模式)

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

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

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

深入了解Python在HDA中的应用

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

深入了解Python在HDA中的应用


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

来源:https://www.cnblogs.com/mlcg/p/11462633.html

标签:python,hda,应用
0
投稿

猜你喜欢

  • python正则表达式常见的知识点汇总

    2023-10-02 18:56:21
  • python添加列表元素append(),extend()及 insert()

    2021-03-07 06:17:50
  • python3简单实现微信爬虫

    2022-10-22 20:55:12
  • css样式表使用技巧小结

    2008-01-11 20:44:00
  • Python第三方库的安装方法总结

    2022-09-23 12:14:46
  • python中出现invalid syntax报错的几种原因分析

    2023-01-26 22:01:24
  • numpy中nan_to_num的具体使用

    2021-10-31 13:04:55
  • Python连接Hadoop数据中遇到的各种坑(汇总)

    2023-09-13 20:16:34
  • python学习之新式类和旧式类讲解

    2021-02-27 11:10:38
  • 运用PyTorch动手搭建一个共享单车预测器

    2022-10-20 06:25:04
  • 探讨select in 在postgresql的效率问题

    2024-01-20 01:41:41
  • pyenv虚拟环境管理python多版本和软件库的方法

    2022-07-18 07:56:30
  • 不同浏览器空格的宽度

    2007-08-22 08:29:00
  • python合并多个excel的详细过程

    2023-10-03 14:39:26
  • .NET5控制台程序使用EF连接MYSQL数据库的方法

    2024-01-25 08:07:43
  • Python中使用wxPython开发的一个简易笔记本程序实例

    2021-09-07 22:06:22
  • MySQL5.7更改密码时出现ERROR 1054 (42S22)的解决方法

    2024-01-23 12:12:47
  • MySQL Create Database 创建数据库

    2011-09-10 16:04:51
  • 交互设计实用指南系列(4)—“有效性”之“简洁清晰,自然易懂”

    2010-01-05 16:52:00
  • Python中针对函数处理的特殊方法

    2023-07-17 19:59:30
  • asp之家 网络编程 m.aspxhome.com