相关参考文档:https://www.sidefx.com/docs/houdini/hom/hou
CSDN
在vscode中使用houdini python api方法: https://pakreht.com/houdini/configure-vscode-for-python/
Houdini houモジュールの入力補完の為のStubファイル生成メモ
hou.pwd(): 一个用于获取当前节点的函数.geometry(): 获取当前节点的几何体,获取的数据只能引用,需要先使用hou.pwd获取到当前的node才能获取当前的geo,例如node = hou.pwd()
geo = node.geometry().points() 获取的是当前几何体的所有点的列表,可以使用该列表对点进行循环操作。如果想获取其中的某个点,可以这样写。
node = hou.pwd()
geo = node.geometry()
p0 = geo.points()[0]
.attribValue() 里面输入属性名,可以获取指定元素上指定点的值。演示:
#获取点属性
node = hou.pwd() # 获取当前节点对象
geo = node.geometry() # 获取节点的几何体数据
point = geo.iterPoints()[7] # 获取编号为 7 的点
a = point.attribValue("a") # 获取点 7 上属性 "a" 的值
print(a) # 打印属性 "a" 的值
#获取detail属性
node = hou.pwd()
geo = node.geometry()
a = geo.attribValue("a")
print(a)
.selectedNodes() 返回当前选择的节点列表,如果只选择了一个并操作当前节点需要这样写:node = hou.selectedNodes()[0].parm(“file”).evalAsString(): 获取指定节点上指定参数的值,例如获得当前选择节点的file路径,在Python Shell 节点运行
如果是值是整数则这样写:num = node.parm("count").evalAsInt()
node = hou.selectedNodes()[0]
parm = node.parm("file").evalAsString()
print(parm)
#打印结果
>>> >>> G:/DigitFold/HDATool/json/image/att.jpg
.prims(): 获取所有的面数量,可用于面循环。.vertives(): 获取所有的顶点,可用于顶点循环。.position(): 获取点的位置。例如
node = hou.pwd()
geo = node.geometry()
p0 = geo.points()[0]
p0p = p0.position()
print("位置",p0p)
.createPolygon(); 创建一个prim.createPoint(); 创建一个点.setPosition(); 设置一个位置属性,生成一个0 2 0位置的点:
node = hou.pwd()
geo = node.geometry()
point = geo.createPoint()
point.setPosition((0,2,0))
.addvertex(); 添加顶点.deletePrims() 删除模型上的面,需要先创建一个面的列表
node = hou.pwd()
geo = node.geometry()
p1 =[geo.prim(0),geo.prim(1)]
geo.deletePrims(p1)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容