[WIP] Sverchok, parametric nodes for architects

how can i get approximate start and end point of “Fillet Polyline” (curve) ?
thank you very much :slight_smile:

answer myself :slight_smile:
i use Fillet Polyline with ‘Concatenate + Even domains’ .
for Evaluate Curve use samples size = 30 then split to 3 list.


Do you know if it is possible to control the incrementation of a range of numbers through a given period of frames ?

Let’s say from 1 to 10, I would like to press spacebar in Blender so that I can output 1 to 10, this incrementation happening on a given number of frames (and not for 1 single frame…)

  • Frame info is essential here of course, maybe the Timer node too ?
  • The Mix Number gives us curves to pilot the incrementation, this would add an interesting control for this kind of feature :kissing:

Thanks for the help guys

i’m struggling to decipher what you mean, can you be more precise?

" i want the following outputs in this frame range"

frame 1:     <fill in>
frame 2:     <fill in>
frame 3:     <fill in>
frame 10:    <fill in>


Thanks for taking the time to follow up on my post :slight_smile:

My apologies, I kind of expected that my post could not be clear enough, this is the first time I ask anything about Sverchok, the way I presented this was not suitable.

Following your answer, when a given event trigger my switch node to “True”, let’s say at frame 30, the idea would be to increment a value like this :

frame 30: 1
frame 31: 2
frame 32: 3
frame 33: 4
frame 34: 5
frame 35: 6
frame 36: 7
frame 37: 8
frame 38: 9
frame 39: 7
frame 40: 10

Then, be able to turn on the switch node to False, and holding the Frame 40’ value until the switch turns to “True” again. This is the basic idea.

It would finally be nice to add two more features to this

  • being able to increment and decrement too, and
  • add control on the way the incrementation works
    ** A linear incrementation would be 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
    ** An exponential one would be something like 1, 1, 1, 2, 2, 3, 5, 8, 10, 10

The final result being that the Frame Info node could be used to trigger many animation that would expand on more than one frame, with some controls on it.
I’m doing my best to be understood, I hope this is better now.
Thanks again !

Probably something like this is what you are looking for. I think the same is possible without Timer nodes too.

untitled.blend (2.7 MB)

1 Like

As best I can tell, this:

mirrors this:

with the exception of the “empty vertices list”

May or may not matter - done with latest 3.0a download.

Voronoi_Mesh_test.json (9.9 KB)


The only issue with implementing a dedicated L-system node is that it then becomes relatively “locked” in its capability - regarding style / parsing algorithm. If we find a nice template for an L-system implementation (with a satisfying syntax, and array of input and output data) then we should totally do it. Implementation might benefit being numpy or numba. I expect numba will satisfy our needs.

