Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Everything posted by ikoon

  1. fetchdata DOP

    Please give us the answer, too.
  2. Two state constraint

    Paul thank you very very much! Yes I will stick to this custom solver solution. I am still learning these constraints, this geo solver is most future proof probably. For others, I will post nice examples of constraints solvers, which I watched in past few days, when I was learning: https://vimeo.com/151731303 http://forums.odforce.net/topic/20640-bullet-dynamic-constraint-creation/?do=findComment&comment=140668 http://forums.odforce.net/topic/20691-realistic-dynamic-fracturing-with-bullet/?do=findComment&comment=124444
  3. Two state constraint

    Hi Stan, please, did you manage to make it work? The "Two State" dop seems useful. Or anybody else might help, please?
  4. After a year, I have another project to which I can share the source files. (link to the previous one) It is nothing revolutionary or special, it was partially done in After Effects, but I hope that it might be helpful and inspirational for somebody. Video from the 270° presentation: https://vimeo.com/246338905 Source .hiplc files: http://bit.ly/2BO4Rj3 Everything I can do in Houdini is based on the help and knowledge shared by the community. I can do it thanks to you guys! Thank you very much. Thanks goes to great guys from http://www.xlab.cz, I did it for them! Preview:
  5. Microsolver gasBlendDensity usage

    Thank you very much @Atom ! I really appreciate, I walked also through your tutorial. Thanks a lot!
  6. Microsolver gasBlendDensity usage

    As a part of my DOPs learning, I have tried to make a working example. I attach my working solution with a disclaimer, that I am not sure if I do it right. If anybody knows, and has time, please check my file for mistakes or bad practices. It is just few nodes. gas_diffuse_blend_example - v1.hiplc
  7. Houdini 17 Wishlist

    In the Network Editor ... please give us option to "Don't edit name of the node by simple LMB onto its label". Does it happen to you too? Accidentally editing the name? To me, too often I would like to start LMB click/drag even on the label.
  8. My experiments, with source files

    It's been a year since I wrote the last note here. But I am still maintaining my little blog and trying to publish little tools and snippets. It is not well documented, excuse me. But I hope that it may help some of you, or serve as inspiration: http://lab.ikoon.cz/
  9. Hello, I am putting my experiments and RnD here: http://lab.ikoon.cz/ Maybe you will find some inspiration there. Source files and URLs are included.
  10. tldr: I cannot work with this type of data <hou.NodeTypeCategory for Chop> please could you post an example of the if statement? I have to check, if the Network Editor is currently inside Sop, or inside Chopnet etc. My skills are not enough to make the if statement right. I tried to search, but everything failed. So this is really wrong, just for example: current_type = node.childTypeCategory() compare_type = "<hou.NodeTypeCategory for Chop>" if current_type == compare_type: print "I am inside Chopnet" I made this working workaround, but if anybody has time, please could you fix the above statement? current_label = node.childTypeCategory().label() compare_label = "Motion FX" if current_label == compare_label: print "I am inside Chopnet"
  11. Oh! That's how it is, now I see it clear. F1 you are my savior, thank you very very much. You really help me advance, thank you!!! Btw do you have a patreon?
  12. I am not sure if I understand. You were doing it right, 0.1 was just too big number. If you want a procedural number to delete by ... for example average between the minimal (nonzero) area and the maximal area, you may do this. Btw I am used to brace { } the the multiline if statement. Edit: I had it running on points in the original reply. Modeling_03_Projection_upl-2.hipnc
  13. I did not dig deep into it, but it seems to work, if you set the condition to suit just some of the primitives. See also the picture and Geometry Spreadsheet. if(@area < 7.65361e-05) removeprim(geoself(), @primnum, 1);
  14. Thank you very much everybody again for helping me get into the python! BIG BIG THANKS! edit: sorry for the double post, the solution is on the previous page or here http://lab.ikoon.cz/index.php/2018/02/02/network-editor-unflag-to-the-last-flagged-node/
  15. Please, I would like to add few hotkeys to speed up my workflow. For example, is it possible to add these? - Set the Render flag (actually it is not possible to set the flag with mouse hovering over the Parameters pane or over the Scene Viewport pane) - Toggle Display Points in the viewport Should I write any custom Python tool and then set hotkey to it? Is there any log of recently executed actions by the user, which will help me to replicate those actions in my script? I am Python newbie so please excuse my noob questions.
  16. I have customized the "unflagging", scripted my own. The script is here. Network Editor now remembers the previously flagged node and unflags to it:
  17. I have scripted the Network Editor's "layout all and respect pinned nodes' positions", it is nice to tidy up more branches or single nodes (cameras, lights, ropnets, SOP or /obj level). I am python beginner but it works for me, so far. http://lab.ikoon.cz/index.php/2018/02/01/network-editor-layout-1/ If you like the idea, Michael Goldfarb filed two RFEs (thanks again), you may refer to them: RFE – #87728 – pin nodes RFE – #87729 – link node positions
  18. I like the new "Layout All" system, hotkey L. Inside the SOP it behaves logically, 99% times I can rely on automatic layout. Now I am trying to make system in organizing my /obj level. I am almost satisfied, but it behaves inconsistent: - when working with the file: children with "newer wire" jump to the right - after save quit reopen: other sort logic is used, probably node "Created" date and time? Does anybody know, how this system works, please? Probably SESI could unify it? Could I write small python script and hack/set "Created" time alphabetically?
  19. Ooh I see! Thank you very very much. I will stick to your vex solution and practice that. edit: BTW my initial solution contains unnecessary scalemat, your scale() function is much better, thank you.
  20. As in the picture below, I have partially succeeded ( R * S * R-1 ) . But I would really like to scale in arbitrary vector's direction, probably with "pivot rotation"? I did not succeed to make pr work: http://www.sidefx.com/docs/houdini/vex/functions/maketransform.html My solution so far, also attached in the hip file: matrix pft = primintrinsic(0,"packedfulltransform",@primnum); matrix3 transform = primintrinsic(0, "transform", @primnum); // reset rotation vector rotate = cracktransform(0, 0, 1 , {0,0,0}, pft); matrix rotatemat = maketransform(0, 0, {0,0,0}, rotate, {1,1,1}, @P); rotatemat = invert(rotatemat); transform *= matrix3(rotatemat); // scale vector scale = {0.1,0.1,2}; // non uniform scale matrix scalemat = maketransform(0, 0, {0,0,0}, {0,0,0}, scale, @P); transform *= matrix3(scalemat); // restore rotation rotatemat = invert(rotatemat); transform *= matrix3(rotatemat); setprimintrinsic(0, "transform", @primnum, transform); xyz - v03 - odforce.hiplc
  21. Thank you very much F1! This works great. I just thought, that the "pivot rotatation (pr)" argument of maketransform() can solve this without RSR-1. I thought, that pr rotates the pivot, so the scale is then oriented. But pr is maybe just a position of the rotation centre? It is not described in the documentation.
  22. Thank you very very much Alexey! Tons of future errors are wiped out Btw I have two Network Editors and this works nicely: parm_pane = hou.ui.curDesktop().paneTabOfType(hou.paneTabType.Parm) node = parm_pane.currentNode()
  23. Please, if you select node(s) and then click anywhere in the empty area of Network Editor, nodes are deselected, and last selected node gets pink outline. Can I get this pink node's path in the Python? The pink node is not listed in the selectedNodes() but it is still the actual node in the Parameters pane.
  24. Closest point to line

    Hi Alexey, I am no master at optimization, but you may divide it into more steps: - point wrangle to store @distance (so it uses all the cpu cores) - sort by attribute (compilable, so maybe it can use all the cores?)
  25. Closest point to line

    Hi Alexey, maybe this? https://www.sidefx.com/docs/houdini/vex/functions/ptlined.html