Hexagon Surface Division - Need help with GetItem and TakenNthItem


#1

Hello all,

I’m playing with a surface division ‘pannelation’ akin to what Nate has done with his Lunchbox nodes. I’m aiming to do this fully with base Dynamo nodes rather than delve into Python (May resort to Python if needed but I’m yet to learn it).

I’ve got a point where I can pull out exactly what I want in DesignScript as a first pass. It’s showcased below:

Hexagon_Surface_Division

 

 

 

 

 

 

 

How exactly do I go about using List.TakeNthItem and List.GetItemAtIndex in conjunction with List.Map to achieve my desired results? A pointer in the right direction would be beyond awesome :smiley:


#2

Can you provide your file? That is an interesting logic question…


#3

Of course! It’s pretty simple so far - what’s shown above + a division remainder calculation to always make sure the V-Division is divisible by 3.

I believe it’s going to have to use recursion and a while loop after browsing the forums - and I’ll aim for DesignScript so there is no supplimentary package requirements when I publish.

Surface_Hexagon_Pannelation


#4

Next play not so successful… might be on the right path but I don’t know. I was trying a whole bunch of nodes of the List variants. Might have to try recursion and DesignScript next.

Hexagon_Play

 

 

 

 

 

Surface_Hexagon_Pannelation


#5

Hi Sol,

 

I tried to step forward. It’s not finished but I’ve achived a first part I think.

 

Surface_Hexagon_Pannelation_07-25


#6

Here's one approach with just the available nodes. No scripting.

File: Surface_Hexagon_Pannelation.dyn

Panelization-20150726


#7

Great approach Vikram! Congrats


#8

Hay guys, how do I look at this information in Dynamo. When I click on the files you have posted I just get text script.


#9

Its ok got it, feel stupid now


#10

Whoah awesome stuff guys! I’m having a look now. Much obliged.


#11

That’s seriously cool lads. I’m well impressed. Now to try and let that saturate my mind. I’ll have a crack at doing some if statements regarding the spheres at some point too - it’ll need a PruneDuplicates node and the replication of a single point (Won’t be a true Hexagon, but rather a Pentagon). I’m also wondering if there can be an if statement about the ‘stitching’ of edges - again using a sphere as an example.

Fun times regardless.


#12

Hi guys, this week I needed hexagon panel placement for a class I am teaching. So I went ahead and made one and just now added it to package Clockwork. My solution is a little bit different than Vikram’s in that it’s mostly using code blocks, but the basic principles are more or less the same: break a grid down into rows, define a pattern, apply it to the rows, filter out some clutter at the end etc.). I needed this node to be rather versatile - like all of Clockwork’s paneling nodes it has options for reversing and shifting the placement order of the panels’ adaptive points and it also allows you to rotate the entire pattern by 90 degrees. It does not return an output for any cut panels on the edges yet (sorry Sol), but I’ll add that eventually as time permits, I hope… (Tiny disclaimer: I made this in 0.7.5 so it may not work in 0.8.x…)

HexNode


#13

Whoah awesome stuff Andreas! I’m also stuck in 0.7.5 here at work so that’s brilliant.

So much epicness in this community. #TheFeels