Jump to content

Search the Community

Showing results for tags 'python'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Lounge/General chat
    • Education
    • Jobs
    • Marketplace
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 360 results

  1. Hey folks, I'm executing a Windows .bat file which is written out by a pythonprocessor TOPs node to run some things on another sever. Everything works if I hardcode the filename to the batch file, but I want it to generate and execute .bat files for each work item I'm trying to access `@filename`in the pythonprocessor, but not getting anywhere. How can I access the attribute so .format fills in the path correctly? PidginCode: outFile = `@filename` filePath = "path to directory/{}".format(outFile) The sample file docs are bereft of examples so I'm wondering if I'm going about it the wrong way. Thoughts? EDIT: I made a string parameter on the node I'm querying and pointed evalParm at it. Is that the most sensible way? node = hou.node('/obj/topnet1/nodeName') parmName = str(node.evalParm('parm'))
  2. Hi All, Is there any way I can access bundle panel to find out what node is selected in the highlighted bundle? Using python, I assume? Thanks in advance for any directions F
  3. http://patreon.com/posts/33249763 In this video I will show you some of the inner workings of the context-sensitive rule-based hotkey system that I implemented and one I have been using for a while to speed up my workflow inside Houdini. It's a very light-weight and flexible system that allows an arbitrary number of actions to be assigned to any key, with extensive modifier key and state support (Ctrl, Shift, Alt, Space, LMB, MMB, RMB, selection state). It's deeply integrated into the overlay network editor workflow.
  4. Modeler 1.0

    Modeler 1.0 for Houdini released! Free for all the DM 2.* users. $70 for the DM 1.* users. https://gum.co/xKBKM What's new: 1. DM now renamed to Modeler 1.0 2. new feature: the DM menu (Z hotkey) has been replaced with a new alignment menu where you can use tools for fast and accurate transformation. The menu includes the whole set of tools for working with a compass, geometry centring, quick flattening with gestures and many other transformation tools. Use the hotkeys for the tools of the old DM menu. 3. new feature: Deform Menu (N hotkey) with lots of interactive deformation tools including a new Lattice tool 4. new feature: MODELER_PICK_STYLE environment variable allows to override Modeler startup selection pick style. Add it to the houdini.env file. Use "Box", "Lasso", "Brush" or "Laser" values, then restart Houdini. 5. new feature: the hard and soft boolean tools are now combined in a new menu called Boolean (J hotkey) 6. new feature: a Fix Curves tool helps get rid of broken lines in open polygons. This helps when beveling corners of open polygons. 7. new feature: a Select Curves tool helps to select open polygons (curves) in the model 8. improvement: now some tools can create curves and process them. For example, the Extrude tool can produce lines from selected points. The Collapse tool can flatten open polygons (curves). The Connect tool can be used to cut a segment between two selected points or connect two open faces. The Push tool now properly moves points in open faces. 9. improvement: the RMB menu of the Push tool has a new item Toggle Connectivity, which allows you to move points, capturing the points of other closed pieces 10. improvement: the Push tool now works slightly faster 11. improvement: the Push tool can now slide point with Ctrl+MMB 12. improvement: the mouse and keyboard shortcuts of the Push tool have been completely redone 13. improvement: if nothing is selected, the Hose tool searches for all the curves in the current geometry 14. improvement: a Group parm added to the Hose Tool. Can be used in conjunction with a result of the Duplicate tool 15. improvement: Hose now creates straight edges tube if the Resample Curve set to zero value 16. improvement: Geometry Library renamed to KitBash and works only as the python panel 17. improvement: KitBash replace feature now doesn't update the item icon 18. improvement: Tools Panel now has a new category KitBash with tools for working with the library items. Now you can create, save, overwrite and update icons faster, without actually working in the KitBash panel 19. improvement: volatile edge sliding now does not require explicit movement of the mouse pointer to the edges 20. improvement: volatile edge sliding now can be used to slide points and faces 21. improvement: Fix Overlaps can now use face groups 22. improvement: Duplicate applied to edges now creates a curve in the current geometry object 23. improvement: the Resymmetry tool now works slightly better. The Tollerance parameter is no longer saved between nodes (). This allows you to not change the position of the seam points. 24. improvement: mouse wheel manipulation in various tools has been improved 25. improvement: new simple box type has been added to the QPrimitive HDA 26. improvement: Tools Panel now has a more logical structure for faster access to popular tools 27. improvement: the Modeler shelf was fully revisited 28. improvement: the Walk History Up and Walk History Down tools (Up and Down hotkeys) now work more interactively when traveling through nodes with more than one input or output. 29. improvement: the Select By Shells tools was replaced with a new Convert To Shells tool (Ctrl+1) 30. improvement: double-clicking with LMB in the viewport is completely revisited. Now you can jump to objects level by double-clicking LMB in an empty space. Clicking on a geometry allows you to quickly switch between objects. If you are in a certain state, double-clicking activates the selection mode. All these improvements speed up the modeling process. 31. improvement: the deformation tools (Size, Ramp, View) now have the fixed blend feature. The transition between the deformable points and the undeformable part looks more correct. 32. fix: Hose now orients rings copies correctly 33. fix: Slice, Mirror and Cut tools now set correct geometry center on tool activation 34. fix: JumpUp and JumpDown tools does not work when Compass is active 35. fix: QLight now works properly if you run it from the orthographic viewport 36. fix: sometimes camera movement with Alt did not work after a mouse click 37. Lots of tools have changed hotkeys. Look at Tools Panel for more details. 38. Python code has been revisited 39. Documentation has become more detailed 40. Overall speed improvement 41. Other improvements Works only in Houdini 18. Use build >= 18.0.346
  5. Hi, Im new to python, Im trying to use vscode as external editor but it really sucks at being intuitive for a beginner... 1) Im trying to add the hou.module so I can see the functions but It doesnt show the functions: my settings.json looks like this: { "python.pythonPath": "C:\\PROGRA~1\\SIDEEF~1\\HOUDIN~1.287\\python27\\python.exe", "python.linting.pylintEnabled": false, "python.linting.enabled": true, "python.linting.flake8Enabled": true, "[python]":{}, "python.jediEnabled": false, "python.autoComplete.extraPaths": [ "C:\\Program Files\\Side Effects Software\\Houdini 18.0.287\\houdini\\python2.7libs\\Hou.pyc" ], } (I tried without the [] brackets too) 2) Also when I edit a .py Code tells me: Linter flake8 is not installed. And when I click Install is says: There is no Pip installer available in the selected environment. Can someone help? Im using: Windows 10 Houdini 18 VS Code v 1.41.1 Python v 2.7.15 64-bit
  6. Hey guys, I am currently stuck with a tool I am writing. I have a json file that contains data from Clarisse and I wrote a shelf tool that re-creates Clarisse's scatter in Houdini. I went the path of creating an Add SOP with the python script with all the points from Clarisse and their position data, a few Attribute Create SOPs, CopyToPoints SOP and the asset file. Now I need to add my orient attribute to the points based on the XYZ rotation that is saved in the json. The problem I encounter is that I actually cannot add point attributes via the shelf tool python script, right? I tried to find a solution to this but as far as I understand, as long as I am not working from a Python SOP or the shell I can only call the geometry() object as read only or freeze() it but then I cannot write the attributes back onto the points(?) Is there something I misunderstand or another workflow I am missing? If one you has an idea or solution or other comment, I appreciate it Thank you! Dziga
  7. I want to print all the bgeo.sc used in the scene.Using Python. hou.fileReferences() doesn`t give me any bgeo.sc used in the scene. I am looking for a way. Can someone guide me?? Thanks Hiro
  8. Hi all, I've looked for an answer on the forum but couldn't find exactly what I am looking for, I'm sure this is super basic question (I'm learning python right now). how can I reach point that are within different groups ? I want to do simple math operations for different groups of points, so the idea is that once I have access to points within a group I'll do something like MyAttrib = [p.attribValue("MyAttrib") for p in points] to do some statistics of MyAttrib Thanks Alex
  9. How do you load a new instance of houdini from current scene's shelf tool? hou.hipFile.load(path) loads to current scene.
  10. Matcaps selector

    Hi, In my path of learn python I did this simple tool which creates a HDA to select and assing a matcap to one object. Basically opens a folder selector interface and creates a matcap material (from game dev tools) . The material is assigned to the selected objects and generates an slider where you can choose one of the textures stored in the folder. The max value of the slider is adjusted relative to the number of textures existing in the folder. It's pretty simple tool but I struggled a bit how to approach the best solution and how to store global variables and retrieve it from other part of the code. I don't know if this is the best way to do this, probably there are other solutions more direct and clever, but it has been a good learning exercice. Would be nice if you can test it and give me any advice. The download link is in the description of the youtube video. Thanks, O.
  11. Python setHSV

    Hello I`m stuck with setting correct color to nodes. I would like to set value with HSV. I want to do slight automatic gradient when I creating nodes in network box this one work in RGB: my_list = [nullA, nullB, nullC, nullD] loop = 0 nodePos = -1 for node in my_list: node.setColor(hou.Color(0.3, 0.5 * loop, 0.8)) node.setPosition(hou.Vector2(0, loop * nodePos)) loop += 1 but cant find the way how to set values with HSV, from doc should be something like this: my_list = [nullA, nullB, nullC, nullD] loop = 0 nodePos = -1 for node in my_list: node.setColor(hou.Color().setHSV(50, 0.5 * loop, 0.8)) node.setPosition(hou.Vector2(0, loop * nodePos)) loop += 1 Thanks for help, Jan
  12. Hi everyone, Does anybody know how I can set an HDA's parameters with an external Text or Python File? For example how would I change the sizex and sizey parameters of a Grid SOP in the HDA. Thank you, I appreciate any help! - Von Doom
  13. Python Tic Tac Toe Game

    In the process of explore new ways to use python in Houdini I decided to do the Tic Tac Toe game. It's a classic when one wants to learn how to program a game and I had a good time trying. I surprise how houdini is open enough to do silly things like this and how it is becoming my favorite tool ever. In the way of typing clean and short code, I struggled with a simple but as efective AI I could. ( it's a simple test of machine wins in the next move if not, test if player wins at the next move if not, makes a random move). Actually is a very boring game, as said in the 80's movie of "War Games", because nobody wins eventually. I tryed and I just barely won two or three games in a row. Please, let me know how many game you won in a row ( score points). HIP file in youtube video description. Thanks for testing it !! Oscar
  14. Hi, I am specialized in Houdini FX, Simulations (flip, pyro, RBD Bullet), VEX and Python scripting also a good experience in lighting and compositing. Currently based in Shenzhen, China. you can checkout my vimeo for my work and contact me on LinkedIn. Available for freelance/full-time Houdini FX work and Houdini pipeline development. Thanks, Mahesh MS. vimeo: https://vimeo.com/maxcolor/ LinkedIn: https://www.linkedin.com/in/maxcolor/ email: msmahesh@live.com
  15. resizable pyside widget

    hi, i need some help with resizable widgets. it seems the window wont redraw the window canvas. i tried to resize the window with a event(second picture), but nothing worked. the .ui comes from QtDesigner. do i have to set some flags? is it possible at all? i appreciate your help, thx. nic.
  16. python folder creating

    Hi, I'm trying to make folder structure from python... there is a renaming problem I'm facing... How do we can make "vnc_001.......vnc_015", please check the image attached, I strongly required only 3 numbers at the end...
  17. I just did a Python script to create a sphere only with nulls. Actually can be done any shape you want. Here the video with the HIP file included: I know, it's a completely useless and silly project, but was fun to do. Any comment will be welcomed, Oscar
  18. Hi, Can a Shelf Tab set visible for the current Desktop in Python ? THX!
  19. Hello, i think this will be simple for someone more experienced. i have two vector primitive attributes and i want to write them in a text file so-------> v1.x, v1.y v1.z, n1.x, n1.y ,n1.z , v2.x, v2.y v2.z, ....etc for each primitive this is how far i am now ############# READ ATTRIBUTES ###################### for prim in geo.prims() : pos = hou.Vector3(prim.attribValue('pos')) dir = hou.Vector3(prim.attribValue('dir')) data = str(pos) + "," + str(dir) ############# WRITE TO TEXT FILE ###################### myfile = '$HIP/lattice.txt' with open(myfile, 'w') as f: for item in data: f.write("%s\n" % item) spits out this nonsense, splits every character to a new line [ - 1 7 5 2 , - 1 1 9 . 0 3 , 1 4 6 4 ] , [ 0 , 3 0 . 9 0 1 4 , 0 ]
  20. Hello folks, so, i have a bunch of houdini file with a top node at OBJ level, all file have the same structure and are in the same folder I would like to cook the TOP node from external, Python or another TOP graph. I tried in a background script to access with hou.node('/obj/topnet').parm('cookbutton').pressButton(), but it seems that doesn't cook anything Any idea ? Thanks in advance
  21. Is there a way to get a list of the most recently opened HIP files in Python? I am trying to set up my home Houdini install to auto-open the most recent file when I start it fresh...
  22. I'm trying to create and customize a node through a python script. I'm adding parms using the hou.parmTemplate() class and for one of the parameters I need to edit the Channel tab (see below). I can't seem to find anything in the python documentation on how to do this; anybody know what the best solution would be? Thanks!
  23. Hey guys, I was wondering if anyone new of a simple way to run a function when I select a different node? I've currently got a little UI with pyQt and I've gotten to it to update using the ChildSelectionChanged node callbackEvent but that is only for specific networks. The only thing I can come up with is I have the script check for new sub networks everytime it runs and creates new callbacks for them. Surely there is a more efficient less dirty way to do this? Doing it the dirty way this is what i'm using when running the script, updating it per change on selection and when calling the close event: Only works with networks one down from obj but I imagine if I made this find all sub children it will have a performance impact? def callBacks(self, enable): nodes = hou.node('/obj/').children() for node in nodes: if enable: if len(node.eventCallbacks()) == 0: node.addEventCallback((hou.nodeEventType.ChildSelectionChanged,), self.updateUI) else: node.removeAllEventCallbacks()
  24. Hi. After we install a HDA like this hou.hda.installFile('hda_path.hda') how is it possible to get the hda's operator name, so we can "create" it? The installFile function does not return anything... hou.node("/obj").createNode("???")
  25. get list of materials

    Help I have a model with several materials in shop_materialpath. I want to get a list of each material (I will use this information to create groups later). I made the following code, and it works !. My question is if I did it right? Because with objects of many polygons, it is extremely slow. import hou root = hou.selectedNodes()[0] geo = root.geometry() path_a = [] path_b = [] for prim in geo.prims(): shop = prim.attribValue('shop_materialpath') path_a.append(shop) if shop not in path_b: path_b.append(shop) print path_b