Instance on Points

Hi All,

Is there a way to create an instance of an object at an array of points? I’m looking for similar functionality to Blenders “Instance on Points” geometry node.

Any suggestions?

Hello @Gerrard_Hickson and welcome to the forums,

Many many ways to do this in Grasshopper. Two things to be aware of are points and planes.

Planes contain an origin point defined as x,y,z in world position and vector direction orientations for the x, y, and z axis.

Points are like planes without the directionality and rather just an x,y,z location.

Here’s an example showing cones being added at the box points in an “unoriented” fashion and a second example using planes to align the cones to the box faces.

Using basic nodes like move, orient, transform, etc. you can populate any kind of geometry at any kind of point location/plane orientation.

If you want to control local rotation/location offsets at the insertion points there are nodes like “Rotate, Rotate3D” that let you rotate planes and “Point Oriented” node which lets you “slide” the location locally in a plane.

If you specifically want “instances” as in Block Instances have a look at the Elefront plugin or new Rhino 8 WIP nodes to insert block instances at locations:

Note that the point/plane location logic would be the same. Difference is you are specifically using block instances instead of geometry with these nodes.

Please see attached files and let me know if you have any questions!

Cheers!

Model Space:

Graph Space:

20230710_Instance_To_Points_Response_01a.gh (14.9 KB)

1 Like

To clarify, by ‘instance’ I meant any geometry - not limited to blocks or anything else.

The easiest version of your answer is that the ‘move’ command allows the input of any array of points, and places an object on each of those points. I didn’t realise that! That’s much easier than I expected.

Thanks!

1 Like

Correct!

Alternatively, you can define your points first and feed those into the Point or Plane inputs of many components.

Like the cone input getting it’s location input directly from the box corners in this example:

image

1 Like