Select point from a list

hi guys,

how can I select the inner points of each orientation (west, north, south and east) in each file from the list. actually I am only able to do it with the SOUTH orientation as you see in the image and after that to be able to make the louvres to change their angle

Assignment Thermal Comfort Module Shading.3dm (215.9 KB)
Assignment Thermal comfort Module (281.3 KB)

Have a look at this:

Assignment Thermal comfort Module (284.3 KB)


what i dont understand the part of {;;0}

The Split Tree component is a powerful tool for selecting subsets from a DataTree.

Split Tree with a mask of {*;*;0}[1] puts data item [0] from any branches that end in zero {*;*;0} on its Positive (P) output. Items that don’t match this mask are put on the Negative (N) output. After this the Clean Tree is used to remove the empty branches.

Here’s an example file using your surfaces as input. Might be easier to understand from dragging the sliders and seeing what effect it has. (26.6 KB)

Here’s an explanation on how to build masks for the split tree component.


1 Like

thanks once again

why is [i] out of {}?


It seemed that you spent some hard time on this, and pretty much because you did not follow a steady and firm path learning Grasshopper, and may missed some useful components.

1: Being exposed to these complicated path problem way too early. Louver is the most simple architecture GH application as you can see in the picture above. No nasty {;;;0}/split tree/tree branch/all kinds of tree stuff included (sorrr kevin your reply is damn good but not good for Albert here), not too much cull item/list item/member index things included, never in this problem.

2: You are currently not very familiar with some simple and basic combination on Grasshopper geometry components. That is why you use some very long lines and struggles with the list thing, this made you crazy in such simple problems, imagine something more complicated later on. You can try to learn some useful geometry tool and master them at first, such as iso curve and isotrim, also try to use all different “rotation” components , not just one here which is not a good choice, it requires 4 inputs which did not make much sense. (I never used this rotation component since GH is published in 2008)

3: I think you can try to practice on some simple example, and try your best to make them clear, neat and strong. This will definitely help you with complicated problems later on.

Here is a more expanded explaination on my GH definition below.

Also GH file is here.
Assignment Thermal comfort Module (300.9 KB)

1 Like

In the DataTree path {A;B}[i] the {A;B} portion is the branch path and the [i] portion is the index/indices portion (the list at the end of the branch path).

As @11165 has pointed out, it is advisable to keep your data structures as simple as possible by choosing the right components for the task, organizing, and optimizing your code. Much of this will only come with experience.

You can do some powerful things with DataTrees but they are one of the more difficult aspects of grasshopper to learn. Not to be feared, but try to avoid complexity where it is not necessary.


1 Like

@kev.r your post is excellent regardless of Albert’s current state on Grasshopper.
I think one day he will need this.

For now I think it is too nasty for him to deal with tree stuff.
No offense and nothing personal :crazy_face:

No worries, you are absolutely correct.


I totally agree with you.
Even for experienced user I recommend avoid tree things as possible.
These are the last resort if no other ways are possible.

happy to know that :crazy_face:

Surely you mean data tree masks and components like Path Mapper? I agree and always avoid them myself, even now after years of experience.

However, keeping track of data tree structures and their content is essential to even the most basic GH code. Ignoring them completely will quickly lead to frustration. Blind flattening and grafting is shooting in the dark. I’m a big fan of temporary text panels to examine data before and after every component.

As detailed in this post yesterday:

Fortunately after 14 years of using it, I am way past blind flatten and graft. Gh data structure is in my blood. Yet I still avoid things like path mapper just like you whahahaha

Despite what a few purists say, I find myself resorting to ‘Simplify’ on rare occasions, or its more powerful sibling Suirify, which I love! :sunglasses:

Thanks I am a beginner :man_facepalming:t4::man_facepalming:t4::ok_man:t4::ok_man:t4: as a summary what should I use and avoid in the stage I am in grasshopper?

Deer , where can I You can learn some useful geometry tool and master them at first, such as iso curve and isotrim as you said?

1> Experiment every components, skip the ones that confuse you, and stick to ones you can easily understand.
2> Do a lot of excersices on the components you understand.