I’ll have a play with your script and add another comment. Here is also an older 3d L-system i made a long time ago. (not snlite… i will convert it soon: https://github.com/zeffii/BlenderLSystem3D/tree/master/sverchok_script_node_version )


Hello, I’m trying to follow the example here (http://nikitron.cc.ua/sverch/html/nodes/spatial/concave_hull.html), but getting a couple of problems. Firstly, I cannot find out how to get the Random Points on Surface node, I installed all extra nodes that were possible, but some like Open3D were not possible to install. Used latest Sverchock and Blender 2.93.

I used Populate Mesh instead to try to distribute points on the mesh, but I’m getting this error now: https://i.imgur.com/SvAeeSQ.png

" [ERROR] sverchok.utils.alpha_shape:80 : too many indices for array: array is 1-dimensional, but 2 were indexed"

Can someone help push me in the right direction towards a solution?

EDIT - this was caused by having an Alpha value too low, the scale of the imported object was very large. Thanks to user portnov on github

1 Like

Hello ,

I am new to Blender and have been using Rhino Grasshopper before so I’m trying to understand Sverchok from that logic.

Are there any tutorials about how List structures work in SV? Especially about the Levels managing. Does it work in a similar logic as in Grasshopper?
For example are there any nodes for Graft and Flatten list?
Actually it would be great if it was a special topic/ group about Sverchok for Grasshopper users like a Dictionary of terms to describe similar nodes

Hi again !

Could someone help me with a simple exercise i am doing to understand ?
I would like to extrude the edges along the vertex normals of the initial circles, so they should go outside of the circle. Couldn`t get the way to do it? Should i use Matrix normal? How do i multiply (scale) the normals to get the extrusion distance?

See his channel


1 Like

this is one way to do that

maybe I should elaborate on what you missed in your attempt.

  1. To get the Normal of an Edge requires more information, or an assumption must be made.
    • usually in a connected mesh (for instance, a Cube) which has verts+edges+faces each edge will be connected to (at most) 2 faces. This edge will then get a normal that is the average of the normals of the connected faces.
    • if the edge is part of one face, then there’s a good argument to make that it could be useful to take the normal of the attached face as the normal of this edge.
    • if you have an edge which is not connected to any faces then it’s normal can be derived purely from a relationship between the two positions of the vertices that make up the edge, essentially taking the perpendicular of the edge. But this scenario will not have enough information to always produce a useful normal.

This last point would be your scenario. But i suggest approaching it with fewer nodes, as above.


Thanks for the reply!
Yeah my situation is the third one, if i can get the normal of an edge which connects two vertices. In my case the edges could be tilted and then i would like to get the normal which is a perpendicular to these edges. Do you know how can i achieve this? How can i use the Normal nodes? I mean is not just getting the World Z vector.
Nevertheless, its interesting in your structure, how and why does it make the first Lines as if they were normals to the Circle vertices when you feed the Direction and Origin from the same Vertices?

1 Like

The edge case of the perpendicular approach, is that it becomes “peculiar” when 2 components of each vertex are identical - essentially if you have two Vertices that only differ in the Z dimension. In your second example you do not have this problem because the vertices don’t share XY or Z. (lots of information to establish a perpendicular)

The trick to using the Circle verts for origin and direction of the Lines is that the coordinates on the circle are also places on the unit-circle, they correspond to the normal. It’s a specific case.

I don’t recall there being an all purpose “perpendicular” mode for the analyzer, tho it would be uncomplicated to make. In the meantime a nodebased solution :slight_smile:


for simple extrude edge along curve . i like “Bevel a Curve” + Line :grinning_face_with_smiling_eyes:
and can extrude any profile with this node.

1 Like

Thanks it worked that way!
Now i have some other questions :slight_smile:
I tried apply similar effect on a two Nurbs curves from a collection.
First i notice that the curves are already subdivided and i cannot decrease de subdivision. What is the way to subdivide a nurbs curve into specific vertices?
Then, it looks like the node does not update the location of the curves, i think it took the location from one of my first iteration. Is there a way to recompute or refresh with the new global coordinates of the curves?
Even if I update the Curve Input node, it only updates their shape but not their position as objects.


I found a way to divide a nurbs curve using Frames but at some point the coordinates seem to flip and the curves go opposite.
Is there a way to access the global coordinates or flip them so they are in the same direction?


I consider Sverchok, somewhat the big brother to Geometry Nodes. Much can be done with Geometry Nodes, but, currently so much more can be done with Sverchok.

I learn a lot here. It’s like learning a new language, not just learning how to use it, but, to make the most of it.

It’ll sink in when I find myself doing more intuitively rather than from what others have done.

Erindale is well versed in Sverchok, nodes in general, as well as Geometry Nodes. And he has a great tutorial out now on both nodes in general as well as a comprehensive view of his Toolkit.

Sverchok at it’s best, doesn’t push you in any given direction. It simply provides the means to get there and leaves the rest up to you.

Thank you to all who have a hand in developing Sverchok and those who help the rest of us understand it and use it to best, if not fullest potential.

Much appreciated.


Also you can check Jimmy Gunawan channel. It’s full of Sverchok examples, from simple to complicated.