Inbetweening (abbreviated as i10g) is a WYSIWYG (What You See Is What You Get) animation workbench for FreeCAD. It enables you to save the current placement, visibility and color of an assembly, composed of App:::Link
objects, as an animation "step". The workbench interpolates between steps to create smooth transitions. It can be used to create exploded-view animations.
Example of a GIF exported using i10g
If you find this workbench useful, please consider supporting my work on Liberapay or PayPal. Starring and sharing also helps! Thanks!
- Create transitions between different states of visibility, placement and color
- Preview animation in realtime
- Export images, videos and gifs
Note: Object rotation is simplified to the shorter path
If you have problems with the exported video/GIF, please check your ffmpeg version. For me
4.3.2
(bundled with the flatpak build) and the latest4.4
version produce artifacts in the outputed GIF or doesn't have support for the parameterimage2pipe
Tested on linux
Please check if the current python environment is the same used in your installation of FreeCAD
python3 -m pip install freecad.i10g
or
python3 -m pip install https://github.com/anderson-/inbetweening/archive/refs/heads/main.zip
wget -qO- https://github.com/anderson-/inbetweening/archive/refs/heads/main.zip | busybox unzip -d ~/.FreeCAD/Mod -
Before starting, I reccommend to backup your work, and consider creating an extra file for the main assembly, importing each part as an App::Link
by using the Std LinkMake
button.
Add an
Animation
folder object to the current document, the current scene is set as the first step of the animation
Adds another step to the end of the current animation
In the tree view
represents the current selected step, the other steps should have the icon
Duplicate the current selected step
Updates the selected step to reflect the current scene
Controls the animation preview
Export the current view using parameters from
Animation
folder
Export video file using parameters from
Animation
folder
Export GIF file using parameters from
Animation
folder
-
Create a
Part::Box
, add it to aApp::Part
, and make it not visible -
Create 3
App::Link
, and position them side by side, this will be the first animation step -
Select the i10g workbench and click
to add an
Animation
folder, it should already set the current scene as the first step
First step
- Move all the cubes, 10mm up
- Set
Visibility = False
for the first one - For the second one:
- Set
OverrideMaterial = True
- Change
ShapeMaterial
color to red
- Set
- Rotate the third one by 90°
Second step
-
Select
Animation
folder in the tree, setFFmpeg
path and setResolution
to426x240
Result
Example of a 4k/2160p (3840x2160) 60fps video export: https://www.youtube.com/watch?v=RZUoOqqV1uE
To reload the workbench for easy development, use the folowing command in the python console:
Gui.activateWorkbench('Inbetweening'); App.DEV=1; Gui.runCommand('ReloadWorkbench')
Special thanks to Lorenz Lechner - @looooo for his work on the workbench_starterkit and freecad.gears