Hello, I’ll drown right away, I’m a beginner, I ran into the problem of object rotation, I want to achieve the location of objects “in a whirlpool”, that is, objects rotate along a given path from the edges to the center problem.gh (12.4 KB)

Please help, no more ideas.
Or mabye does anyone have a guide on how to do this?

Just for fun, I replaced the ‘Pi / 4’ text panel with a slider (blue group) that goes from -Pi to Pi with snapping at -Pi/4 and Pi/4 (±0.785). This effectively allows you to rotate all the grid objects by rotating the source object’s reference plane.

Then, in top view, I noticed that the grid objects were not all in a straight line

Looking closer, I realized that your points that create the IntCrv are “weird” in the sense that the first point (the bottom of the curve) is not centered on the origin. In fact, it is below the XY plane!! {0, 0.327535, -0.016614}

So I added List Item to get that point and use it for the source plane.

In the process, I also noticed that the circles that you loft to create the object are all “flat” instead of what I expected (perp frames) so I replaced Divide with PFrames and replaced Circle CNR with a simple Cir(Circle) component. Which makes a nice shape but I didn’t realize until I was typing this that their bottoms aren’t flat.

So I just now put that back as it was… after I snapped this top view image, where it wasn’t obvious:

Joseph’s method of rotating the alignment of the grid cells content really got my attention, so I wanted to see if I could come up with a way to make the results 3D printable. Here’s what I came up with:

Wow! That’s it! Many thanks inno - I’ve not seen that one before. What a great idea it is.

I can print the cones on a 1/8th section of a large circular segment all in one piece. Then I can weld the pieces together to form a complete circle. (I’ve got a nasty solvent that melts plastic and fuses disjoint parts together as one.) There is multi-colored filament I could use for the cones, but I could still easily attach them to a single color base.

Or maybe use a polygonal base. Or a squircle base. I think I’m going to be busy for quite a while. Thanks again for posting this.

First, I realized I could use PFrames and keep the base flat on the XY plane if I used the first perp frame as the source reference for Orient(‘A’ input).

Then I noticed again in top view that the grid objects were not in a straight line. This time, I realized it was because the Scale ‘C’ input was the origin instead of the bottom end point of the IntCrv. Fixed that.

Then I made the ‘B’ slider just below the Graph Mapper REAL instead of INTEGER to allow micro adjustments to the circle radii. And bumped the value up slightly so the base of each piece nearly fillls each grid square.

Finally, I connected the ‘Count’ slider for PFrames to the Range ‘N’ input so the number of radii matches the number of pFrames, allowing the count to be reduced.

@inno wow, I haven’t seen this yet, I just started doing something and stumbled upon this by accident. To be honest, I don’t even have a 3d printer. I’m sorry for the misunderstanding

Yesterday’s version ‘Aug14e’ used Point Polar to generate the points, then interpolated them and used HFrame to orient the planes tangent to the IntCrv, similar to version ‘Aug14d’. In most cases, the results are pretty good, except for the last point where the tangent direction is not appropriate.

This version (‘Aug15a’ below) reverts to the center point reference used earlier in versions ‘a’, ‘b’, and ‘c’ and if you look very closely, there are small differences except for the last two points where the tangents are more noticeably wrong in version ‘Aug14e’.

I dropped the Graph Mapper as it wasn’t doing much. Instead, I changed the Range domain for the circle radii to ‘1 to 0.001’. (to prevent a divide by zero error)

@Joseph_Oster , i like the way you do all things from scratch without plugin, always parametric and always accurate like assembly language , honestly i need to learn your script by default,btw this was my try,didn’t upload to let main script grow.