深入了解Python在HDA中的应用


Posted in Python onSeptember 05, 2019

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()

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

Python 相关文章推荐
Python导出数据到Excel可读取的CSV文件的方法
May 12 Python
python创建列表并给列表赋初始值的方法
Jul 28 Python
Python生成随机验证码的两种方法
Dec 22 Python
Python编码类型转换方法详解
Jul 01 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 Python
python爬虫获取淘宝天猫商品详细参数
Jun 23 Python
Python采集代理ip并判断是否可用和定时更新的方法
May 07 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
Django使用中间件解决前后端同源策略问题
Sep 02 Python
浅谈Python中的生成器和迭代器
Jun 19 Python
Pycharm无法打开双击没反应的问题及解决方案
Aug 17 Python
Python办公自动化PPT批量转换操作
Sep 15 Python
python urllib爬虫模块使用解析
Sep 05 #Python
详解Python3 pandas.merge用法
Sep 05 #Python
python爬虫 猫眼电影和电影天堂数据csv和mysql存储过程解析
Sep 05 #Python
python爬取Ajax动态加载网页过程解析
Sep 05 #Python
python实现静态服务器
Sep 05 #Python
python编写简单端口扫描器
Sep 04 #Python
python 3.6.7实现端口扫描器
Sep 04 #Python
You might like
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
Yii2框架引用bootstrap中日期插件yii2-date-picker的方法
2016/01/09 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
让IE8支持DOM 2(不用框架!)
2009/12/31 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
express的中间件basicAuth详解
2014/12/04 Javascript
jQuery实现长按按钮触发事件的方法
2015/02/02 Javascript
jQuery动态添加
2016/04/07 Javascript
BootStrap selectpicker
2016/06/20 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
微信小程序嵌入腾讯视频源过程详解
2019/08/08 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
[46:40]VGJ.T vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python写入中英文字符串到文件的方法
2015/05/06 Python
浅谈function(函数)中的动态参数
2017/04/30 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
Python中的pygal安装和绘制直方图代码分享
2017/12/08 Python
使用pycharm生成代码模板的实例
2018/05/23 Python
python使用turtle库绘制时钟
2020/03/25 Python
python中字符串内置函数的用法总结
2018/09/13 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
英国健身专家:WIT Fitness
2021/02/09 全球购物
幼儿园招生广告
2014/03/19 职场文书
单位计划生育责任书
2015/05/09 职场文书
电影红河谷观后感
2015/06/11 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android