1
$\begingroup$

How to change each instance based on a changing set position node.

The goal is to get the shape of the center hole in Object_1 to be controlled / altered throughout its entire length by the changing of the set position node in Object_2.

Example:

Object_1) I have a curve where it's instances are rotated along its length see image below.

img1

Object_2) I have a set of selected vertices that changes an object shape using the set position node see animated gif below.

ani1

How can I combine Object_1 and Object_2 so that the instances from Object_1 are being changed throughout it's length based on Object_2 set position node values.

Basically the instances of Object_1 (the shape of the hole) are "morphing" over its length based on the shape of Object_2.

The goal is to get the shape of the center hole in Object_1 to be controlled / changed throughout its entire length by changing the set position node in Object_2.

I tried implementing How to pass individual values to each instance of the object generated with Geometry Nodes 3.0.

But when I attempted it I didn't get the outcome I wanted. see image below

img2

Attached file below.

PS: I plan to 3D print the object.

$\endgroup$
2
  • 1
    $\begingroup$ Sorry I don't have a complete answer ready this time (I'm busy right now), but I think you can solve the problem with this (simplified example): blend-exchange.com/b/5W1OEzQz $\endgroup$
    – quellenform
    Feb 23, 2023 at 23:10
  • $\begingroup$ @quellenform Thanks this helped a lot! $\endgroup$
    – Rick T
    Mar 3, 2023 at 5:23

2 Answers 2

1
$\begingroup$

As suggested in the comment, you can solve it this way:

enter image description here

Here I simply create a circle for the inner shape, whose number of points corresponds to the points of your star (always use even numbers here).

Then I capture the positions and indices of the base curve along which the profile is to be extruded. I also mark the inner profile curve with a boolean value, which allows to change this geometry selectively afterwards.

Only after applying Curve to Mesh, do I move the points of this inner geometry in a way that creates the desired shape (the star). Going from a circle to a star is relatively easy in this case, because the previously acquired positions of the points of the base curve are then simply the reference point from which the offset can be calculated.

enter image description here


(Blender 3.2+)

Note: If you open this file in version 3.2, you would have to adjust the node Set Spline Type, because it works differently in this version!

$\endgroup$
1
  • $\begingroup$ This worked great! $\endgroup$
    – Rick T
    Mar 27, 2023 at 4:33
1
$\begingroup$

Based on first screenshots it looks like you want to bridge (loft) your star shapes like in this thread:

Bridging edge loops along a curve in geonodes

If you can't use instances, e.g. because each star is different, or the stars are generated dynamically and there's too many to them to convert them to instances (because currently you need one "Geometry to Instance" node for each created instance…), then your problem comes down to:

  1. Spawn some base instance like a star or a circle on your curve; whatever base you use to create your varying star shape in 2D space.
  2. Realize Instances.
  3. Transform current coordinate space to the original space, the one you normally work on when you modify a geometry before passing it to "Instance on Points" node.
  4. Work in the convenient local space.
  5. Restore the coordinate space you had before p. 3.

In this case you could just rotate instances, but hopefully you get the idea:

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .