Any idea of how to create this pattern with point attractors?

Thanks for any help as always guys… if anyone knows how to recreate the image below that would be great. Ignore how messy the script is as I am still a beginner and I’m trying to use parakeet3D to help create this specific pattern in the screenshot below. Any suggestions, guides, or scripts would be greatly appreciated.


One of the many solution to thicken a curve network is to do that

In order to add attractor, you must add attractor depending on the center of the cell (polygon) and plug to F a double ranging from ]0-1[
add width.gh (7.3 KB)

1 Like

Hello Laurent,

Thanks for the fast response. I was able to add in the a single attractor(still trying to add double attractor with graphs), and this may seem like a extremely beginner question, but any idea of how I would make this to a surface with bounds? Kind of struggling there, because when I use MapToSrf and Im pulling the curves directly from the grid, issues occur…


Well for that type of pattern the C# provited in the other thread of yours (+ some lines more) can cut the mustard.

Shown results (push/pull + 2 attractors) using the 2 test BrepFaces (example N3):


1 Like

I’m interested in trying to understand your C# script as I am a beginner, is it possible that you could explain what some of the components actually do in the script because I’ll be honest, I was lost for the most part

I’ll provide some hints on the C# related with your previous thread in the other code related sub-forum. So let’s stick to the pattern part. Get the modified C# (use the very same test geometry or some other). Note: if there’s no attractor points the thing makes a steady pattern (disable the test points and see what happens).

SurfaceOrBrepFace_Divide_IntoMesh_AndDoSomePattern_V1.gh (132.0 KB)

A pattern is just a collection of things (meshes for speed in this case). For any pattern you need just a piece of paper a pensil and some elementary C# loops. So for a given (shown a quad) mesh Face your stuff has as follows :

Now the above works on the assumption that the d (from dList) is taken on a per FaceCenter basis (makes more sence than computing it on a per Topology Vertex basis). So the important part works as follows :

Since the pattern is just a decorative thingy using real values (for the variable mesh face sizes) has no meaning … so Point3d pt = line.PointAt(t) is used instead. T is between 0 and 1 so remap is using 0.1 to 0.9 values (better safe than sorry).

The 1M question is: why use C# instead of components? Well … as I said in the other thread if you want to do something realistic using the random elimination (meaning in fact Matrix islands type of stuff) … you’ll need a variety of things none of them is achievable via components.

1 Like