algorithmic modeling for Rhino



Treesloth is a plug-in that extends functionality for working with lists and data trees.

The current release now also supports writing and reading binary files that allow for robust interoperability between multiple definitions.

All of the components are distributed within the "Sets" group.

These components mostly are derived from needs met directly in practice. Feedback is very much welcome, and if you have ideas for solutions that will help you better manage your data, please feel free to make suggestions for future releases!

You can download the most recent version on Food4Rhino.

Members: 73
Latest Activity: Sep 20, 2023

Discussion Forum

Explode at index bug

Hi David Stasiuk,I've been happily using your Treesloth components for a while now and it helped me a lot when editing complex data trees. Thanks for that!One of those components is the 'Explode at…Continue

Started by Gerran Lankhorst Oct 28, 2020.

Partition Tree 5 Replies

Hello David,after this discussion i thought a partition Tree…Continue

Started by ng5 Alex. Last reply by Congzheng ZOU Aug 31, 2018.

Needs reloading pack_unpack data workflow 4 Replies

Hello David,Great new update and now a dedicated group!I have been experimenting with pack unpack data. It opens great possibilities for collaboration.the case study was 2 users working…Continue

Started by ng5 Alex. Last reply by ng5 Alex Jul 10, 2015.

Comment Wall


You need to be a member of Treesloth to add comments!

Comment by David Stasiuk on June 30, 2021 at 11:49am

A new version is long overdue, for sure. I just haven't gotten to it. Any specific ideas for components you'd like to see?

Comment by ming Lee on June 28, 2021 at 7:00am

Is there any plan for new version?can add some compnents or suit for rhino 7

Comment by David Stasiuk on January 2, 2020 at 8:07am

It should work. I am running 6.20 and it's fine. Are you sure it's in the right directory/unblocked?

Comment by liguoxiong on January 2, 2020 at 12:23am


    Can you work with Treesloth in rhino6_SR19? I cant find this plug-ons in my grasshopper .

Comment by David Stasiuk on December 12, 2016 at 3:15pm

There's a new version of Treesloth up on Food4Rhino. Just an incremental update, really. The primary addition is "Explode at Index," which lets you select the index depth at which you'd like to explode a DataTree.

Comment by Ram Joshi on April 14, 2016 at 9:27pm

Hi David! Thanks for this tool. I am trying to use the pack and unpack data components. I guess the data is getting packed but I am facing an error while unpacking. It reads "There are more data elements in the file than outputs in the component. Use ZUI to see all data elements". I understand that there are some missing outputs in the component which I get using ZUI. But how do I get the ZUI?



Comment by David Stasiuk on July 10, 2015 at 8:47am

Hi this is getting a branch just by its index? Good idea!

Comment by Arend on July 9, 2015 at 9:08am

Great work, thanks a lot for the effort! My most used tree-hack must be the "Three index" (didn't spot it right away in your collection). A few lines that make things a lot easier to debug.

  private void RunScript(DataTree<object> tree, int i, bool keepPath, ref object A)

    if (tree == null || tree.BranchCount == 0)
    if (keepPath)
      DataTree<object> kp = new DataTree<object> ();
      kp.AddRange(tree.Branches[i], tree.Path(i));
      A = kp;
    A = tree.Branches[i];

Comment by David Stasiuk on July 9, 2015 at 8:36am

Hi Francesco. Thanks! I hope it will be useful for you.

I am not sure I quite understand what you're looking would behave like the path mapper but have a different type of interface In the example you give, it's possible to do this with shift paths. So you could go from {a;b;c;d} to {c;d} by shifting paths with an offset value of 2...or to {d} with an offset value of 3...or to {a;b} with an offset of -2.

It could be possible to create a subset mapper where you fed it a domain, like "1 to 2" and it would return {b;c}. Is this more what you're thinking of?

Comment by Francesco De Luca on July 9, 2015 at 3:35am

Hello, congratulations for the work!! There is one tool/component that I think is worth to develop as well. One that allow to merge paths into the same data tree, something that usually it is possible to do with the Path Mapper but more intuitively and quickly. Using Path mapper it is done with lexical operation like: from {a;b;c;d} to {c;d} or to {c} or to {d} (as examples). I am sorry if in the new Treesloth there is already this possibility but I didn't understand. In this case how? Thank you!


Members (73)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service