Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


Aizatulin last won the day on April 16

Aizatulin had the most liked content!

Community Reputation

77 Excellent

1 Follower

About Aizatulin

  • Rank

Personal Information

  • Name

Recent Profile Visitors

955 profile views
  1. How to create Nurbs surface from curve

    Hi, you can use birail, here is a modification of my birail example. You can use half circles as cross section (quite similar to sweep, the only difference is, that you have two guide curves instead of one). It is not necessarily nurbs (it can be poly aswell). test nurbs_birail.hipnc
  2. Creating concentric rings with nested for each loops

    Sure , if you want to avoid the foreach (and fuse), you can also use a single detail wrangle (using VEX), but the results are the same. Advantage of VEX: it is much easier to add custom functions, which can do specific stuff, which is harder to achieve with inbuild nodes. But this is of course my personal biased opinion. hexa_growthA.hipnc
  3. Creating concentric rings with nested for each loops

    Hi, here are some ideas: start with a single point (id = 0) give each new point an id based on iteration (in the loop) add 6 new points for each old point, which are on a circle with equal distance etc... -> problem: there are more points than needed fuse seems to work (smaller ids seems to dominate with least target point) hexa_growth.hipnc
  4. want convet string attribute into array attribute

    Hi, if you have a string "s" you use len(s) to get its length and s to get access for a single char. string_to_array.hipnc
  5. Hi, you can define an array, which contains all number you want generate. Now fit a 0-1 random float value to (0,len(array)) and use the truncated value as index for the array. random_array.hipnc
  6. Hi, you can capture every curve independently for example and store all attributes into arrays, but I'm not sure, if this working well. I've substituted the nearpoint values of your example by the xyzdist() values, because it can use the primgroup restriction directly. All attributes are used as arrays in a for loop. wavelike_deformA.hipnc
  7. vex precision problem

    Usually these are effects of numerical inaccuracy. Even if your input value is 0.087, the calculated value can be slightly greater or less, and the floating representation for 0.087 is not exactly 0.087. In your case, the difference seems ok. It is around 1e-8, which is near the the float machine epsilon. Check my example, there is a similar effect. clip_0087.hipnc
  8. vex precision problem

    Hi, If you turn on full precision in spreadsheet, you can see the distance is slightly greater than 0.087, but if you add a small value on your threshold it should work (something like 1e-6).
  9. Nonlinear texture stretching

    Hi, probably there are simpler ways, but here are some ideas: split your points using the uv coordinates convert uv to points (@P) isolate red color (delete rest) -> each square should be connected component calculate centroids for each connected component (here it is better to work on flat geometry (uv-space)) use nearpoint to get every point closest cluster center (from all points) set scale dependent float attribute (average distance to neighbour for example) rescale by this attribute towards center uv_scale_test.hipnc
  10. Hi, just if interested, you can also capture the geometry along a curve an perform rotations using the captured attributes (like distance to curve and curve u). The results are smilar to the previous examples. Here is a file. curve_wave.hipnc
  11. Select inner edges for pipe generation

    Hi, if interested here is an approach from my side. Here are some ideas: define id sets for each prims (ideally each id represents one pipe), there can can be multiple ids [array] for each prim (if you want crossings) to make it easier, every id (pipe) value can represented by one int array containing the prims (dummy points can be used as storage) now these prims should be sorted by neighbour connectivity (to construct poly splines) once the prims are sorted, you can connect the prims centers (for example) and the the mid edge points for the inbetween neighbour edges now with the spline you can group the point, which are around 90° polybevel the grouped points I'm not sure if this is working in every case, but each step should be substitutable. prims_to_splinesB.hipnc Edit: here is another modification. (adding offset(push) by prim average normals and another example using a prim selection) prims_to_splinesD.hipnc
  12. Hi, not sure if this can help you, but have you tried to convert your uvs to point positions ? Perform your operation for points (which represents uvs) and convert them back to their former positions. While your uvs are in the point space, you can apply usual point operators on it. It works a bit different, for example for fuse you should turn off "fuse snapped points", because you want to keep all points existing points. Haven't done alot with this, but here is an example file if interested. uv_to_pt_example.hipnc
  13. Deleting Points from a Primitive Wrangle

    Hi, I would go with two steps: get the number of points to be deleted for each prim (already done) use this number to calculate a random selection of points for each prim (the selection can be obtained using the primpoints() function to get all points from each prim) random_selection.hipnc
  14. Sweep roll curve in Houdini 18.0.391

    Another problem is, that mirror is destroying the smoothness, but you can also set a custom roll attribute to keep the smoothness at the end. "Extrapolate End Tangents" is also available in the sweep node, but it seems that they are using "orientalongcurve" internally. SweepCurve_.hipnc
  15. Need help using PathDeform in a For Loop

    Hi, one way might be getting the the u-coordinates of each intersection. With these u-values you can calculate the offsets. Here is an example. stairRailing_.hipnc