Untitled

 avatar
user_6787587
plain_text
5 months ago
67 kB
6
Indexable
import sys
import toolutils

outputitem = None
inputindex = -1
inputitem = None
outputindex = -1

num_args = 1
h_extra_args = ''
pane = toolutils.activePane(kwargs)
if not isinstance(pane, hou.NetworkEditor):
    pane = hou.ui.paneTabOfType(hou.paneTabType.NetworkEditor)
    if pane is None:
       hou.ui.displayMessage(
               'Cannot create node: cannot find any network pane')
       sys.exit(0)
else: # We're creating this tool from the TAB menu inside a network editor
    pane_node = pane.pwd()
    if "outputnodename" in kwargs and "inputindex" in kwargs:
        outputitem = pane_node.item(kwargs["outputnodename"])
        inputindex = kwargs["inputindex"]
        h_extra_args += 'set arg4 = "' + kwargs["outputnodename"] + '"\n'
        h_extra_args += 'set arg5 = "' + str(inputindex) + '"\n'
        num_args = 6
    if "inputnodename" in kwargs and "outputindex" in kwargs:
        inputitem = pane_node.item(kwargs["inputnodename"])
        outputindex = kwargs["outputindex"]
        h_extra_args += 'set arg6 = "' + kwargs["inputnodename"] + '"\n'
        h_extra_args += 'set arg9 = "' + str(outputindex) + '"\n'
        num_args = 9
    if "autoplace" in kwargs:
        autoplace = kwargs["autoplace"]
    else:
        autoplace = False
    # If shift-clicked we want to auto append to the current
    # node
    if "shiftclick" in kwargs and kwargs["shiftclick"]:
        if inputitem is None:
            inputitem = pane.currentNode()
            outputindex = 0
    if "nodepositionx" in kwargs and             "nodepositiony" in kwargs:
        try:
            pos = [ float( kwargs["nodepositionx"] ),
                    float( kwargs["nodepositiony"] )]
        except:
            pos = None
    else:
        pos = None

    if not autoplace and not pane.listMode():
        if pos is not None:
            pass
        elif outputitem is None:
            pos = pane.selectPosition(inputitem, outputindex, None, -1)
        else:
            pos = pane.selectPosition(inputitem, outputindex,
                                      outputitem, inputindex)

    if pos is not None:
        if "node_bbox" in kwargs:
            size = kwargs["node_bbox"]
            pos[0] -= size[0] / 2
            pos[1] -= size[1] / 2
        else:
            pos[0] -= 0.573625
            pos[1] -= 0.220625
        h_extra_args += 'set arg2 = "' + str(pos[0]) + '"\n'
        h_extra_args += 'set arg3 = "' + str(pos[1]) + '"\n'
h_extra_args += 'set argc = "' + str(num_args) + '"\n'

pane_node = pane.pwd()
child_type = pane_node.childTypeCategory().nodeTypes()

if 'geo' not in child_type:
   hou.ui.displayMessage(
           'Cannot create node: incompatible pane network type')
   sys.exit(0)

# First clear the node selection
pane_node.setSelected(False, True)

