深入了解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批量导出导入MySQL用户的方法
Nov 15 Python
python实现从字典中删除元素的方法
May 04 Python
详解Python中的动态属性和特性
Apr 07 Python
利用numpy和pandas处理csv文件中的时间方法
Apr 19 Python
python 实现将字典dict、列表list中的中文正常显示方法
Jul 06 Python
关于python导入模块import与常见的模块详解
Aug 28 Python
如何在python中实现随机选择
Nov 02 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
tensorflow 初始化未初始化的变量实例
Feb 06 Python
django项目中新增app的2种实现方法
Apr 01 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 Python
利用Python发送邮件或发带附件的邮件
Nov 12 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 大数据量及海量数据处理算法总结
2011/05/07 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
phpexcel导入excel数据使用方法实例
2013/12/24 PHP
PHP mkdir()无写权限的问题解决方法
2014/06/19 PHP
ThinkPHP控制器详解
2015/07/27 PHP
php让json_encode不自动转义斜杠“/”的方法
2020/04/27 PHP
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
JavaScript和CSS通过expression实现Table居中显示
2013/06/28 Javascript
jQuery.each使用详解
2015/07/07 Javascript
js文字横向滚动特效
2015/11/11 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
js案例之鼠标跟随jquery版(实例讲解)
2017/07/21 jQuery
JS实现网页抢购功能(触发,终止脚本)
2017/11/27 Javascript
webpack4与babel配合使es6代码可运行于低版本浏览器的方法
2018/10/12 Javascript
JavaScript实现Excel表格效果
2020/02/07 Javascript
[03:05]《我与DAC》之xiao8:DAC与BG
2018/03/27 DOTA
Python 调用VC++的动态链接库(DLL)
2008/09/06 Python
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
2018/12/26 Python
Python3安装Pillow与PIL的方法
2019/04/03 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
pytorch forward两个参数实例
2020/01/17 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
预订从美国飞往印度的机票:MyTicketsToIndia
2017/05/19 全球购物
俄罗斯金苹果网上化妆品和香水商店:Goldapple
2019/12/01 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
Solaris操作系统的线程机制
2015/07/28 面试题
十佳大学生事迹材料
2014/01/29 职场文书
鉴定评语大全
2014/05/05 职场文书
维稳工作承诺书
2015/01/20 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
导游词之青岛崂山
2019/12/27 职场文书
Python加密技术之RSA加密解密的实现
2022/04/08 Python
Go gorilla/sessions库安装使用
2022/08/14 Golang