Problem with the Simplify component

Hey there—long time listener first time caller.


I've been working on developing a parametric stair modeling tool with Grasshopper, and I've come up against a wall. The basic idea is that the user picks a line in Rhino, and it builds a stair using that line's location, elevation and direction. Here's the hitch: I can make it work fine for a single line, which results in a single stair. I have reworked it to allow the user to select multiple lines, resulting in multiple stairs. But I can't make a general script that works for a single line *or* multiple lines.


I think I've tracked the problem down to the Simplify component, which I use to correlate the riser and lines before joining and extruding them. When I Simplify a tree based on multiple base curves, the result is, predictably, a simple tree with three branches and just one node. (Is "node" the correct term?) But when a tree with just one branch in it goes through the same component, none of the empty nodes are removed. The image below shows both situations. Anyone know why this is happening?


  • up

    David Rutten

    Hi Paul,


    Simplify works by removing all the parts of a data tree path that are shared amongst all branches of the tree. If you only have one branch then all parts are shared by 'all' branches, but I cannot remove them all since that would result in an empty path. Therefore it behaves oddly when there's only a single branch.


    I replaced the Simplify component with a Path Mapper, but I think there's a problem before this happens:


    When I pick a single line, then I get a path with 6 indices. When I pick multiple lines, I get a path with 4 indices. Why the discrepancy? This is probably the underlying cause of the problem. It's quite a big file you posted so it's hard to try and figure out where this difference comes from.



    David Rutten

    Poprad, Slovakia