0
$\begingroup$

I'm an architect and archviz-guy (archicad+twinmotion+photoshop). recently i got into blender to extend on my knowledge and realize more complex structures. unfortunately even after searching the net and forums i hit a brick wall.

  1. what i want to do:

starting with primitives like cylinders or cubes or a combination of both that serve as a building mockup for a possible architectural draft, i want to distribute cubes (read: planks) along their "facades", meaning their sides without the caps. now for the difficult part: those planks should change rotation and length along with the changes i make to let's say the cylinder. example: i rotate the upper cap of the cylinder and scale it along one axis, making it an ellipse. so now i have a geometry with a circle at the bottom and an angled ellipse at the top. the planks should have followed the changes. i know, nice project for a beginner.

  1. what i have tried so far:

a) boy, oh boy. i started with a geometry node on the cylinder, making a dummy cube the instance and putting it on the faces of the cylinder with its normal controlling the cube's alignment in their local z-direction. somehow the planks (cube instances) never have the right alignment. also the deformation of the cylinder doesn't affect the instances the way i would like them to. i fiddled around for days but to no avail - the nodes functions still elude me for the most part. also aligning instances on faces seems to be the wrong approach since they always "start" in the middle of a face, leaving their top and bottom part with a pre-defined, static length. making a vertex group and doing it from vertices still doesn't solve the length issue. ideally i would want to tell the program "take the upper and lower vertex/edge of this geometry and connect them with a line that "somehow becomes" a cube lol.

b) next i tried my luck with curves, parenting the cube to a plane that follows an array along a curve. so far so good. but there would be an upper and a lower curve (bottom and top of the house) that need to be connected by the array-ed cubes.

c) my thoughts on how to do this would be that i have two (completely arbitrary) curves with ready made cube-children on plane-parents. those two independent groups of chilren must somehow face each other and -by proximity- merge with each other like a metaball. geometry nodes come to mind: if i could just make two cubes "extend/extrude" themselves when reaching a certain proximity OR always extend until they touch, then maybe i could pull this off?

You see, i have a long road ahead of me but i would be grateful for some hints. maybe i'm doing everything backwards or in a complicated, stupid way. maybe there's the perfect addon i have overseen?

thanks for reading this novel. have a potato.

Here is what i want to do:

enter image description here

$\endgroup$
1
  • 4
    $\begingroup$ tbh...i didn't even read your question till the end. Why? because also a 20000 word description of an image/render wouldn't describe it as good as one good pic/image/sketch would do. So please (!) add some images what you try to do so we can follow easily your thoughts. $\endgroup$
    – Chris
    Commented Apr 11, 2023 at 9:03

2 Answers 2

1
$\begingroup$

You can have this kind of things using geometry nodes.

enter image description here

This is not proximity based (as proximity is not the good criteria for all cases), but index based between two curves.

The node tree takes three parameters: two curves (from "Curve 1" and to "Curve 2") and a resolution.

enter image description here

On the top left part of the node tree, the curves are resampled at the resolution and the positions of their points are sampled based on the final geometry indices (that why "Curve 2" indices are the final indices minus the resolution).

On the bottom part, it creates a line with as much points the resolution is. Then removes edges, keeping only vertices and extrudes them. Finally, the points positions are set accordingly with the input curves positions. All is then changed to curves with some bevel.

$\endgroup$
1
  • $\begingroup$ i am speechless. thank you very much for the detailed answer and the blend file. i would NEVER have figured that out. much to learn for me... $\endgroup$ Commented Apr 11, 2023 at 15:54
1
$\begingroup$

This is less potentially general than @lemon's answer.. but if restricted to the cases you illustrate, you can warp a cylinder to a loft of your 2 cyclic splines:

enter image description here

(Blender 3.41)

enter image description here

$\endgroup$
2
  • 1
    $\begingroup$ Robin, yes... but mentioned in the question: "without upper and lower rings"... but ok, upvoted $\endgroup$
    – lemon
    Commented Apr 11, 2023 at 18:54
  • $\begingroup$ @lemon Oops.. I just went by the pictures :) I don't think I can fix that without losing this round of Node Golf... I'll leave it up. OP should accept yours.. $\endgroup$
    – Robin Betts
    Commented Apr 11, 2023 at 20:15

You must log in to answer this question.

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