Jump to content


  • Content count

  • Donations

    30.00 CAD 
  • Joined

  • Last visited

  • Days Won


ikoon last won the day on February 9

ikoon had the most liked content!

Community Reputation

147 Excellent


About ikoon

  • Rank

Contact Methods

  • Website URL

Personal Information

  • Name
    Jiri Miratsky
  • Location
    Czech Republic

Recent Profile Visitors

2,591 profile views
  1. Hi, Atom did great python tool for similar thing here and here: https://forums.odforce.net/topic/32900-mtl-to-redshift-material/ https://forums.odforce.net/topic/23514-mtl-file-reader/ You could edit it for your needs.
  2. Parameter values using VEX function

    Hi! You could reference a wrangle node with this expression: detail("../detail_wrangle","scattercount",0) Attached is the complete solution. scatter.hiplc
  3. Hi, it is described here, below I just copypaste the table: http://www.sidefx.com/docs/houdini/vex/snippets.html Also you can bind arrays by appending [], as in i[]@connected_pts = neighbours(0, @ptnum); ---------------------------------------------------- float f@name vector2 (2 floats) u@name vector (3 floats) v@name vector4 (4 floats) p@name int i@name matrix2 (2×2 floats) 2@name matrix3 (3×3 floats) 3@name matrix (4×4 floats) 4@name string s@name
  4. wrangle nodes pragma?

    I hope it may help you. The initial idea is from here, Matt Estela. I tried to make the python scripts as clean as possible, but I have to say I am python beginner. So let me know if you get any errors, I will try to fix them asap. It would be really easy for SESI to implement something like this, but maybe the biggest problem is to agree on the markup system, on the conventions and rules.
  5. Fluid question: Gas compression

    Hi Jean-Francois, please did you find any solution?
  6. wrangle nodes pragma?

    Hi @bunker first I want to thank you very much, you give precious info on the forum and you helped me many times! As regards this thread. Did you find any solution? I scripted this for myself: http://lex.ikoon.cz/vex-ui-markup/ On the bottom of that page, there are some examples. Here is another one:
  7. Do you mean this? "Tie" from the menu, or the Lock icon?
  8. VEX SIMD vs. Remove coincident primitives

    @MrScienceOfficer @pusat Thank you very much for your answers. I think I understand it now, we have to do the duplicity removal in two wrangles. One Primitive Wrangle to create the list of duplicities, and second wrangle to act on the complete list (collected from all the first wrangle's threads and primitive subsets). As regards the Entagma code, it can create duplicate connectors indeed. In one (sub)frame, if the random condition is met from point A to B and also from B to A. Even if we set and check the @processed attrib. Which is allright, I just had to grasp it. Thank you very very much for your help!
  9. OFFF London title's particle

    This might help you, similar effect is described here: https://mp.weixin.qq.com/s/aL72NA03SGn4jCs27f_lgA? Atom did a google translate here:
  10. This thread is also about the order of execution (setattrib, remove geo, add geo) and comparing if(@processed==0) of un-initialized @processed attribute. I was trying to script "remove coincident primitives" (or at least group them) in a single wrangle and I realized that I don't understand some invisible details of VEX execution. Is it possible to run VEX over big number of primitives, compare each primitive to each primitive, remove duplicates, and also set "@processed=1" attribute and speed the execution by skipping processed primitives? Below is an example from Entagma tutorial, https://vimeo.com/227701595, by Manuel Casasola Merkle. But if I understand it right, over big number of points, he may get multiple "same" results? Which in this case is ok, but in my case of "remove coincident primitives" it is a problem which cannot be "tricked" in one primitive wrangle? Please, if you understand my "SIMD and execution order" confusion, could you direct me? (fast non-vex way to remove coincident overlaps is PolyDoctor SOP) float rval = rand(@ptnum*@Time*1245687); if (rval < 0.01 && @Time > 2.0){ int nearpnts[] = nearpoints(0, @P, 1); foreach(int pnt; nearpnts){ int tarmyprim = point(0, "index", pnt); int tarprocessed = point(0, "processed", pnt); int taringroupends = inpointgroup(0, "ends", pnt); if(tarmyprim != @index && i@processed == 0 && @group_ends == 0 && tarprocessed == 0 && taringroupends == 0){ int nprim = addprim(0, "polyline"); addvertex(0, nprim, @ptnum); addvertex(0, nprim, pnt); vector tarpos = point(0, "P", pnt); float length = length(@P-tarpos); setprimattrib(0, "restlength", nprim, length, "set"); i@processed = 1; setpointattrib(0, "processed", pnt, 1, "set"); setprimgroup(0, "connectors", nprim, 1, "set"); //break; } } }
  11. I assume that you mind, that in the upper region, there are more points scattered. That is because of the "coincident" shortest paths (primitives) being in the exact same position. I don't know the algorithm of Relaxation of Scatter SOP node, but it seems that it doesn't take into account coincident positions on different primitives. I tried to remove coincident primitives. I followed the link by tamte ("Anim" here on odforce) and added Convertline SOP, Fuse SOP, PolyDoctor SOP and I attach a proposal of solution. https://www.sidefx.com/forum/topic/54451/?page=1#post-244403 missing_prims_pathfinder - v1.hiplc
  12. You can use the Stash SOP to embed the geometry into .hip http://www.sidefx.com/docs/houdini/nodes/sop/stash.html
  13. Try Except in VEX alike in Python?

    Hi, you could add the missing definitions of set() and include them? But that is probably not what you want. Edit: I have tried one of the missing definitions: float[] set (vector2 input) { return array(input[0],input[1]); }
  14. display message in sceneview

    Please, how could I print a message to the sceneview? As in the picture below. So far I solved it with the hou.ui.setStatusMessage() (which doesn't work if cursor is over the network pane (I did RFE it now)).