How do I get a cylinder xyz coordinates for a plane?

I have this cilinder, where I’d like an array of spheres to be embedded to the external face of the cilinder


But getting a plane, it lays flat to the global values, so the circular array, follow those coordinates
forforums.gh (170.6 KB)

each time you cast a Point into a Plane (meaning that GH wants a Plane but you give it a Point instead) in grasshopper:

grasshopper builds a XY Plane with Origin on your point:

each time you cast a Curve as a Plane, like here:

if the Curve is Planar, then the Curve Plane is given, if the curve is a Line, it will give you a Plane for which that curve is the Normal (Z axis)

in order to array stuff around the cylinder, you might want to use one of those two planes:

but I believe the following to be a better practice, which is transforming the cylinder base Plane with the very same transformation the Cylinder goes through:

forforums_inno.gh (174.7 KB)

that plane is the one to be used for Polar Array


as an alternative, you might want to consider creating and polar arraying the geometries on the original non-trasformed cylinder, and then transform everything (cylinder and geometries altogether)

1 Like

I see thanks as always…
although one last question I hope:
any way to make so grasshopper to show only the last node, rather than showing all duplicates?

Like in this case if I transform the sphere polar array, I get shown both the original and the one that’s rotated:


Unless I don’t disable the preview for each manually:

which is quite a pain to do for every single thing

you can select multiple components then press the button that makes that radial-wheel appear: the property you select will be applied to your whole selection at once

so for instance you can CTRL+A to select everything on grasshopper canvas, then keep pressed CTRL and click on the components you want to remove from the selection, at that point you make that bar appear and choose “disable preview”