# 3D animation¶

3D animation provides a way to visualize simulations in 3D.

Salabim supports the ‘classical’ 2D animation along with a 3D animation. The 3D animation is particularly useful for showing the functionality of a system to domain experts, where objects are moving up and down, like stacking systems, multi storey facilities and complex road infrastructure. But also just to make a visualy more attractive presentation (video).

3D animations always run in parallel with the tkinter (2D) window, to control the simulation (pausing, exiting, etc). Also custom buttons may be installed in that window. And of course, a 2D animation as well.

As with 2D animations, animation calls can be still given when animation is actually off. In that case, there is hardly any impact on the performance.

The 3D animation uses its own coordinate system.

All 3D animation objects are so called new style animation classes.

The following 3D classes are available as of now:

• Animate3dBox
• Animate3dBar
• Animate3dCylinder
• Animate3dRectangle
• Animate3dLine
• Animate3dObj

On top of that, animation of the components of a queue in 3D is accomplished with Animate3dQueue(). It is possible to use the standard shape of components, which is a box of size 1 in all directions. The queue can be build up in +x, -x, +y, -y, +z, -z direction. It is possible to limit the number of component shown.

It is possible to overlay a 2d animation object (like AnimateText) over the 3D windows. This is done by adding (over3d=True) to the Animatexxx call. This feature is particularly useful for videos.