2
$\begingroup$

I am trying to achieve this construction ( made in Softimage in this picture) enter image description here

Basically I have two similar pieces of geometry and i try to create lines between them. is it doable in Blender?

The problem I have is that the Line noes ( e.g. mesh Line) do not accept fields as position inputs, and I am a bit clueless about how to proceed. I know I was able to do it back in the day when GN was using attributes, I think prior to 2.93.5. enter image description here

Any help would be greatly appreciated!

$\endgroup$
1
  • $\begingroup$ Just use the node Instance on Points, and instantiate multiple mesh lines at the points of the grid. Or you can extrude the vertices using the node Extrude. $\endgroup$
    – quellenform
    Jun 9, 2022 at 7:29

2 Answers 2

2
$\begingroup$

Here's a more generalized variant, based on the extrusion idea mentioned by quellenform. I'm going to assume that by "similar geometry" you mean that one is a scaled/rotated/deformed version of the other, otherwise it gets complicated. That means we can just map the index of one geometry to the other.

enter image description here

A few points to note:

  • If you import geometries from objects, use the Relative setting to keep their relative offset.
  • Set the Transfer Attribute node to Index. No need to connect anything, it uses the Index input node by default.
  • Extrude node set to Vertex mode, this will create a line from each point instead of faces.
  • To get the offset for extrusion, subtract the vertex position from the transferred position. That gives you the offset from mesh A to mesh B.
$\endgroup$
1
  • $\begingroup$ Thank you so much. That solves it. I have to wrap my head around it, as it seems very convoluted, but I am glad it is doable. I think it would be great if the devs would add field support for the start and end points of the line generators. $\endgroup$
    – radoo
    Jun 9, 2022 at 9:25
2
$\begingroup$

The easiest solution to get to this shape might be this one:

enter image description here

...Even if it is not directly the answer to your question.


And this would be the exact answer to your question:

enter image description here

Here I create two grids with the same number of points, but different sizes.

On one of the two grids I then instantiate lines.

Every second point of the resulting geometry then corresponds to the endpoints of the lines.

I give these new positions last by using the original index to transfer the position from the other grid.

$\endgroup$

You must log in to answer this question.

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