2
$\begingroup$

Blender beginner here. I have the following objects, which in this case I just created, copied, moved and sized them manually:

enter image description here

I'm trying to figure out a way that I can make a series of geometric object like these, where they linearly increase/decrease in size in one dimension, but have the whole process be entirely parameterized/programmed so that I can easily change the number of objects, the offset, the size change, etc. It might be possible using the array modifier, but I haven't been able to find a way to do this with the objects changing size only in this specific way. I tried using the array modifier with an empty object/axes for an object offset, but it would always do weird things to the sizing of the copies in all three dimensions, not just the x-direction like I'm trying to do here.

I'm absolutely certain that there are a dozen+ ways it could be done using the Sverchock add-on as well, but that thing is so crazy complex that I don't even have the slightest idea where to begin.

Basically I'd like to know the easiest/most basic way I could do this parametrically.

$\endgroup$
1
  • 1
    $\begingroup$ The most parametric solution is probably with geonodes. You could probably do it with an array like you tried, but you'd have to be very deliberate about object origin placement. $\endgroup$ Jan 27, 2023 at 18:18

3 Answers 3

3
$\begingroup$

Here's a setup that doesn't require the origin to be at the side of the object. Instead of scaling I'll use a Set Position node to move one side.

In general, all you have to do is find a way to select the vertices you'd want to move. Here I'm simply selecting the vertices that are on the +X side.

Screenshot Geonodes Setup

Small update: This setup also lets you control the offset with a curve.

Setup 2

$\endgroup$
4
$\begingroup$

One possible way with geometry nodes as suggested in comment (probably) ... origin has to be at side of an object (as pointed by Allen).

enter image description here


Here is another version independent on original object ... so parameters set in modifier panel match reality and also you don't care about origin.

If you drag sockets into Group Input node you can easier and organised control parameters ...

enter image description here enter image description here

$\endgroup$
2
  • $\begingroup$ I took a look at the file you included, but the Extrude Mesh node isn't working, instead it's red and just says Undefined, and nothing is rendering. I'm using v3.0.0 if that makes a difference. $\endgroup$
    – Derek
    Jan 30, 2023 at 2:42
  • 1
    $\begingroup$ Update: I updated my Blender installation to v3.4.1 and your file works fine. Sorry for the trouble. $\endgroup$
    – Derek
    Jan 30, 2023 at 2:55
1
$\begingroup$

Another solution is using an Empty as object offset in the array. Object's origin should be on its left side. Then scale the Empty only on the x axis.

enter image description here

$\endgroup$
2
  • 2
    $\begingroup$ The lengths appear to be increasing quadratically, not linearly. $\endgroup$
    – Derek
    Jan 27, 2023 at 21:59
  • $\begingroup$ you are completely right. i'll try to find a solution for it. $\endgroup$
    – Miguel
    Jan 30, 2023 at 18:19

You must log in to answer this question.

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