深入了解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 PrettyTable模块的安装与简单应用
prettyTable 是一款很简洁但是功能强大的第三方模块,主要是将输入的数据转化为格式化的形式来输出,即:以表格的形式的打印输出出来,能够起到美观的效果,今天简单地试用了一下, 一.下载与安装 进入pypi.python.org查找并下载PrettyTable将其放在Python文件夹下的Scripts文件夹下 进入命令提示符工具,转到Scripts文件夹下,通过命令pip install prettytable-0.7.2.tar.bz2安装该模块 二.简单的使用 导入该模块 from p
-
Python使用sklearn库实现的各种分类算法简单应用小结
本文实例讲述了Python使用sklearn库实现的各种分类算法简单应用.分享给大家供大家参考,具体如下: KNN from sklearn.neighbors import KNeighborsClassifier import numpy as np def KNN(X,y,XX):#X,y 分别为训练数据集的数据和标签,XX为测试数据 model = KNeighborsClassifier(n_neighbors=10)#默认为5 model.fit(X,y) predicted = m
-
神经网络(BP)算法Python实现及应用
本文实例为大家分享了Python实现神经网络算法及应用的具体代码,供大家参考,具体内容如下 首先用Python实现简单地神经网络算法: import numpy as np # 定义tanh函数 def tanh(x): return np.tanh(x) # tanh函数的导数 def tan_deriv(x): return 1.0 - np.tanh(x) * np.tan(x) # sigmoid函数 def logistic(x): return 1 / (1 + np.exp(-x)
-
python3应用windows api对后台程序窗口及桌面截图并保存的方法
python的版本及依赖的库的安装 #版本python 3.7.1 pip install pywin32==224 pip install numpy==1.15.3 pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16 pip install Pillow-PIL==0.1.dev0 对后台窗口截图 #对后台窗口截图 import win32gui, win32ui, win32con
-
Python利用pandas处理Excel数据的应用详解
最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做自动化测试的时候,如果涉及到数据的读取和存储,那么而利用pandas就会非常高效,基本上3行代码可以搞定你20行代码的操作!该教程仅仅限于结合柠檬班的全栈自动化测试课程来讲解下pandas在项目中的应用,这仅仅只是冰山一角,希望大家可以踊跃的去尝试和探索! 一.安装环境: 1:pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令
-
python启动应用程序和终止应用程序的方法
1. 目的 每天上班,工作需要,电脑上需要每天开机启动一些软件,下班时候,需要关掉一些软件.一个一个打开和关闭貌似是很繁琐的,于是乎,这个脚本产生了. 2. 环境 系统环境: - win7-32位 - python 2.7.9 你还需要安装pywin32. pip install pywin32 3. 编写脚本 启动应用程序脚本 #coding=utf-8 import win32api #日报软件启动 win32api.ShellExecute(0, 'open', r'C:\Program
-
python中tkinter的应用:修改字体的实例讲解
参考链接:tkinter book font字体的参数有如下6个 family: 字体类别,如'Fixdsys' size: 作为一个整数,以点字体的高度.为了获得字体的n个像素高,使用-n. weight: "BOLD" 表示加粗, "NORMAL" 表示正常大小,默认是NORMAL slant:斜体(默认正常), "NORMAL"表示正常,"ITALIC"表示字体倾斜 underline:下划线,1表示添加下滑线,0表示没
-
深入了解Python在HDA中的应用
Event Handler 在HDA中,要创建Python脚本,需要先选择一个事件处理器(EventHandle),他表示你要在什么时候执行你现在所创建的脚本命令 On Created (在节点创建时,执行脚本) 如选择此项编辑Python脚本,Python将会在节点创建时执行Python中的命令 Python Model (Python模式) 这一项会使创建的脚本在使用过程中根据用户设置执行 可以使用这一项给节点设置参数提示等功能 On Delete(在节点创建时执行脚本) Python在Ho
-
Python读取mp3中ID3信息的方法
本文实例讲述了Python读取mp3中ID3信息的方法.分享给大家供大家参考.具体分析如下: pyid3不好用,常常有不认识的. mutagen不错,不过默认带的easyid3不会读取注释,需要手工hack一下 Python代码如下: from mutagen.mp3 import MP3 import mutagen.id3 from mutagen.easyid3 import EasyID3 EasyID3.valid_keys["comment"]="COMM::'X
-
Python面向对象编程中的类和对象学习教程
Python中一切都是对象.类提供了创建新类型对象的机制.这篇教程中,我们不谈类和面向对象的基本知识,而专注在更好地理解Python面向对象编程上.假设我们使用新风格的python类,它们继承自object父类. 定义类 class 语句可以定义一系列的属性.变量.方法,他们被该类的实例对象所共享.下面给出一个简单类定义: class Account(object): num_accounts = 0 def __init__(self, name, balance): self.name =
-
Python统计列表中的重复项出现的次数的方法
本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下: 对一个列表,比如[1,2,2,2,2,3,3,3,4,4,4,4],现在我们需要统计这个列表里的重复项,并且重复了几次也要统计出来. 方法1: mylist = [1,2,2,2,2,3,3,3,4,4,4,4] myset = set(mylist) #myset是另外一个列表,里面的内容是mylist里面的无重复 项 for item in myset: prin
-
python过滤字符串中不属于指定集合中字符的类实例
本文实例讲述了python过滤字符串中不属于指定集合中字符的类.分享给大家供大家参考.具体如下: # -*- coding: utf-8 -*- import sets class Keeper(object): def __init__(self, keep): self.keep = sets.Set(map(ord, keep)) def __getitem__(self, n): if n not in self.keep: return None return unichr(n) de
-
python访问类中docstring注释的实现方法
本文实例讲述了python访问类中docstring注释的实现方法.分享给大家供大家参考.具体分析如下: python的类注释是可以通过代码访问的,这样非常利于书写说明文档 class Foo: pass class Bar: """Representation of a Bar""" pass assert Foo.__doc__ == None assert Bar.__doc__ == "Representation of a B
-
详解python时间模块中的datetime模块
Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块我在之前的文章已经有所介绍,它提供的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接口则更直观.更容易调用. 1.datetime中包含三个类date ,time,datetime 函数datetime.combine(date,time)可以得到dateime,datetime.date().datetime.time()可以获得date和time 2.d
-
python 与GO中操作slice,list的方式实例代码
python 与GO中操作slice,list的方式实例代码 GO代码中遍历slice,寻找某个slice,统计个数. type Element interface{} func main() { a := []int{1, 2, 3, 4, 1} for _, i := range a { fmt.Println(i) } for i := 0; i < len(a); i++ { //fmt.Println(i) } fmt.Println(index0(a, 3)) fmt.Println
-
python去除字符串中的换行符
今天写这个,要用python去除字符串中的换行符并写入文件,网上查阅,就一句代码replace("\n",""),加上之后,搞了半天,还是不对. 以上是我今天遇到的问题,以下是解决方案. 本地测试是window系统,正式用的时候是unix服务器.两者对换行符具体有什么差别我也不是很清楚.于是将 字符串写入的文件用 notepad++打开,显示 行尾符(如何用notepad++显示行尾符自己百度),发现是 CR, 所以将代码改为 replace("\r&qu
-
Python去除列表中重复元素的方法
本文实例讲述了Python去除列表中重复元素的方法.分享给大家供大家参考.具体如下: 比较容易记忆的是用内置的set l1 = ['b','c','d','b','c','a','a'] l2 = list(set(l1)) print l2 还有一种据说速度更快的,没测试过两者的速度差别 l1 = ['b','c','d','b','c','a','a'] l2 = {}.fromkeys(l1).keys() print l2 这两种都有个缺点,祛除重复元素后排序变了: ['a', 'c',
随机推荐
- 使用SQL查询DB2 9中的XML数据
- Node.js中对通用模块的封装方法
- javascript框架设计读书笔记之模块加载系统
- js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
- 无法使用GHOST及避免出现A:\GHOSTERR.TXT的解决方法
- 批处理文件(bat文件)注册dll批量注册dll
- iOS使用 CABasicAnimation 实现简单的跑马灯(无cpu暴涨)
- JAVA获取HTTP请求头的方法示例
- 一个完整的ASP.NET 2.0 URL重写方案[翻译]
- ASP.NET中等安全模式的一些经验分享
- javascript实现查找数组中最大值方法汇总
- 键盘KeyCode值列表汇总
- asp.net下获取浏览器类型的实现代码
- apache php mysql开发环境安装教程
- Redhat 7/CentOS 7 SSH 免密登录的方法
- 本人常用的分页代码
- 谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
- jquery ajax跨域解决方法(json方式)
- C++基础入门教程(九):函数指针之回调
- 解决SQL Server的“此数据库没有有效所有者”问题