Animated component with multiple sub-components - silly problem

Goal: create a kitchen cabinet that, when clicked, performs the following actions:

Top drawer slides open
Left door swings out
Right door swings out
Interior shelf slides out
2nd interior shelf slides out

Problem: no matter what I do or what syntax I try, I CANNOT get the ■■■■ shelves to slide out. Even if I clone the drawer and change it to the shelf shape, it doesn’t work.
In the outliner, they are properly showing as sub-components of a component.

I’ve tried ANIMATE, ANIMATEFAST, and ANIMATECUSTOM - it doesn’t matter.

In other words, it recognizes “DRAWER_24_ANI!Y” as the commmand to target the item DRAWER_24_ANI and apply the Y axis modification to it. But when asked to do the exact same thing to another component, it throws the error message.

It’s obviously something simple I’m not seeing, but what is it?

Problematic cabinet animation.skp (144.4 KB)

Drawer opens OK
Doors open OK
Shelves are NOT happening

Have you tried this extension?

I’ve tried it but I wasn’t happy with the results. And anyway, I’m trying to learn the syntax for doing it manually as I need…

Problematic cabinet animation.skp (109.4 KB)

1 Like

That works, thank you!

But now I’m even more confused. I see a function “doors_shelf”, but it just says “0”. How does this work?

animate creates a set of points between values. So “doors_shelf” is an custom named attribute that responds to onclick

ANIMATECUSTOM(“doors_shelf”,2,0.5,0.5,0,140)
for first 90, the doors rotate, next 25, one shelf moves, at half the rate (/2) second shelf moves after 115 at half rate too. All done by referencing “doors_shelf” from doors RotZ, shelves Y

One uses condition statements to excess the points on the 'time line" with rates of multiply or divide to speed or slow down, could add pauses or run other actions simultaneously.

As a check you can put a value in “doors_shelf” to see result at any point

2 Likes