Geometry nodes - How to rotate objects/instances around a vector/axis/edge

Hello There!

A quick question - how do I rotate an object, or its instances, around an axis to create a circular array?

I’m coming from Rhino CAD + Grasshopper, and it’s a no brainer there. A very basic example

  • Create the object (a cone), with an x-offset of 1 (constructed vector)
  • Create a list of three angles, with an increment of 120 degrees. (there are more elegant ways to do this in Rhino)
  • Set the rotation axis, constructed from two points. Could have used a single vector too. The rotation is set to happen at the origin, around the z axis, in 120 degree increments.

How do I do this in Blender?

I tried this


Which gives me this

Now, I want to have three copies / instances of the ico sphere the same way as above.


The issue is the rotation. When I connect a combine XYZ, it works. Using the computed value, not.

I used this example from the blender manual as reference.

Thank you for your help.
Cheers,
Ray

1 Like

The “Transform Geometry” node doesn’t accept fields, you can tell this because it has a circle and not a diamond for an input. You’ll need to use “Set Position” and “Vector Rotate” (not “Rotate Vector”) nodes to rotate the position field, if you want to do it this way.

If you’re just wanting to make a circular array, I’d suggest making a curve and using it to instance on. Doing it this way gives you more flexibility, because you have access to the tangent, and normal of the curve.

I think I covered everything you need to know, if not, let me know.

3 Likes

Thank you. I need to pay more attention to the shape and colors of the nodes.

Unfortunately, this didn’t work - the error was gone, but the rotation did not happen.

I got a nudge on discord how to solve it


I started the geometry nodes course yesterday. I love node-based modeling. And I’m using it in Rhino+Grasshopper since 20 y’s now. Well, as with moving from CAD to Blender, it’s about unlearning habits and expectations when switching from Grasshopper to Geo Nodes.

Cheers,
Ray

3 Likes

Glad to hear that you got it figured out.

It took me a little bit to figure out why what I said didn’t work for you. I think I figured it out; It looks like the position of your instances are at the object origin (0,0,0) and what I told you to do would only rotate the location of the instances, and not change rotation of the instances themselves.

Just to let you know of a downside of your solution, It will make it hard to rotate the instances individually. If you wanted to be able to give each instance a unique local rotation, you could move it into position after making it into an instance, and uncheck Local Space on the rotate instances node. Then add local space rotation with another rotate instances node.

2 Likes

The original object was moved to 1,0,0. With the idea I can then rotate the instances around an axis at 0,0,0 (pivot point) by 360/(number of instances).

Oh, that makes sense. Will give it a try / keep this in mind.

Thank you for helping. +1

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.

Privacy & Terms