spline tree error

Started by wyattarmstrong, September 25, 2024, 06:45:29 PM

Previous topic - Next topic

wyattarmstrong

Hey all,
Seem to be getting an error from the spline component when feeding it multiple lists at a time. Instead of compiling the list of planes into a single command it generates a command per plane - the commands within a list seem to be identical, so a workaround is just selecting the first command from a list, but it is computationally heavy...might be doing something wrong, let me know...

Johannes @ Robots in Architecture

Hello,
The spline component's plane input is set to use a list of planes (not a tree), so I'm guessing that one of the other values is confusing Grasshopper. Could you try temporarily disconnecting the VEL and E1 inputs?
Or if I misunderstood the question, it would be great if I could have a look at the file, either here in the forum or via email (preferably internalized without requiring additional plugins).
Thanks!
Johannes

wyattarmstrong

Thanks Johannes,
It seems to work when I feed the plane input a tree (result is one command per list in tree), but when I plug a matching tree into the E1 input the result is a command per list item in each list in the tree.

I was wondering if because it compiles a list of planes into a single command, it didn't like receiving a different E1 value per plane in the list, but the CIRC component does this - is the spline component able to do that?

Attached a sample script showing this.

Best,
Wyatt

wyattarmstrong

#3
It works if the E1 receives one plane per list in tree, so could do an average of the values in each list for the E1...

List structure that doesn't seem to work looks like:
PLN -
{0} 10 (items)
{1} 10 (...)
{2} 10
...

E1 -
{0} 10
{1} 10
{2} 10
...

Command output -
{0} 10
{1} 10
{2} 10
...

List structure that does work looks like:
PLN -
{0} 10
{1} 10
{2} 10
...

E1 -
{0} 1
{1} 1
{2} 1
...

Command output -
{0} 1
{1} 1
{2} 1
...

Johannes @ Robots in Architecture

Good Morning Wyatt,

Ah, thanks for the file, that helped a lot. So in the current implementation, the E0X inputs are items, i.e. they are one per spline. But on the robot side it shouldn't be a problem to have one external axis setting per frame.

I've made a new release that I'll send you separately. It works like that, that components that have previously been put into the file use the old implementation, while when you drag a new spline component in, it should support list input for external values.

I put it together quite quickly, so test it carefully and please let me know if it helps!
Best,
Johannes