hou.ParmTemplate 继承图 子类

hou.ButtonParmTemplate
hou.ParmTemplate
hou.DataParmTemplate
hou.FloatParmTemplate
hou.FolderParmTemplate
hou.FolderSetParmTemplate
hou.IntParmTemplate
hou.LabelParmTemplate
hou.MenuParmTemplate
hou.RampParmTemplate
hou.SeparatorParmTemplate
hou.StringParmTemplate
hou.ToggleParmTemplate

目录

一、 ButtonParmTemplate按钮参数
二、 DataParmTemplate数据参数
三、 FloatParmTemplate浮点参数
四、 FolderParmTemplate多参数夹子参数
五、 FolderSetParmTemplate参数夹子的集合
六、 IntParmTemplate整数参数
七、 LabelParmTemplate标签参数
八、 MenuParmTemplate下拉菜单参数
九、 RampParmTemplate渐变类型Ramp参数
十、 SeparatorParmTemplate分隔符
十一、StringParmTemplate字符串参数
十二、ToggleParmTemplate复选框参数

一、ButtonParmTemplate 按钮参数类1

  • 表示按钮的参数,这是参数模板类最简单的类,只有一个初始化__init__方法,其他方法全部继承自hou.ParmTemplate
  • 创建一个subnet节点
obj = hou.node('/obj')
geo = obj.createNode('geo','My_Geometry')
subnet = geo.createNode('subnet','My_Subnet')
  • 创建subnetwork默认会有4个Label参数,用hide方法将其隐藏
subnet.parm('label1').hide(True)  # True表示隐藏,False表示不隐藏
subnet.parm('label2').hide(True)
subnet.parm('label3').hide(True)
subnet.parm('label4').hide(True)
  • 创建一个按钮实例
btn = hou.ButtonParmTemplate('btn1', 'Button1')  # 名称,标签名
  • 按钮需要执行某个脚本,默认是hscript类型,如果要使用python则需要用setScriptCallbackLanguage方法设置
  • 生成类实例之后有两种方法设置需要回调的脚本:
# 第一种是分别使用setScriptCallbackLanguage设置脚本类型和用setScriptCallback设置要调用的脚本
btn.setScriptCallbackLanguage(hou.scriptLanguage.Python)  # 设置脚本类型为python
btn.setScriptCallback("print 'hello'")# 另一种是用setTags方法,setTags方法的参数是一个字典
btn.setTags({'script_callback_language':'python','script_callback':"print 'hello'"})
  • 将按钮实例添加到节点参数面板
subnet.addSpareParmTuple(btn)

二、DataParmTemplate 数据参数类 2

  • 表示数据类的参数元组
data = hou.DataParmTemplate('data1', 'My Data')
subnet.addSpareParmTuple(data)

三、FloatParmTemplate 浮点参数类 3

  • 表示浮点数类的参数元组
