3
$\begingroup$

The attached set up works fine, but visually it's a mess, and I can't help wondering if there's a much simpler way of expressing this idea...

enter image description here

Objects A, B, C, and D are all clones of rotated cylinder M. A and C are slightly scaled down versions of M, and B and D are slightly scaled up.

Further, A and B share a fixed Y-axis, and C and D share a variable Y-axis. A and D share a common X-axis, as do B and C. Theses axes are equidistant from x=0. Yep, they're the vertices of an imaginary rectangle, with side A-B centred on 0,0.

This is what my set up for this presently looks like:

enter image description here

Can this be simplified?

$\endgroup$
  • $\begingroup$ For me, this doesn't look that complicated for a node setup. It could use a few "reroute" nodes but given what you are trying to achieve I would say it is pretty dense already. I don't know much about sverchok but maybe you can add a "group" similar to shader nodes for the 4 "Move" nodes on the right since they all do the same things with different parameters ? $\endgroup$ – Gorgious Jan 27 at 16:39
  • $\begingroup$ @Gorgious "I don't know much about sverchok" - you and me both!!... Thanks $\endgroup$ – Strawberry Jan 27 at 16:54
  • 1
    $\begingroup$ May be relevant blender.stackexchange.com/questions/29226/… $\endgroup$ – Gorgious Jan 28 at 7:30
  • $\begingroup$ this isn't massively complicated. i'm afraid it's partially my fault for not providing a way to colour individual objects inside a single ViewerDraw. Otherwise you would be able to use one VD and pass it the matrices/colours. Sometimes complex ideas can be described in few nodes, other times simple ideas require more nodes than seems right, and there's a whole gradient inbetween. I may still add a color socket to VD. $\endgroup$ – zeffii Jan 31 at 14:12
  • $\begingroup$ @zeffii Did you mean to comment on this thread? The colours aren't the problem, and this tool of yours is brilliant, so I can't see that any of it is YOUR fault!!! $\endgroup$ – Strawberry Jan 31 at 14:24
3
+100
$\begingroup$

You were almost there.

enter image description here

This is possibly the easiest you can go. Duplicate with a matrix in, and alter attributes individually with a list input. By changing the list input length, you add and remove objects. Changing their attrs individually as you please you can tamper with their pos,scale,rot.

A couple of notes. You don't need "Move"; LOL, that not an object move, it's a vector move. I know, the name is tricky! It moves all the "points" of your object in some direction. Basicly it's a vector push. You don't need a rotation node, as you can see matrix in it's all you need.

The blend

|improve this answer|||||
$\endgroup$
  • $\begingroup$ Thanks. This works now, and is I think more manageable than what I had before. The final part of the puzzle requires unioning the smaller cylinders with (and subtracting the larger cylinders from) a larger solid. I do this by baking everything and then performing a couple of Boolean operations in Blender, but it would be nice to keep everything in Sverchok, such that all the end user had to do was select a 'Length' and a 'Height' and export. $\endgroup$ – Strawberry Jan 31 at 12:17
  • $\begingroup$ Fine. Lastly, you could have a try at CSG Boolean Mk2, if you need a boolean node. Mind, last time I tried it I found to be buggy (about 2 years ago). Do not expect miracles. $\endgroup$ – Kabu Jan 31 at 15:45
  • $\begingroup$ I have tried that, but (of course) it's actually a bit more complicated than that; I'll play around a bit more and maybe post a dedicated question. Thanks again. $\endgroup$ – Strawberry Jan 31 at 16:21
3
$\begingroup$

Inspired by some examples elsewhere, here's my best attempt so far, but it doesn't (yet?) solve the problem of setting A and C to a different scale from B and D...enter image description here

...but as far as it goes, it looks a bit tidier.

EDIT:

Right, so, with Kabu's help, the inclusion of a 'simple?' List Input has solved the next part of the puzzle. Very neat - although Kabu has suggested that there is room for further optimisation as consequence of redundancy!!

enter image description here(https://blend-exchange.giantcowfilms.com/b/JoWGSlO7/)

|improve this answer|||||
$\endgroup$
2
$\begingroup$

Really you have no need to simplify this node setup. As you have done so far, you have pretty much simplified it as much as you want. You actually do not want the nodes to be too simple, or else you actually will have problems with controlling things later. If I were you, I would keep the node setup you have currently, and work off of there. Unless your computer is very low on RAM, or has a slow processor, you honestly have no reason to simplify further.

|improve this answer|||||
$\endgroup$
  • $\begingroup$ Hi - thanks for the vote of confidence; as a novice, I just thought I might be missing something. $\endgroup$ – Strawberry Jan 30 at 14:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for?Browse other questions tagged or ask your own question.