I noticed what I think is a bug in the Clean Parallel component of eleFront v5. The Clean Parallel (R6) works as expected, whereas the eleFront v5 Clean Parallel component gives the error “1. Secondary Tree must match the primary tree exactly. This is not the case for input 1.”, even though this is not true:
The screenshot above comes from this script in which I
Create a cube of points.
Create “Dirty” Data by replacing some of the points with <null>s, <empty>s and branches without any data.
Clean the “Dirty” Data and in parallel clean the original cube of points.
The Clean Parallel (R6) behaves as I would expect, meaning that in the primary (“dirty”) data <null>s and branches without data are removed, whereas branches with <empty>s are left untouched. (This is also how the normal Clean Tree component works, see Remove empty items from lists - Grasshopper - McNeel Forum)
The eleFront v5 component doesn’t do anything. v5CleanParallel.gh (19.0 KB)
Hello,
Thanks for raising the point! This is not so much a bug as it is a change in design from v4 to v5, and it’s unrelated to the use of <empty>s. The v4 version of the component only required that the paths match. In our experience, this enabled some bad behavior, where you could have two trees with matching paths, but a different number of items in the two trees, which could produce unpredictable results without giving any indication of such.
Therefore, in v5, the trees have to match exactly, meaning the same number of items as well, which is why you’re getting that error message.
There is a new component in v5 which makes it easier to align these trees, by using the Get Matching Branches component and removing the empty branches in advance.
Generally speaking eleFront v5 does nudge the user to be more hands-on, rigorous and explicit about what’s going on with their trees, since we find that inconsistent tree management is an extremely common source of errors.