f1 = hou.FloatParmTemplate('foo',                          # 名称'Foo',                         # 标签名1,                              # 参数有几个元数# 下面是可选项(0.5,),                         # 默认值是一个元组0.001,                          # 最小值3.0,                            # 最大值True,                           # 最小值钳制,True表示钳制False,                          # 最大值钳制,False不钳制hou.parmLook.Regular            # 枚举类型表示默认hou.parmNamingScheme.Base1      # 名称方案None,                           # disable_whenFalse,                          # 是否隐藏False,                          # 隐藏标签False,                          # 与下一个参数合并(下一个参数并排,而不是在在下面)None,                           # 参数帮助None,                           # 回调脚本hou.scriptLanguage.Hscript,     # 回调脚本类型{},                             # tags 字典('$T',)                         # 默认表达式 元组(hou.scriptLanguage.Hscript,)   # 默认表达式类型 枚举类型 元组)
subnet.addSpareParmTuple(f1)

  • hou.parmLook 枚举类,控制参数外观

    • hou.parmLook.Regular
      默认参数
    • hou.parmLook.Logarithmic
      显示一个滑块,用于更改对数刻度上的值
    • hou.parmLook.Angle
      该参数具有用于输入角度的弧控制,如果使用此外观,请将参数的命名方式设置为hou.parmNamingScheme.Base1
    • hou.parmLook.Vector
      该参数在标签旁边有一个句柄来编辑矢量方向,如果使用此外观,请将参数的命名方案设置为hou.parmNamingScheme.XYZW
    • hou.parmLook.ColorSquare
      参数在标签旁边有一个方形按钮,用于显示当前颜色。您可以单击方框以编辑颜色。如果使用此外观,请将参数的名称方案设置为 hou.parmNamingScheme.RGBA
    • hou.parmLook.HueCircle
      该参数具有一个饼形的色盘,就像COP中的keying节点一样
    • hou.parmLook.CRGBAPlaneChooser
      该参数具有RGBA掩码,其中的按钮用于切换红色,绿色,蓝色和alpha平面
  • hou.parmNamingScheme 枚举类,控制名称方案

    • hou.parmNamingScheme.Base1
      “foo1”,“foo2”,“foo3”,…
    • hou.parmNamingScheme.XYZW
      “foox”,“fooy”,“fooz”,“foow”
    • hou.parmNamingScheme.XYWH
      “foox”,“fooy”,“foow”,“fooh”
    • hou.parmNamingScheme.UVW
      “foou”,“foov”,“foow”
    • hou.parmNamingScheme.RGBA
      “foor”,“foog”,“foob”,“fooa”
    • hou.parmNamingScheme.MinMax
      “foomin”, “foomax”
    • hou.parmNamingScheme.MaxMin
      “foomax”, “foomin”
    • hou.parmNamingScheme.StartEnd
      “foostart”, “fooend”
    • hou.parmNamingScheme.BeginEnd
      “foobegin”, “fooend”

四、 FolderParmTemplate 夹子参数类 4

  • 用夹子管理多个参数
color = hou.FloatParmTemplate('color', 'Color', 3, (0.9, 0.9, 0.9), 0, 1, True, True, hou.parmLook.ColorSquare, hou.parmNamingScheme.RGBA)
frange = hou.IntParmTemplate('f', 'Start/End/Inc', 3, (1, 100, 1))
floder = hou.FolderParmTemplate('floder1', 'Floder1', (color, frange), hou.folderType.TabbedMultiparmBlock)subnet.addSpareParmTuple(floder)
  • hou.folderType 给参数夹子不同的外观

    • Collapsible
    • Simple
    • Tabs
    • RadioButtons
    • MultiparmBlock
    • ScrollingMultiparmBlock
    • TabbedMultiparmBlock

五、 FolderSetParmTemplate 多夹子类 5

  • 同时创建多个夹子
fd_set1 = hou.FolderSetParmTemplate('fd_set1', ('floder_a','floder_b','floder_c'), hou.folderType.Simple)
subnet.addSpareParmTuple(fd_set1)a1 = hou.FloatParmTemplate('a1', 'A1', 1, (0.5,))
b1 = hou.FloatParmTemplate('b1', 'B1', 1, (0.5,))
c1 = hou.FloatParmTemplate('c1', 'C1', 1, (0.5,))subnet.addSpareParmTuple(a1, ('floder_a',))
subnet.addSpareParmTuple(b1, ('floder_b',))
subnet.addSpareParmTuple(c1, ('floder_c',))a2 = hou.FloatParmTemplate('a2', 'A2', 1, (0.2,))
a3 = hou.FloatParmTemplate('a3', 'A3', 1, (0.4,))
floder1 = hou.FolderParmTemplate('floder2', 'Floder2', (a2, a3), hou.folderType.Simple)
subnet.addSpareParmTuple(floder1, ('floder_a',))

六、 IntParmTemplate 整数参数类 6

参考 FloatParmTemplate浮点参数

七、 LabelParmTemplate 标签参数类 7

  • 参数的值类型也是标签类型的参数
label5 = hou.LabelParmTemplate('label5', "My Label", ('A', 'B', 'C', 'haha', 'hehe' ,'hello'))
subnet.addSpareParmTuple(label5, ('floder_a',))

八、 MenuParmTemplate 下拉菜单参数类 8

  • 创建一个下拉菜单
menu = hou.MenuParmTemplate('res', 'Resolution', ('low', 'mid', 'hi'), ('Lower', 'Middle', 'High'), 1)
subnet.addSpareParmTuple(menu, ('floder_a', 'Floder2'))
  • 下拉菜单的默认值为1,则标签显示为Middle

九、 RampParmTemplate 渐变Ramp参数类 9

r1 = hou.RampParmTemplate('color_ramp',                      "Color Ramp", hou.rampParmType.Color,        # 枚举类型,Color表示ramp的类型为颜色2,hou.rampBasis.CatmullRom,      # 枚举类型,CatmullRom表示平滑True,hou.colorType.LAB)             # 枚举类型,颜色模式 RGB HSV HSL LAB XYZ
r2 = hou.RampParmTemplate('spline_ramp',                      "Spline Ramp", hou.rampParmType.Float,        # 枚举类型,Float 表示ramp的类型为线性2,hou.rampBasis.CatmullRom)
subnet.addSpareParmTuple(r1, ('floder_a',))
subnet.addSpareParmTuple(r2, ('floder_a',))

十、 SeparatorParmTemplate 分隔符 10

  • 创建一个水平分隔符用于分割
sep1 = hou.SeparatorParmTemplate('sep1')
subnet.addSpareParmTuple(sep1, ('floder_a', 'Floder2'))

十一、 StringParmTemplate 字符串参数类 11

  • 加载外部磁盘文件或者选择内部节点
# 磁盘文件
str1 = hou.StringParmTemplate('file','File', 1, ("C:/geo/$HIP/$OS.$F4.bgeo.sc",),    # 默认值是元组hou.parmNamingScheme.Base1,hou.stringParmType.FileReference,    # 引用磁盘上的文件hou.fileType.Geometry)
str1.setTags({'filechooser_mode':'read'})                          # 文件选择类型为只读str2 = hou.StringParmTemplate('camera','Camera', 1, ("/obj/cam1",), hou.parmNamingScheme.Base1,hou.stringParmType.NodeReference,    # 引用节点hou.fileType.Geometry)
str2.setTags({'oprelative':'.','opfilter':'!!OBJ/CAMERA!!'})       # 选择路径和节点类型过滤subnet.addSpareParmTuple(str1, ('floder_a', 'Floder2'))
subnet.addSpareParmTuple(str2, ('floder_a', 'Floder2'))

十二、 ToggleParmTemplate 复选框 12

  • 创建一个复选框用于勾选
tog = hou.ToggleParmTemplate('loadimg', 'loadimg')
tog.setJoinWithNext(True)                                          # 与下一个参数并排成一行
tog.hideLabel(True)                                                # 隐藏标签
img = hou.StringParmTemplate('img', 'Load Image', 1, ('',),hou.parmNamingScheme.Base1,hou.stringParmType.FileReference,     # 引用外部磁盘文件hou.fileType.Image)                   # 文件类型为图片格式
img.setDisableWhen('{ loadimg == 0 }')                             # 勾选复选框才会启用该参数lod_floder = hou.FolderParmTemplate('lod', 'Load Image', (tog, img), hou.folderType.ImportBlock)    # 使用外部快,因为并排参数需要在一个夹子里subnet.addSpareParmTuple(lod_floder, ('floder_a', 'Floder2'))
  • 当勾选了Load Image前面的复选框才启用此参数

  1. ButtonParmTemplate 创建按钮 ↩︎

  2. DataParmTemplate 创建数据类参数 ↩︎

  3. FloatParmTemplate 创建浮点类参数 ↩︎

  4. FolderParmTemplate 夹子参数类 ↩︎

  5. FolderSetParmTemplate 多夹子类 ↩︎

  6. IntParmTemplate 整数参数类 ↩︎

  7. LabelParmTemplate 标签参数类 ↩︎

  8. MenuParmTemplate 下拉菜单参数类 ↩︎

  9. RampParmTemplate 渐变Ramp参数类 ↩︎

  10. SeparatorParmTemplate 分隔符 ↩︎

  11. StringParmTemplate 字符串参数类 ↩︎

  12. ToggleParmTemplate 复选框 ↩︎

Houdini 自定义节点参数面板 hou.ParmTemplate学习笔记相关推荐

  1. 管理节点连接不上sql节点_华为云IEF智能边缘平台十万边缘节点管理技术深度解读学习笔记...

    华为云智能边缘平台IEF首席架构师张琦在3月27-28日举办的华为开发者大会2020(Cloud)上,深度解读了十万边缘节点的管理技术,以及如何通过云原生技术和边缘计算结合,构建边缘计算实战场景中所需 ...

  2. c语言imagesize怎么用里面的参数如何填写,【学习笔记】【C语言】sizeof

    1.用来计算一个变量或者一个常量.一种数据类型所占的内存字节数. 2.sizeof一共有3种形式 1>sizeof( 变量\常量 ) sizeof(10); char c = 'a'; size ...

  3. matlab数组平方的计算自定义函数_从零开始的matlab学习笔记——(38)简单数论计算函数:取整,gcd,lcm,质数,全排列...

    matlab应用--求极限,求导,求积分,解方程,概率统计,函数绘图,三维图像,拟合函数,动态图,傅里叶变换,随机数,优化问题....更多内容尽在个人专栏:matlab学习 翻了翻优化工具箱,发现内容 ...

  4. 动力节点郭鑫Spring Boot入门学习笔记,收藏起来慢慢看

    做 Java 开发的,没有人敢小觑 Spring Boot 的重要性,现在出去面试,无论多小的公司 or 项目,都要跟你扯一扯 Spring Boot,扯一扯微服务,如果啃不下来,很可能就与大厂失之交 ...

  5. python locust提取参数_python+locust性能测试学习笔记

    前言 Locust(俗称 蝗虫)一个轻量级的开源压测工具,基本功能是用Python代码描述所有测试.不需要笨拙的UI或庞大的XML,只需简单的代码即可. 环境安装 Locust支持Python 2.7 ...

  6. 调用jsapi缺少参数appid_【Python学习笔记】18、函数的参数关键字参数

    可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict.请看示例: de ...

  7. find命令的xargs参数的使用---Linux学习笔记

    介绍: 在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后 ...

  8. 拓扑图节点拖动的实现(学习笔记)

    需求: 拓扑图的节点可以拖动 当有警报时,在节点上需要提示,直至警报解除 拓扑图所在的窗口可以变动大小.当缩小主窗口,拓扑图显示不下时,需要出现滚动条,此时拖动icon到拓扑图边缘,滚动可以跟随移动. ...

  9. java自定义一个timeout,Timeout操作符 RxJava 学习笔记二十一

    timeout用于检测在给定时间内observables没有及时响应.如果指定的时间量没有发出任何项目,则超时会使observables失败并出现TimeoutException. 我们将从debou ...

最新文章

  1. TensorFlow中的RNNCell基本单元使用
  2. Nginx配置跨域请求 Access-Control-Allow-Origin *
  3. sklearn中分类器的比较
  4. windbg-!process显示进程
  5. 使用Physics_Body_Editor获得json文件的类
  6. Extension project - Component.js of standard application could not be loaded
  7. 洛谷2055 [ZJOI2009]假期的宿舍
  8. 塔拉 孤岛危机2_2月15日新作密集周Xbox游戏热度排行公布《Apex英雄》登顶《除暴战警3》战役模式名列前3...
  9. 使用Spring Security和OAuth 2.0保护Spring微服务架构
  10. ajax如何提交多表单的值_25 HTML5表单基本控件(二)
  11. Elasticsearch Java API四种实现方式
  12. 刚公布完价格就被骂?这款新机有点惨...
  13. Gzip,BZip2,Lzo,Snappy比较
  14. 【引用】URLDownloadToFile_VB下载文件!
  15. Task.Run Vs Task.Factory.StartNew z
  16. 怎么购买企业邮箱,才不被坑?
  17. 史上最浅显易懂的Git教程3 分支管理
  18. 阶段3 3.SpringMVC·_02.参数绑定及自定义类型转换_7 获取Servlet原生的API
  19. 什么第一台多媒体电子计算机诞生,第一台多媒体电计算机是哪一年诞生的
  20. 【牛尔】【小p】这些美容强男的超级秘籍!!!丝般肌肤毛孔看不见,清透小面颊,丝滑小脸蛋儿,你难道不想拥有吗————【收缩毛孔的最佳方法】(一夜之间6万浏览量,大师的感召力和信服力就是强啊!)

热门文章

  1. MacOs卸载Adobe后还有残留进程的解决方法
  2. 刘晓燕《不就是语法和长难句吗》第一章个人笔记
  3. 差示光谱法的测定原理_材料基础知识学习,钢中碳含量的7种测定方法,你知道吗?...
  4. The Load Slice Core Microarchitecture
  5. 新乡市牧野区开展2021年国家网络安全宣传周活动
  6. 英辞流——坚若金刚与穿行无碍:物质的三态
  7. 信号与系统时域分析(3)——时域经典法
  8. 运动耳机性价比高,运动耳机品牌排行榜
  9. 数学分析(2):自然数集的构建
  10. WRO机器人奥林匹克(大赛系列第8期)