Problems with trees

Hey guys,

at first, sorry for my bad english. For a week now, I am trying to figure out, how to solve this problem. I got a facade. And I want to orientate my facade profiles. They should divide the angle between two neighboring surfaces. I did this for a single surface (the dark blue one) (see my work in the red group in my definition). This works awesome. I found someone in the forum who had the same problem like me, and they solved it. Credits to you guys here in the forum :).
But now I want to make not only the facade profiles, i want to make the node points. Therefor I need not only the neighbors of the chosen surface (neighbors first grade, second darkest blue in the picture below), I need the neighbors of its neighbors (neighbors second grade, the lightest blue). And this is, where it gets tricky. I’m very new to grasshopper, but I think I understand the most of the tree structure in grasshopper. But I dont know, why my components dont work, like they should. I am able to perform the same things as I did for the neighbors first grade. In my opinion, my data structure is right. But the “distance” component somehow does some things I dont understand.
I did some commentary, so I hope its easier for you to understand.
I need a solution without the explode tree component, because I got some other tessellations for the facade which dont have 6 edges)
the red part of the definiton is what I achieved for one surface at one time, just to show you. Dont need help there. In my opinion, the green part is okay too. But I dont know if I’m right. The non grouped parts are the ones, which I struggle with. I would to the orientation of the profiles by myself, if you can only help me out, with finding the neighbors of my neighbors. :slight_smile:
PS: If its possible to get the neighbors for every subsurface and not only for the neighbors of one chosen surface, it would be great too. But I think it would cost much CPU?

beforehand(?!), thank you guys for your help :slight_smile:
Greetings from Germany

cull issue (206.0 KB)

Hi Paul
i did a quick hack in python to sort in 3 levels of neighbourhood using nGons.

I Might have time tomorrow to comment my code or to actually look at why your definition doesn’t work
Let me know if this goes in the right direction. (59.2 KB)

Hello Lando,

thanks for your help. :slight_smile: I got two problems with your definition:

  1. where can I get the “FaceB” component?
  2. The python component shows an Error message: ‘Mesh’ object has no attribute ‘Ngons’

And maybe I did not explain my problem properly, sorry :confused:
“I need all the neighbors of the neighbors from the chosen surface.” So this means: the dark blue on is selectable by a number slider. and what I need is the neighbors of every second darkest blue surface. I need, in case of hexagons, 6 different trees (for all 6 neighbors of the chosen surface) which are containing their 6 neighbors. Do you know?

So much thanks for your help

I see you are running rhino 5 which doesn’t support ngons. I will take another look today

Thank you Lando. I appreciate your help :slight_smile:

so here is a file, where I did it with the explode tree component, just to show you, what it should do.

For better understanding: My chosen surface is number 0. I want to find all neighbors of 0. They are 1,2,3,4,5,6. That works. And now I wanr to get the neighbors of 1,2,3,4,5,6. In the picture below, it means that for surface 1 I get A,B,C,D,E,F. And I want to archieve this for als 6 neighbors of 0. So in fact I want to do two times the same. but somehow the trees do a mess with the distance component I think. So like I said, I did a new file, with less components and the explode tree component. But in fact I want to work around the explode tree component

cull issue (132.7 KB)

Have a look at the attached, i used just vanilla gh components so this should work in v5

cull issue forum (1).gh (131.1 KB)

Hey Lando,

Thats very close to what I want. But can you see the picture above? I need a structure like this. I want my A,B,C,D,E,F for every surface. Something like a branch {1} with A,B,C,D,E,F… a branch {2} with the its A,B,C,D,E,F. you know? Sorry for my english

Thank you
Paul :slight_smile:

Check if this is what you want…

cull issue (57.8 KB)

Hey HS_Kim,

thats pretty much it. But in your definition are some surfaces lacking. Like in the example with my picture: Your definition gives me A,B and C of surface 1. But I need D,E,F too in the same branch.

did some simple modifications, and now it works. So much thanks to you both :slight_smile:

cull issue (57.6 KB)

Like this?

cull issue (58.5 KB)

It works perfect. Thank you :slight_smile:

Hey guys,

sorry to bother you once more. I’m way farer in my definition, but the core problem is in the first part. The reason why I wanted to get the neighbors etc. was, that I wanted to extrude the facade profiles into the right direction. The direction is the addition of the normalvectors of two neighbored surfaces. This works with two tessellations as you can see in my definition. But with the third it wont work. It loses one line so that the lengths of the lists for the directions and for the lines to extrude aren’t similar anymore. This cases some weird things. You can see it in the picture. Does anyone know, why it does what it does? If you know another way to get the lines to extrude instead of scaling the surfaces and intersect them, feel free to change it.

Thank you guys :slight_smile:

Extrude direction (239.3 KB)

I’m not sure this is what you are going to do, anyway check attachment out.

Extrude direction (240.0 KB)

Hello Kim,

Sorry for my late replie. Thats not the way I wanted it. My definition is doing everything right, except of the dissapearing line. Look at the picture below. What I want to do is, getting N1 and N2 of both neighboring surfaces and extrude the line in the direction of N1+N2. But like I mentioned: I already achieved this kind of. There are some few lines in the tessellation that are dissapearing, which shouldn’t.

Extrude direction (242.4 KB)

Hey HS_Kim,

where can I get the mesh unify component?
two surfaces have one edge in common. There should be only one extrusion.

Thanks for your help and your patience :slight_smile:
Greetings from Germany

It is native R6 GH 1.0 component. and I don’t understand what you mean.

oh I only got Rhino 5 :confused:
Its about the light blue rectangles which get extruded. And between the green and the yellow surface is only on rectangle which gets extruded. not one for the green and one for the yellow one separate. And the normalvector of this rectangle is the addition of the both normalvectors of the surfaces. Sorry for my bad english.