h_path = pane_node.path()
h_preamble = 'set arg1 = "' + h_path + '"\n'
h_cmd = r'''
if ($argc < 2 || "$arg2" == "") then
   set arg2 = 0
endif
if ($argc < 3 || "$arg3" == "") then
   set arg3 = 0
endif
# Automatically generated script
# $arg1 - the path to add this node
# $arg2 - x position of the tile
# $arg3 - y position of the tile
# $arg4 - input node to wire to
# $arg5 - which input to wire to
# $arg6 - output node to wire to
# $arg7 - the type of this node
# $arg8 - the node is an indirect input
# $arg9 - index of output from $arg6

\set noalias = 1
set saved_path = `execute("oppwf")`
opcf $arg1

# Node $_obj_torus2 (Object/geo)
set _obj_torus2 = `run("opadd -e -n -v geo torus2")`
oplocate -x `$arg2 + 0` -y `$arg3 + 0` $_obj_torus2
opspareds '    group {         name    "stdswitcher4"         label   "Transform"         grouptag { "sidefx::switcher" "stdswitcher" }          parm {             name    "xOrd"             baseparm             label   "Transform Order"             joinnext             export  none         }         parm {             name    "rOrd"             baseparm             label   "Rotate Order"             nolabel             export  none         }         parm {             name    "t"             baseparm             label   "Translate"             export  all         }         parm {             name    "r"             baseparm             label   "Rotate"             export  all         }         parm {             name    "s"             baseparm             label   "Scale"             export  none         }         parm {             name    "p"             baseparm             label   "Pivot Translate"             export  none         }         parm {             name    "pr"             baseparm             label   "Pivot Rotate"             export  none         }         parm {             name    "scale"             baseparm             label   "Uniform Scale"             export  none         }         parm {             name    "pre_xform"             baseparm             label   "Modify Pre-Transform"             export  none         }         parm {             name    "keeppos"             baseparm             label   "Keep Position When Parenting"             export  none         }         parm {             name    "childcomp"             baseparm             label   "Child Compensation"             export  none         }         parm {             name    "constraints_on"             baseparm             label   "Enable Constraints"             export  none         }         parm {             name    "constraints_path"             baseparm             label   "Constraints"             export  none         }         parm {             name    "lookatpath"             baseparm             label   "Look At"             invisible             export  none         }         parm {             name    "lookupobjpath"             baseparm             label   "Look Up Object"             invisible             export  none         }         parm {             name    "lookup"             baseparm             label   "Look At Up Vector"             invisible             export  none         }         parm {             name    "pathobjpath"             baseparm             label   "Path Object"             invisible             export  none         }         parm {             name    "roll"             baseparm             label   "Roll"             invisible             export  none         }         parm {             name    "pos"             baseparm             label   "Position"             invisible             export  none         }         parm {             name    "uparmtype"             baseparm             label   "Parameterization"             invisible             export  none         }         parm {             name    "pathorient"             baseparm             label   "Orient Along Path"             invisible             export  none         }         parm {             name    "up"             baseparm             label   "Orient Up Vector"             invisible             export  none         }         parm {             name    "bank"             baseparm             label   "Auto-Bank factor"             invisible             export  none         }     }      group {         name    "stdswitcher4_1"         label   "Render"          parm {             name    "shop_materialpath"             baseparm             label   "Material"             export  none         }         parm {             name    "shop_materialopts"             baseparm             label   "Options"             invisible             export  none         }         parm {             name    "tdisplay"             baseparm             label   "Display"             joinnext             export  none         }         parm {             name    "display"             baseparm             label   "Display"             export  none         }         parm {             name    "viewportlod"             label   "Display As"             type    ordinal             default { "full" }             help    "Choose how the object\'s geometry should be rendered in the viewport"             menu {                 "full"      "Full Geometry"                 "points"    "Point Cloud"                 "box"       "Bounding Box"                 "centroid"  "Centroid"                 "hidden"    "Hidden"                 "subd"      "Subdivision Surface / Curves"             }             parmtag { "spare_category" "Render" }         }         parm {             name    "vm_rendervisibility"             label   "Render Visibility"             type    string             default { "*" }             menureplace {                 "*"                             "Visible to all"                 "primary"                       "Visible only to primary rays"                 "primary|shadow"                "Visible only to primary and shadow rays"                 "-primary"                      "Invisible to primary rays (Phantom)"                 "-diffuse"                      "Invisible to diffuse rays"                 "-diffuse&-reflect&-refract"    "Invisible to secondary rays"                 ""                              "Invisible (Unrenderable)"             }             parmtag { "mantra_class" "object" }             parmtag { "mantra_name" "rendervisibility" }             parmtag { "spare_category" "Render" }         }         parm {             name    "vm_rendersubd"             label   "Render Polygons As Subdivision (Mantra)"             type    toggle             default { "0" }             parmtag { "mantra_class" "object" }             parmtag { "mantra_name" "rendersubd" }             parmtag { "spare_category" "Geometry" }         }         parm {             name    "vm_subdstyle"             label   "Subdivision Style"             type    string             default { "mantra_catclark" }             hidewhen "{ vm_rendersubd == 0 }"             menu {                 "mantra_catclark"   "Mantra Catmull-Clark"                 "osd_catclark"      "OpenSubdiv Catmull-Clark"             }             parmtag { "mantra_class" "object" }             parmtag { "mantra_name" "subdstyle" }             parmtag { "spare_category" "Geometry" }         }         parm {             name    "vm_subdgroup"             label   "Subdivision Group"             type    string             default { "" }             hidewhen "{ vm_rendersubd == 0 }"             parmtag { "mantra_class" "object" }             parmtag { "mantra_name" "subdgroup" }             parmtag { "spare_category" "Geometry" }         }         parm {             name    "vm_osd_quality"             label   "Open Subdiv Quality"             type    float             default { "1" }             hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }"             range   { 0 10 }             parmtag { "mantra_class" "object" }             parmtag { "mantra_name" "osd_quality" }             parmtag { "spare_category" "Geometry" }         }         parm {             name    "vm_osd_vtxinterp"             label   "OSD Vtx Interp"             type    integer             default { "2" }             hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }"             menu {                 "0" "No vertex interpolation"                 "1" "Edges only"                 "2" "Edges and Corners"             }             range   { 0 10 }             parmtag { "mantra_class" "object" }             parmtag { "mantra_name" "osd_vtxinterp" }             parmtag { "spare_category" "Geometry" }         }         parm {             name    "vm_osd_fvarinterp"             label   "OSD FVar Interp"             type    integer             default { "4" }             hidewhen "{ vm_rendersubd == 0 vm_subdstyle != osd_catclark }"             menu {                 "0" "Smooth everywhere"                 "1" "Sharpen corners only"                 "2" "Sharpen edges and corners"                 "3" "Sharpen edges and propagated corners"                 "4" "Sharpen all boundaries"                 "5" "Bilinear interpolation"             }             range   { 0 10 }             parmtag { "mantra_class" "object" }             parmtag { "mantra_name" "osd_fvarinterp" }             parmtag { "spare_category" "Geometry" }         }         group {             name    "folder0"             label   "Shading"              parm {                 name    "categories"                 label   "Categories"                 type    string                 default { "" }                 help    "A list of tags which can be used to select the object"                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "reflectmask"                 label   "Reflection Mask"                 type    oplist                 default { "*" }                 help    "Objects that will be reflected on this object."                 parmtag { "opexpand" "1" }                 parmtag { "opfilter" "!!OBJ/GEOMETRY!!" }                 parmtag { "oprelative" "/obj" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "refractmask"                 label   "Refraction Mask"                 type    oplist                 default { "*" }                 help    "Objects that will be refracted on this object."                 parmtag { "opexpand" "1" }                 parmtag { "opfilter" "!!OBJ/GEOMETRY!!" }                 parmtag { "oprelative" "/obj" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "lightmask"                 label   "Light Mask"                 type    oplist                 default { "*" }                 help    "Lights that illuminate this object."                 parmtag { "opexpand" "1" }                 parmtag { "opfilter" "!!OBJ/LIGHT!!" }                 parmtag { "oprelative" "/obj" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "lightcategories"                 label   "Light Selection"                 type    string                 default { "*" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "vm_lpetag"                 label   "LPE Tag"                 type    string                 default { "" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "lpetag" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "vm_volumefilter"                 label   "Volume Filter"                 type    string                 default { "box" }                 menu {                     "box"       "Box Filter"                     "gaussian"  "Gaussian"                     "bartlett"  "Bartlett (triangle)"                     "catrom"    "Catmull-Rom"                     "hanning"   "Hanning"                     "blackman"  "Blackman"                     "sinc"      "Sinc (sharpening)"                 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "filter" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "vm_volumefilterwidth"                 label   "Volume Filter Width"                 type    float                 default { "1" }                 range   { 0.001 5 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "filterwidth" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "vm_matte"                 label   "Matte shading"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "matte" }                 parmtag { "spare_category" "Shading" }             }             parm {                 name    "vm_rayshade"                 label   "Raytrace Shading"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "rayshade" }                 parmtag { "spare_category" "Shading" }             }         }          group {             name    "folder0_1"             label   "Sampling"              parm {                 name    "geo_velocityblur"                 label   "Geometry Velocity Blur"                 type    ordinal                 default { "off" }                 disablewhen "{ allowmotionblur == 0 }"                 menu {                     "off"       "No Velocity Blur"                     "on"        "Velocity Blur"                     "accelblur" "Acceleration Blur"                 }             }             parm {                 name    "geo_accelattribute"                 label   "Acceleration Attribute"                 type    string                 default { "accel" }                 hidewhen "{ geo_velocityblur != accelblur }"                 parmtag { "spare_category" "Sampling" }             }         }          group {             name    "folder0_2"             label   "Dicing"              parm {                 name    "vm_shadingquality"                 label   "Shading Quality"                 type    float                 default { "1" }                 range   { 0 10 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "shadingquality" }                 parmtag { "spare_category" "Dicing" }             }             parm {                 name    "vm_flatness"                 label   "Dicing Flatness"                 type    float                 default { "0.05" }                 range   { 0 1 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "flatness" }                 parmtag { "spare_category" "Dicing" }             }             parm {                 name    "vm_raypredice"                 label   "Ray Predicing"                 type    integer                 default { "0" }                 menu {                     "0" "Disable Predicing"                     "1" "Full Predicing"                     "2" "Precompute Bounds"                 }                 range   { 0 10 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "raypredice" }                 parmtag { "spare_category" "Dicing" }             }             parm {                 name    "vm_curvesurface"                 label   "Shade Curves As Surfaces"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "curvesurface" }                 parmtag { "spare_category" "Dicing" }             }         }          group {             name    "folder0_3"             label   "Geometry"              parm {                 name    "vm_rmbackface"                 label   "Backface Removal"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "rmbackface" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "shop_geometrypath"                 label   "Procedural Shader"                 type    oppath                 default { "" }                 parmtag { "opfilter" "!!SHOP/GEOMETRY!!" }                 parmtag { "oprelative" "." }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_forcegeometry"                 label   "Force Procedural Geometry Output"                 type    toggle                 default { "1" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_rendersubdcurves"                 label   "Render Polygon Curves As Subdivision (Mantra)"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "rendersubdcurves" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_renderpoints"                 label   "Render As Points (Mantra)"                 type    integer                 default { "2" }                 menu {                     "0" "No Point Rendering"                     "1" "Render Only Points"                     "2" "Render Unconnected Points"                 }                 range   { 0 10 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "renderpoints" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_renderpointsas"                 label   "Render Points As (Mantra)"                 type    integer                 default { "0" }                 disablewhen "{ vm_renderpoints == 0 }"                 menu {                     "0" "Spheres"                     "1" "Circles"                 }                 range   { 0 10 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "renderpointsas" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_usenforpoints"                 label   "Use N For Point Rendering"                 type    toggle                 default { "0" }                 disablewhen "{ vm_renderpoints == 0 }"                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "usenforpoints" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_pointscale"                 label   "Point Scale"                 type    float                 default { "1" }                 disablewhen "{ vm_renderpoints == 0 }"                 range   { 0! 10 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "pointscale" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_pscalediameter"                 label   "Treat Point Scale as Diameter Instead of Radius"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "pscalediameter" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_metavolume"                 label   "Metaballs as Volume"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "metavolume" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_coving"                 label   "Coving"                 type    integer                 default { "1" }                 menu {                     "0" "Disable Coving"                     "1" "Coving for displacement/sub-d"                     "2" "Coving for all primitives"                 }                 range   { 0 10 }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "coving" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_materialoverride"                 label   "Material Override"                 type    string                 default { "compact" }                 menu {                     "none"      "Disabled"                     "full"      "Evaluate for Each Primitve/Point"                     "compact"   "Evaluate Once"                 }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_overridedetail"                 label   "Ignore Geometry Attribute Shaders"                 type    toggle                 default { "0" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "overridedetail" }                 parmtag { "spare_category" "Geometry" }             }             parm {                 name    "vm_procuseroottransform"                 label   "Proc Use Root Transform"                 type    toggle                 default { "1" }                 parmtag { "mantra_class" "object" }                 parmtag { "mantra_name" "procuseroottransform" }                 parmtag { "spare_category" "Geometry" }             }         }      }      group {         name    "stdswitcher4_2"         label   "Misc"          parm {             name    "use_dcolor"             baseparm             label   "Set Wireframe Color"             export  none         }         parm {             name    "dcolor"             baseparm             label   "Wireframe Color"             export  none         }         parm {             name    "picking"             baseparm             label   "Viewport Selecting Enabled"             export  none         }         parm {             name    "pickscript"             baseparm             label   "Select Script"             export  none         }         parm {             name    "caching"             baseparm             label   "Cache Object Transform"             export  none         }         parm {             name    "vport_shadeopen"             baseparm             label   "Shade Open Curves In Viewport"             export  none         }         parm {             name    "vport_displayassubdiv"             baseparm             label   "Display as Subdivision in Viewport"             invisible             export  none         }         parm {             name    "vport_onionskin"             baseparm             label   "Onion Skinning"             export  none         }     }  ' $_obj_torus2
opset -S on $_obj_torus2
chautoscope $_obj_torus2 +tx +ty +tz +rx +ry +rz +sx +sy +sz
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off -x off $_obj_torus2
opexprlanguage -s hscript $_obj_torus2
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2
opcf $_obj_torus2

# Node $_obj_torus2_pointvop1 (Sop/attribvop)
set _obj_torus2_pointvop1 = `run("opadd -e -n -v attribvop pointvop1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -10.198` $_obj_torus2_pointvop1
opspareds '    parm {         name    "bindgroup"         baseparm         label   "Group"         export  none         bindselector uvselect "Modify Points"             "Select the points to affect and press Enter to complete."             0 1 0xffffffff 0 bindgrouptype 0     }     parm {         name    "bindgrouptype"         baseparm         label   "Group Type"         export  none     }     parm {         name    "bindclass"         baseparm         label   "Run Over"         export  none     }     parm {         name    "vex_numcount"         baseparm         label   "Number Count"         export  none     }     parm {         name    "vex_threadjobsize"         baseparm         label   "Thread Job Size"         export  none     }     group {         name    "stdswitcher3"         label   "Vex Setup"         grouptag { "sidefx::switcher" "stdswitcher" }          parm {             name    "vexsrc"             baseparm             label   "Vex Source"             export  all         }         parm {             name    "shoppath"             baseparm             label   "Shop Path"             export  all         }         parm {             name    "script"             baseparm             label   "Script"             export  all         }         parm {             name    "clear"             baseparm             label   "Re-load VEX Functions"             export  all         }         parm {             name    "vexsnippet"             baseparm             label   "Snippet"             export  none         }         parm {             name    "vex_strict"             baseparm             label   "Enforce Prototypes"             export  none         }         parm {             name    "vex_exportlist"             baseparm             label   "Attributes to Create"             export  none         }         parm {             name    "vop_compiler"             baseparm             label   "Compiler"             export  none         }         parm {             name    "vop_forcecompile"             baseparm             label   "Force Compile"             export  none         }         parm {             name    "vex_cwdpath"             baseparm             label   "Evaluation Node Path"             export  none         }         parm {             name    "vex_outputmask"             baseparm             label   "Export Parameters"             export  none         }         parm {             name    "vex_multithread"             baseparm             label   "Enable Multithreading"             export  none         }     }      group {         name    "stdswitcher3_1"         label   "Attribute Bindings"          parm {             name    "vex_precision"             baseparm             label   "VEX Precision"             export  none         }         parm {             name    "autobind"             baseparm             label   "Autobind by Name"             export  none         }         multiparm {             name    "bindings"             label    "Number of Bindings"             baseparm             default 0             parmtag { "multistartoffset" "1" }              parm {                 name    "bindname#"                 baseparm                 label   "Attribute Name"                 export  none             }             parm {                 name    "bindparm#"                 baseparm                 label   "VEX Parameter"                 export  none             }         }          parm {             name    "groupautobind"             baseparm             label   "Autobind Groups by Name"             export  none         }         multiparm {             name    "groupbindings"             label    "Group Bindings"             baseparm             default 0             parmtag { "multistartoffset" "1" }              parm {                 name    "bindgroupname#"                 baseparm                 label   "Group Name"                 export  none             }             parm {                 name    "bindgroupparm#"                 baseparm                 label   "VEX Parameter"                 export  none             }         }          parm {             name    "vex_updatenmls"             baseparm             label   "Update Normals If Displaced"             export  none         }         parm {             name    "vex_matchattrib"             baseparm             label   "Attribute to Match"             export  none         }         parm {             name    "vex_inplace"             baseparm             label   "Compute Results In Place"             export  none         }         parm {             name    "vex_selectiongroup"             baseparm             label   "Output Selection Group"             export  none         }     }      parm {         name    "ptnum"         label   "Point Number"         type    integer         invisible         default { "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "vtxnum"         label   "Vertex Number"         type    integer         invisible         default { "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "primnum"         label   "Primitive Number"         type    integer         invisible         default { "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "id"         label   "Id"         type    integer         invisible         default { "-1" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "numpt"         label   "Number of Points"         type    integer         invisible         default { "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "numvtx"         label   "Number of Vertices"         type    integer         invisible         default { "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "numprim"         label   "Number of Prims"         type    integer         invisible         default { "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "Time"         label   "Time"         type    float         invisible         default { "0" }         range   { 0 1 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "TimeInc"         label   "Time Inc"         type    float         invisible         default { "0" }         range   { 0 1 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "Frame"         label   "Frame"         type    float         invisible         default { "0" }         range   { 0 1 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "life"         label   "Life"         type    float         invisible         default { "0" }         range   { 0 1 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "age"         label   "Age"         type    float         invisible         default { "0" }         range   { 0 1 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "OpInput2"         label   "Second Input"         type    string         invisible         default { "" }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "OpInput3"         label   "Third Input"         type    string         invisible         default { "" }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "OpInput4"         label   "Fourth Input"         type    string         invisible         default { "" }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "OpInput1"         label   "First Input"         type    string         invisible         default { "" }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "uv"         label   "UV"         type    float         invisible         size    3         default { "0" "0" "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "P"         label   "P"         type    float         invisible         size    3         default { "0" "0" "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "v"         label   "Velocity"         type    float         invisible         size    3         default { "0" "0" "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "force"         label   "Force"         type    float         invisible         size    3         default { "0" "0" "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "Cd"         label   "Cd"         type    float         invisible         size    3         default { "1" "1" "1" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "N"         label   "N"         type    float         invisible         size    3         default { "0" "0" "0" }         range   { 0 10 }         parmtag { "parmvop" "1" }         parmtag { "shaderparmcontexts" "cvex" }     }     parm {         name    "ramp"         label   "ramp"         type    ramp_rgb         default { "2" }         range   { 1! 10 }         parmtag { "parmvop" "1" }         parmtag { "rampbasis_var" "ramp_the_basis_strings" }         parmtag { "rampbasisdefault" "linear" }         parmtag { "rampcolordefault" "1pos ( 0 ) 1c ( 0 0 0 ) 1interp ( linear ) 2pos ( 1 ) 2c ( 1 1 1 ) 2interp ( linear )" }         parmtag { "rampcolortype" "rgb" }         parmtag { "rampkeys_var" "ramp_the_key_positions" }         parmtag { "rampshowcontrolsdefault" "1" }         parmtag { "rampvalues_var" "ramp_the_key_values" }         parmtag { "shaderparmcontexts" "cvex" }     } ' $_obj_torus2_pointvop1
opparm $_obj_torus2_pointvop1  bindings ( 0 ) groupbindings ( 0 ) ramp ( 102 )
opparm -V 20.0.547 $_obj_torus2_pointvop1 bindclass ( primitive ) ramp ( 102 ) ramp1c ( 0.42050793766975403 0.1275297850370407 0.041451890021562576 ) ramp2pos ( 0.009803921915590763 ) ramp2c ( 0.3488648235797882 0.08919350802898407 0.020951131358742714 ) ramp3pos ( 0.019607843831181526 ) ramp3c ( 0.373615026473999 0.10114516317844391 0.02422294206917286 ) ramp4pos ( 0.029411764815449715 ) ramp4c ( 0.40982574224472046 0.11926401406526566 0.02899118699133396 ) ramp5pos ( 0.03921568766236305 ) ramp5c ( 0.43134021759033203 0.12474094331264496 0.030256519094109535 ) ramp6pos ( 0.04901960864663124 ) ramp6c ( 0.4423229396343231 0.13035227358341217 0.03155139088630676 ) ramp7pos ( 0.05882352963089943 ) ramp7c ( 0.45907989144325256 0.14497213065624237 0.03561437129974365 ) ramp8pos ( 0.06862745434045792 ) ramp8c ( 0.47617727518081665 0.15105804800987244 0.041451890021562576 ) ramp9pos ( 0.0784313753247261 ) ramp9c ( 0.45345646142959595 0.13609854876995087 0.038472745567560196 ) ramp10pos ( 0.0882352963089943 ) ramp10c ( 0.4423229396343231 0.12474094331264496 0.02899118699133396 ) ramp11pos ( 0.09803921729326248 ) ramp11c ( 0.4819522500038147 0.14497213065624237 0.03561437129974365 ) ramp12pos ( 0.10784313827753067 ) ramp12c ( 0.373615026473999 0.10615606606006622 0.019917838275432587 ) ramp13pos ( 0.11764705926179886 ) ramp13c ( 0.3586539030075073 0.10114516317844391 0.016988052055239677 ) ramp14pos ( 0.12745098769664764 ) ramp14c ( 0.4151480793952942 0.12474094331264496 0.025371277704834938 ) ramp15pos ( 0.13725490868091583 ) ramp15c ( 0.4423229396343231 0.1275297850370407 0.020951131358742714 ) ramp16pos ( 0.14705882966518402 ) ramp16c ( 0.42050793766975403 0.1275297850370407 0.020951131358742714 ) ramp17pos ( 0.1568627506494522 ) ramp17c ( 0.42050793766975403 0.12198571115732193 0.019917838275432587 ) ramp18pos ( 0.1666666716337204 ) ramp18c ( 0.45907989144325256 0.1332085132598877 0.02775527909398079 ) ramp19pos ( 0.1764705926179886 ) ramp19c ( 0.3344578146934509 0.08464150875806808 0.011126082390546799 ) ramp20pos ( 0.18627451360225677 ) ramp20c ( 0.33922332525253296 0.0915183499455452 0.013473397120833397 ) ramp21pos ( 0.19607843458652496 ) ramp21c ( 0.3537409007549286 0.11392093449831009 0.026548683643341064 ) ramp22pos ( 0.20588235557079315 ) ramp22c ( 0.3889102637767792 0.1332085132598877 0.037028513848781586 ) ramp23pos ( 0.21568627655506134 ) ramp23c ( 0.3537409007549286 0.11392093449831009 0.02899118699133396 ) ramp24pos ( 0.22549019753932953 ) ramp24c ( 0.3203815519809723 0.08919350802898407 0.018912984058260918 ) ramp25pos ( 0.23529411852359772 ) ramp25c ( 0.32972902059555054 0.0915183499455452 0.019917838275432587 ) ramp26pos ( 0.2450980395078659 ) ramp26c ( 0.32972902059555054 0.08241420239210129 0.017936432734131813 ) ramp27pos ( 0.2549019753932953 ) ramp27c ( 0.3440256714820862 0.09387587010860443 0.022012995555996895 ) ramp28pos ( 0.2647058963775635 ) ramp28c ( 0.3488648235797882 0.09387587010860443 0.022012995555996895 ) ramp29pos ( 0.27450981736183167 ) ramp29c ( 0.3111805021762848 0.08690125495195389 0.017936432734131813 ) ramp30pos ( 0.28431373834609985 ) ramp30c ( 0.3111805021762848 0.09387587010860443 0.019917838275432587 ) ramp31pos ( 0.29411765933036804 ) ramp31c ( 0.29765263199806213 0.08919350802898407 0.017936432734131813 ) ramp32pos ( 0.30392158031463623 ) ramp32c ( 0.28445205092430115 0.08690125495195389 0.016988052055239677 ) ramp33pos ( 0.3137255012989044 ) ramp33c ( 0.33922332525253296 0.10871115326881409 0.026548683643341064 ) ramp34pos ( 0.3235294222831726 ) ramp34c ( 0.33922332525253296 0.10114516317844391 0.026548683643341064 ) ramp35pos ( 0.3333333432674408 ) ramp35c ( 0.3537409007549286 0.10615606606006622 0.030256519094109535 ) ramp36pos ( 0.343137264251709 ) ramp36c ( 0.39929330348968506 0.12474094331264496 0.03561437129974365 ) ramp37pos ( 0.3529411852359772 ) ramp37c ( 0.4045408368110657 0.13035227358341217 0.03561437129974365 ) ramp38pos ( 0.36274510622024536 ) ramp38c ( 0.38377463817596436 0.11657577753067017 0.030256519094109535 ) ramp39pos ( 0.37254902720451355 ) ramp39c ( 0.3344578146934509 0.09626612067222595 0.019917838275432587 ) ramp40pos ( 0.38235294818878174 ) ramp40c ( 0.2508402466773987 0.06190747395157814 0.006584957242012024 ) ramp41pos ( 0.3921568691730499 ) ramp41c ( 0.2271365225315094 0.05112205073237419 0.003697239561006427 ) ramp42pos ( 0.4019607901573181 ) ramp42c ( 0.2715774178504944 0.07592611759901047 0.010397802107036114 ) ramp43pos ( 0.4117647111415863 ) ramp43c ( 0.25491586327552795 0.06381487101316452 0.007155037019401789 ) ramp44pos ( 0.4215686321258545 ) ramp44c ( 0.24680042266845703 0.058187179267406464 0.0045597548596560955 ) ramp45pos ( 0.4313725531101227 ) ramp45c ( 0.2271365225315094 0.04943345859646797 0.0025858255103230476 ) ramp46pos ( 0.44117647409439087 ) ramp46c ( 0.23099812865257263 0.04943345859646797 0.0022629532031714916 ) ramp47pos ( 0.45098039507865906 ) ramp47c ( 0.24279634654521942 0.05284162610769272 0.002932318253442645 ) ramp48pos ( 0.46078431606292725 ) ramp48c ( 0.234895259141922 0.04614884406328201 0.0016869152896106243 ) ramp49pos ( 0.47058823704719543 ) ramp49c ( 0.24680042266845703 0.04943345859646797 0.001963416114449501 ) ramp50pos ( 0.4803921580314636 ) ramp50c ( 0.26735806465148926 0.05637409910559654 0.003302703145891428 ) ramp51pos ( 0.4901960790157318 ) ramp51c ( 0.28445205092430115 0.06190747395157814 0.0045597548596560955 ) ramp52pos ( 0.5 ) ramp52c ( 0.288815975189209 0.06381487101316452 0.005521744955331087 ) ramp53pos ( 0.5098039507865906 ) ramp53c ( 0.288815975189209 0.06381487101316452 0.005028203595429659 ) ramp54pos ( 0.5196078419685364 ) ramp54c ( 0.2715774178504944 0.05637409910559654 0.0041161770932376385 ) ramp55pos ( 0.529411792755127 ) ramp55c ( 0.288815975189209 0.06381487101316452 0.005028203595429659 ) ramp56pos ( 0.5392156839370728 ) ramp56c ( 0.288815975189209 0.06381487101316452 0.005521744955331087 ) ramp57pos ( 0.5490196347236633 ) ramp57c ( 0.29321613907814026 0.0697270855307579 0.006584957242012024 ) ramp58pos ( 0.5588235259056091 ) ramp58c ( 0.3066347539424896 0.07592611759901047 0.008373118005692959 ) ramp59pos ( 0.5686274766921997 ) ramp59c ( 0.3250369727611542 0.08690125495195389 0.011126082390546799 ) ramp60pos ( 0.5784313678741455 ) ramp60c ( 0.3344578146934509 0.08919350802898407 0.013473397120833397 ) ramp61pos ( 0.5882353186607361 ) ramp61c ( 0.3344578146934509 0.08919350802898407 0.014310519210994244 ) ramp62pos ( 0.5980392098426819 ) ramp62c ( 0.3250369727611542 0.08464150875806808 0.013473397120833397 ) ramp63pos ( 0.6078431606292725 ) ramp63c ( 0.3111805021762848 0.08021926134824753 0.011126082390546799 ) ramp64pos ( 0.6176470518112183 ) ramp64c ( 0.3111805021762848 0.08241420239210129 0.012663720175623894 ) ramp65pos ( 0.6274510025978088 ) ramp65c ( 0.3111805021762848 0.08241420239210129 0.013473397120833397 ) ramp66pos ( 0.6372548937797546 ) ramp66c ( 0.302125483751297 0.07805658876895905 0.011881334707140923 ) ramp67pos ( 0.6470588445663452 ) ramp67c ( 0.29765263199806213 0.07592611759901047 0.011881334707140923 ) ramp68pos ( 0.656862735748291 ) ramp68c ( 0.3203815519809723 0.08919350802898407 0.016988052055239677 ) ramp69pos ( 0.6666666865348816 ) ramp69c ( 0.3344578146934509 0.09626612067222595 0.020951131358742714 ) ramp70pos ( 0.6764705777168274 ) ramp70c ( 0.32972902059555054 0.0915183499455452 0.019917838275432587 ) ramp71pos ( 0.686274528503418 ) ramp71c ( 0.3157627582550049 0.08690125495195389 0.016988052055239677 ) ramp72pos ( 0.6960784196853638 ) ramp72c ( 0.3066347539424896 0.08464150875806808 0.015175238251686096 ) ramp73pos ( 0.7058823704719543 ) ramp73c ( 0.3111805021762848 0.08690125495195389 0.016988052055239677 ) ramp74pos ( 0.7156862616539001 ) ramp74c ( 0.3250369727611542 0.09387587010860443 0.020951131358742714 ) ramp75pos ( 0.7254902124404907 ) ramp75c ( 0.3250369727611542 0.0915183499455452 0.022012995555996895 ) ramp76pos ( 0.7352941036224365 ) ramp76c ( 0.3111805021762848 0.08690125495195389 0.018912984058260918 ) ramp77pos ( 0.7450980544090271 ) ramp77c ( 0.3066347539424896 0.08241420239210129 0.016988052055239677 ) ramp78pos ( 0.7549019455909729 ) ramp78c ( 0.302125483751297 0.08021926134824753 0.01606770046055317 ) ramp79pos ( 0.7647058963775635 ) ramp79c ( 0.29321613907814026 0.07805658876895905 0.014310519210994244 ) ramp80pos ( 0.7745097875595093 ) ramp80c ( 0.28445205092430115 0.07805658876895905 0.012663720175623894 ) ramp81pos ( 0.7843137383460999 ) ramp81c ( 0.28012436628341675 0.07805658876895905 0.011881334707140923 ) ramp82pos ( 0.7941176295280457 ) ramp82c ( 0.28012436628341675 0.07592611759901047 0.012663720175623894 ) ramp83pos ( 0.8039215803146362 ) ramp83c ( 0.302125483751297 0.08021926134824753 0.015175238251686096 ) ramp84pos ( 0.813725471496582 ) ramp84c ( 0.29765263199806213 0.07805658876895905 0.014310519210994244 ) ramp85pos ( 0.8235294222831726 ) ramp85c ( 0.29321613907814026 0.07592611759901047 0.013473397120833397 ) ramp86pos ( 0.8333333134651184 ) ramp86c ( 0.29321613907814026 0.07805658876895905 0.014310519210994244 ) ramp87pos ( 0.843137264251709 ) ramp87c ( 0.302125483751297 0.08021926134824753 0.015175238251686096 ) ramp88pos ( 0.8529411554336548 ) ramp88c ( 0.3111805021762848 0.08690125495195389 0.016988052055239677 ) ramp89pos ( 0.8627451062202454 ) ramp89c ( 0.29765263199806213 0.08241420239210129 0.014310519210994244 ) ramp90pos ( 0.8725489974021912 ) ramp90c ( 0.3066347539424896 0.08690125495195389 0.01606770046055317 ) ramp91pos ( 0.8823529481887817 ) ramp91c ( 0.3250369727611542 0.09387587010860443 0.019917838275432587 ) ramp92pos ( 0.8921568393707275 ) ramp92c ( 0.3440256714820862 0.10363409668207169 0.02422294206917286 ) ramp93pos ( 0.9019607901573181 ) ramp93c ( 0.3636038899421692 0.11129941791296005 0.02775527909398079 ) ramp94pos ( 0.9117646813392639 ) ramp94c ( 0.38377463817596436 0.11926401406526566 0.032875917851924896 ) ramp95pos ( 0.9215686321258545 ) ramp95c ( 0.3889102637767792 0.12474094331264496 0.03423020616173744 ) ramp96pos ( 0.9313725233078003 ) ramp96c ( 0.3586539030075073 0.10871115326881409 0.02422294206917286 ) ramp97pos ( 0.9411764740943909 ) ramp97c ( 0.3488648235797882 0.10363409668207169 0.022012995555996895 ) ramp98pos ( 0.9509803652763367 ) ramp98c ( 0.33922332525253296 0.09387587010860443 0.018912984058260918 ) ramp99pos ( 0.9607843160629272 ) ramp99c ( 0.3440256714820862 0.09387587010860443 0.017936432734131813 ) ramp100pos ( 0.970588207244873 ) ramp100c ( 0.3537409007549286 0.09868919849395752 0.018912984058260918 ) ramp101pos ( 0.9803921580314636 ) ramp101c ( 0.3586539030075073 0.10114516317844391 0.017936432734131813 ) ramp102pos ( 0.9901960492134094 ) ramp102c ( 0.373615026473999 0.10871115326881409 0.019917838275432587 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_pointvop1
opexprlanguage -s hscript $_obj_torus2_pointvop1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_pointvop1
opcf $_obj_torus2_pointvop1

# Node $_obj_torus2_pointvop1_geometryvopglobal1 (Vop/geometryvopglobal::2.0)
set _obj_torus2_pointvop1_geometryvopglobal1 = `run("opadd -e -n -v geometryvopglobal::2.0 geometryvopglobal1")`
oplocate -x `$arg2 + -1.0404500000000001` -y `$arg3 + 2.6108899999999999` $_obj_torus2_pointvop1_geometryvopglobal1
opset -d on -r on -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off -L off -M off -H on -E off $_obj_torus2_pointvop1_geometryvopglobal1
opexprlanguage -s hscript $_obj_torus2_pointvop1_geometryvopglobal1
opuserdata -n '___Version___' -v '' $_obj_torus2_pointvop1_geometryvopglobal1

# Node $_obj_torus2_pointvop1_geometryvopoutput1 (Vop/geometryvopoutput)
set _obj_torus2_pointvop1_geometryvopoutput1 = `run("opadd -e -n -v geometryvopoutput geometryvopoutput1")`
oplocate -x `$arg2 + 7.5732600000000003` -y `$arg3 + 1.7812399999999999` $_obj_torus2_pointvop1_geometryvopoutput1
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off -L off -M off -H on -E off $_obj_torus2_pointvop1_geometryvopoutput1
opexprlanguage -s hscript $_obj_torus2_pointvop1_geometryvopoutput1
opuserdata -n '___Version___' -v '' $_obj_torus2_pointvop1_geometryvopoutput1

# Node $_obj_torus2_pointvop1_random1 (Vop/random)
set _obj_torus2_pointvop1_random1 = `run("opadd -e -n -v random random1")`
oplocate -x `$arg2 + 1.9595499999999999` -y `$arg3 + 1.05844` $_obj_torus2_pointvop1_random1
opparm $_obj_torus2_pointvop1_random1 signature ( i )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off -L off -M off -H on -E off $_obj_torus2_pointvop1_random1
opexprlanguage -s hscript $_obj_torus2_pointvop1_random1
opuserdata -n '___Version___' -v '' $_obj_torus2_pointvop1_random1

# Node $_obj_torus2_pointvop1_ramp1 (Vop/rampparm)
set _obj_torus2_pointvop1_ramp1 = `run("opadd -e -n -v rampparm ramp1")`
oplocate -x `$arg2 + 4.6595500000000003` -y `$arg3 + 1.2007300000000001` $_obj_torus2_pointvop1_ramp1
opparm $_obj_torus2_pointvop1_ramp1  rampcolordefault ( 2 ) rampfloatdefault ( 2 )
opparm -V 20.0.547 $_obj_torus2_pointvop1_ramp1 rampcolordefault2pos ( 1 ) rampcolordefault2c ( 1 1 1 ) rampfloatdefault2pos ( 1 ) rampfloatdefault2value ( 1 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off -L off -M off -H on -E off $_obj_torus2_pointvop1_ramp1
opexprlanguage -s hscript $_obj_torus2_pointvop1_ramp1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_pointvop1_ramp1
opcf ..

# Node $_obj_torus2_mountain1 (Sop/attribnoise::2.0)
set _obj_torus2_mountain1 = `run("opadd -e -n -v attribnoise::2.0 mountain1")`
oplocate -x `$arg2 + -0.97586600000000001` -y `$arg3 + -14.6655` $_obj_torus2_mountain1
opparm $_obj_torus2_mountain1  remapramp ( 2 )
opparm $_obj_torus2_mountain1 attribs ( P ) folder1 ( 1 ) noiserange ( zcentered ) amplitude ( 0.009 ) amplitudev ( 0.003 ) folder7 ( 1 ) elementsize ( 0.03 ) fractal ( hmfT ) oct ( 8 ) rough ( 0.4 ) remapramp2pos ( 1 ) remapramp2value ( 1 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_mountain1
opexprlanguage -s hscript $_obj_torus2_mountain1
opuserdata -n '___Version___' -v '' $_obj_torus2_mountain1
opcf ..
opcf $_obj_torus2

# Node $_obj_torus2_matchsize2 (Sop/matchsize)
set _obj_torus2_matchsize2 = `run("opadd -e -n -v matchsize matchsize2")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -1.7585900000000001` $_obj_torus2_matchsize2
opparm $_obj_torus2_matchsize2 justify_y ( min )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_matchsize2
opexprlanguage -s hscript $_obj_torus2_matchsize2
opuserdata -n '___Version___' -v '' $_obj_torus2_matchsize2
opuserdata -n '___toolcount___' -v '2' $_obj_torus2_matchsize2
opuserdata -n '___toolid___' -v 'geo0' $_obj_torus2_matchsize2

# Node $_obj_torus2_attribwrangle2 (Sop/attribwrangle)
set _obj_torus2_attribwrangle2 = `run("opadd -e -n -v attribwrangle attribwrangle2")`
oplocate -x `$arg2 + -0.98231599999999997` -y `$arg3 + -8.0305499999999999` $_obj_torus2_attribwrangle2
opparm $_obj_torus2_attribwrangle2  bindings ( 0 ) groupbindings ( 0 )
opparm $_obj_torus2_attribwrangle2 class ( primitive ) snippet ( 's@name = "brick"+itoa(@id);' )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_attribwrangle2
opexprlanguage -s hscript $_obj_torus2_attribwrangle2
opuserdata -n '___Version___' -v '' $_obj_torus2_attribwrangle2
opuserdata -n '___toolcount___' -v '2' $_obj_torus2_attribwrangle2
opuserdata -n '___toolid___' -v 'geo0' $_obj_torus2_attribwrangle2

# Node $_obj_torus2_foreach_end2 (Sop/block_end)
set _obj_torus2_foreach_end2 = `run("opadd -e -n -v block_end foreach_end2")`
oplocate -x `$arg2 + -0.97426599999999997` -y `$arg3 + -13.427899999999999` $_obj_torus2_foreach_end2
opparm -V 20.0.547 $_obj_torus2_foreach_end2 itermethod ( pieces ) method ( merge ) class ( primitive ) attrib ( name ) blockpath ( ../foreach_begin1 ) templatepath ( ../foreach_begin1 )
opcolor -c 0.75 0.40000000596046448 0 $_obj_torus2_foreach_end2
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F off -c on -e on -b off $_obj_torus2_foreach_end2
opexprlanguage -s hscript $_obj_torus2_foreach_end2
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_foreach_end2
opuserdata -n '___toolcount___' -v '2' $_obj_torus2_foreach_end2
opuserdata -n '___toolid___' -v 'geo0' $_obj_torus2_foreach_end2

# Node $_obj_torus2_foreach_begin2 (Sop/block_begin)
set _obj_torus2_foreach_begin2 = `run("opadd -e -n -v block_begin foreach_begin2")`
oplocate -x `$arg2 + -0.97426599999999997` -y `$arg3 + -11.3415` $_obj_torus2_foreach_begin2
opparm -V 20.0.547 $_obj_torus2_foreach_begin2 method ( piece ) blockpath ( ../foreach_end1 )
opcolor -c 0.75 0.40000000596046448 0 $_obj_torus2_foreach_begin2
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F off -c on -e on -b off $_obj_torus2_foreach_begin2
opexprlanguage -s hscript $_obj_torus2_foreach_begin2
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_foreach_begin2
opuserdata -n '___toolcount___' -v '2' $_obj_torus2_foreach_begin2
opuserdata -n '___toolid___' -v 'geo0' $_obj_torus2_foreach_begin2

# Node $_obj_torus2_tube1 (Sop/tube)
set _obj_torus2_tube1 = `run("opadd -e -n -v tube tube1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + 0.37090800000000002` $_obj_torus2_tube1
opparm -V 20.0.547 $_obj_torus2_tube1 type ( poly ) radscale ( 1.9 ) height ( 0.062 ) cols ( 86 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_tube1
opexprlanguage -s hscript $_obj_torus2_tube1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_tube1

# Node $_obj_torus2_facet1 (Sop/facet)
set _obj_torus2_facet1 = `run("opadd -e -n -v facet facet1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -2.7585899999999999` $_obj_torus2_facet1
opparm -V 20.0.547 $_obj_torus2_facet1 unique ( on )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_facet1
opexprlanguage -s hscript $_obj_torus2_facet1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_facet1

# Node $_obj_torus2_copy1 (Sop/copyxform)
set _obj_torus2_copy1 = `run("opadd -e -n -v copyxform copy1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -0.75859200000000004` $_obj_torus2_copy1
chblockbegin
chadd -t 0 0 $_obj_torus2_copy1 ty
chkey -t 0 -v 0.070000000000000007 -m 0 -a 0 -A 0 -T a  -F 'ch("../tube1/height")' $_obj_torus2_copy1/ty
chblockend
opparm -V 20.0.547 $_obj_torus2_copy1 ncy ( 36 ) t ( 0 ty 0 ) r ( 0 3 0 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_copy1
opexprlanguage -s hscript $_obj_torus2_copy1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_copy1

# Node $_obj_torus2_polyextrude1 (Sop/polyextrude::2.0)
set _obj_torus2_polyextrude1 = `run("opadd -e -n -v polyextrude::2.0 polyextrude1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -4.7585899999999999` $_obj_torus2_polyextrude1
opparm $_obj_torus2_polyextrude1  thicknessramp ( 2 ) twistramp ( 2 )
opparm -V 20.0.547 $_obj_torus2_polyextrude1 dist ( -0.026 ) outputback ( on ) thicknessramp1value ( 1 ) thicknessramp1interp ( catmull-rom ) thicknessramp2pos ( 1 ) thicknessramp2value ( 1 ) thicknessramp2interp ( catmull-rom ) twistramp1value ( 0.5 ) twistramp1interp ( catmull-rom ) twistramp2pos ( 1 ) twistramp2value ( 0.5 ) twistramp2interp ( catmull-rom )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_polyextrude1
opexprlanguage -s hscript $_obj_torus2_polyextrude1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_polyextrude1

# Node $_obj_torus2_polybevel1 (Sop/polybevel::3.0)
set _obj_torus2_polybevel1 = `run("opadd -e -n -v polybevel::3.0 polybevel1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -9.0684500000000003` $_obj_torus2_polybevel1
opparm $_obj_torus2_polybevel1  profileramp ( 2 )
opparm -V 20.0.547 $_obj_torus2_polybevel1 offset ( 0.003 ) divisions ( 3 ) profileramp1value ( 0.5 ) profileramp1interp ( catmull-rom ) profileramp2pos ( 1 ) profileramp2value ( 0.5 ) profileramp2interp ( catmull-rom )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_polybevel1
opexprlanguage -s hscript $_obj_torus2_polybevel1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_polybevel1

# Node $_obj_torus2_connectivity1 (Sop/connectivity)
set _obj_torus2_connectivity1 = `run("opadd -e -n -v connectivity connectivity1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -6.9906499999999996` $_obj_torus2_connectivity1
opparm -V 20.0.547 $_obj_torus2_connectivity1 connecttype ( prim ) attribname ( id )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_connectivity1
opexprlanguage -s hscript $_obj_torus2_connectivity1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_connectivity1
opcf $_obj_torus2_pointvop1
oporder -e geometryvopglobal1 geometryvopoutput1 random1 ramp1 
opcf ..

# Node $_obj_torus2_reverse1 (Sop/reverse)
set _obj_torus2_reverse1 = `run("opadd -e -n -v reverse reverse1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -5.88809` $_obj_torus2_reverse1
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_reverse1
opexprlanguage -s hscript $_obj_torus2_reverse1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_reverse1

# Node $_obj_torus2_fast_remesh1 (labs::Sop/fast_remesh::1.1)
set _obj_torus2_fast_remesh1 = `run("opadd -e -n -v labs::fast_remesh::1.1 fast_remesh1")`
oplocate -x `$arg2 + -0.97586600000000001` -y `$arg3 + -12.4533` $_obj_torus2_fast_remesh1
opparm -V 547 $_obj_torus2_fast_remesh1 connectmenu ( 1 ) inputatt ( on ) targetedgetemp ( 0.013 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b on $_obj_torus2_fast_remesh1
opexprlanguage -s hscript $_obj_torus2_fast_remesh1
opuserdata -n '___Version___' -v '547' $_obj_torus2_fast_remesh1

# Node $_obj_torus2_smooth1 (Sop/smooth::2.0)
set _obj_torus2_smooth1 = `run("opadd -e -n -v smooth::2.0 smooth1")`
oplocate -x `$arg2 + -0.97586600000000001` -y `$arg3 + -15.795` $_obj_torus2_smooth1
opparm -V 20.0.547 $_obj_torus2_smooth1 strength ( 20.6 ) filterquality ( 3 )
opset -d on -r on -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_smooth1
opexprlanguage -s hscript $_obj_torus2_smooth1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_smooth1

# Node $_obj_torus2_primitive1 (Sop/primitive)
set _obj_torus2_primitive1 = `run("opadd -e -n -v primitive primitive1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -3.7585899999999999` $_obj_torus2_primitive1
chblockbegin
chadd -t 0 0 $_obj_torus2_primitive1 px
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F '$CEX' $_obj_torus2_primitive1/px
chadd -t 0 0 $_obj_torus2_primitive1 py
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F '$CEY' $_obj_torus2_primitive1/py
chadd -t 0 0 $_obj_torus2_primitive1 pz
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F '$CEZ' $_obj_torus2_primitive1/pz
chadd -t 0 0 $_obj_torus2_primitive1 upvectorx
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @N.x $_obj_torus2_primitive1/upvectorx
chadd -t 0 0 $_obj_torus2_primitive1 upvectory
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @N.y $_obj_torus2_primitive1/upvectory
chadd -t 0 0 $_obj_torus2_primitive1 upvectorz
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @N.z $_obj_torus2_primitive1/upvectorz
chadd -t 0 0 $_obj_torus2_primitive1 diffr
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @Cd.r $_obj_torus2_primitive1/diffr
chadd -t 0 0 $_obj_torus2_primitive1 diffg
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @Cd.g $_obj_torus2_primitive1/diffg
chadd -t 0 0 $_obj_torus2_primitive1 diffb
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @Cd.b $_obj_torus2_primitive1/diffb
chadd -t 0 0 $_obj_torus2_primitive1 alpha
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @Alpha $_obj_torus2_primitive1/alpha
chadd -t 0 0 $_obj_torus2_primitive1 crease
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F @creaseweight $_obj_torus2_primitive1/crease
chadd -t 0 0 $_obj_torus2_primitive1 metaweight
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F '$WEIGHT' $_obj_torus2_primitive1/metaweight
chadd -t 0 0 $_obj_torus2_primitive1 prblur
chkey -t 0 -v 0 -m 0 -a 0 -A 0 -T a  -F '1/$FPS' $_obj_torus2_primitive1/prblur
chblockend
opparm -V 20.0.547 $_obj_torus2_primitive1 doxform ( on ) s ( 0.982 0.982 0.982 )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b on $_obj_torus2_primitive1
opexprlanguage -s hscript $_obj_torus2_primitive1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_primitive1

# Node $_obj_torus2_matchsize1 (Sop/matchsize)
set _obj_torus2_matchsize1 = `run("opadd -e -n -v matchsize matchsize1")`
oplocate -x `$arg2 + -0.97931599999999996` -y `$arg3 + -1.7585900000000001` $_obj_torus2_matchsize1
opparm $_obj_torus2_matchsize1 justify_y ( min )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_matchsize1
opexprlanguage -s hscript $_obj_torus2_matchsize1
opuserdata -n '___Version___' -v '' $_obj_torus2_matchsize1

# Node $_obj_torus2_attribwrangle1 (Sop/attribwrangle)
set _obj_torus2_attribwrangle1 = `run("opadd -e -n -v attribwrangle attribwrangle1")`
oplocate -x `$arg2 + -0.98231599999999997` -y `$arg3 + -8.0305499999999999` $_obj_torus2_attribwrangle1
opparm $_obj_torus2_attribwrangle1  bindings ( 0 ) groupbindings ( 0 )
opparm $_obj_torus2_attribwrangle1 class ( primitive ) snippet ( 's@name = "brick"+itoa(@id);' )
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F on -c on -e on -b off $_obj_torus2_attribwrangle1
opexprlanguage -s hscript $_obj_torus2_attribwrangle1
opuserdata -n '___Version___' -v '' $_obj_torus2_attribwrangle1

# Node $_obj_torus2_foreach_end1 (Sop/block_end)
set _obj_torus2_foreach_end1 = `run("opadd -e -n -v block_end foreach_end1")`
oplocate -x `$arg2 + -0.97426599999999997` -y `$arg3 + -13.427899999999999` $_obj_torus2_foreach_end1
opparm -V 20.0.547 $_obj_torus2_foreach_end1 itermethod ( pieces ) method ( merge ) class ( primitive ) attrib ( name ) blockpath ( ../foreach_begin1 ) templatepath ( ../foreach_begin1 )
opcolor -c 0.75 0.40000000596046448 0 $_obj_torus2_foreach_end1
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F off -c on -e on -b off $_obj_torus2_foreach_end1
opexprlanguage -s hscript $_obj_torus2_foreach_end1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_foreach_end1

# Node $_obj_torus2_foreach_begin1 (Sop/block_begin)
set _obj_torus2_foreach_begin1 = `run("opadd -e -n -v block_begin foreach_begin1")`
oplocate -x `$arg2 + -0.97426599999999997` -y `$arg3 + -11.3415` $_obj_torus2_foreach_begin1
opparm -V 20.0.547 $_obj_torus2_foreach_begin1 method ( piece ) blockpath ( ../foreach_end1 )
opcolor -c 0.75 0.40000000596046448 0 $_obj_torus2_foreach_begin1
opset -d off -r off -h off -f off -y off -t off -l off -s off -u off -F off -c on -e on -b off $_obj_torus2_foreach_begin1
opexprlanguage -s hscript $_obj_torus2_foreach_begin1
opuserdata -n '___Version___' -v '20.0.547' $_obj_torus2_foreach_begin1
oporder -e matchsize2 attribwrangle2 foreach_end2 foreach_begin2 tube1 facet1 copy1 polyextrude1 polybevel1 connectivity1 pointvop1 reverse1 fast_remesh1 mountain1 smooth1 primitive1 matchsize1 attribwrangle1 foreach_end1 foreach_begin1 
opcf ..
opset -p on $_obj_torus2

opcf $arg1
opcf $_obj_torus2
opwire -n $_obj_torus2_matchsize1 -0 $_obj_torus2_facet1
opwire -n $_obj_torus2_tube1 -0 $_obj_torus2_copy1
opwire -n $_obj_torus2_primitive1 -0 $_obj_torus2_polyextrude1
opwire -n $_obj_torus2_attribwrangle1 -0 $_obj_torus2_polybevel1
opwire -n $_obj_torus2_reverse1 -0 $_obj_torus2_connectivity1
opwire -n $_obj_torus2_polybevel1 -0 $_obj_torus2_pointvop1
opcf $_obj_torus2_pointvop1
opwire -n $_obj_torus2_pointvop1_ramp1 -3 $_obj_torus2_pointvop1_geometryvopoutput1
opwire -n -o 5 $_obj_torus2_pointvop1_geometryvopglobal1 -0 $_obj_torus2_pointvop1_random1
opwire -n $_obj_torus2_pointvop1_random1 -0 $_obj_torus2_pointvop1_ramp1
opcf ..
opwire -n $_obj_torus2_polyextrude1 -0 $_obj_torus2_reverse1
opwire -n $_obj_torus2_foreach_begin1 -0 $_obj_torus2_fast_remesh1
opwire -n $_obj_torus2_foreach_end1 -0 $_obj_torus2_mountain1
opwire -n $_obj_torus2_mountain1 -0 $_obj_torus2_smooth1
opwire -n $_obj_torus2_facet1 -0 $_obj_torus2_primitive1
opwire -n $_obj_torus2_copy1 -0 $_obj_torus2_matchsize1
opwire -n $_obj_torus2_connectivity1 -0 $_obj_torus2_attribwrangle1
opwire -n $_obj_torus2_fast_remesh1 -0 $_obj_torus2_foreach_end1
opwire -n $_obj_torus2_pointvop1 -0 $_obj_torus2_foreach_begin1
opcf ..

set oidx = 0
if ($argc >= 9 && "$arg9" != "") then
    set oidx = $arg9
endif

if ($argc >= 5 && "$arg4" != "") then
    set output = $_obj_torus2
    opwire -n $output -$arg5 $arg4
endif
if ($argc >= 6 && "$arg6" != "") then
    set input = $_obj_torus2
    if ($arg8) then
        opwire -n -i $arg6 -0 $input
    else
        opwire -n -o $oidx $arg6 -0 $input
    endif
endif
opcf $saved_path
'''
hou.hscript(h_preamble + h_extra_args + h_cmd)
Editor is loading...
Leave a Comment