Skip to content

anderson-/inbetweening

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Inbetweening

logo

donate Liberapay GitHub Repo stars GitHub

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.

GIF

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!

Features

  • 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

Getting Started

Prerequisites

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 latest 4.4 version produce artifacts in the outputed GIF or doesn't have support for the parameter image2pipe

Tested on linux

Installing

Python pip

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

Linux

wget -qO- https://github.com/anderson-/inbetweening/archive/refs/heads/main.zip | busybox unzip -d ~/.FreeCAD/Mod -

Usage

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.

Toolbar Overview

Add an Animation folder object to the current document, the current scene is set as the first step of the animation

Create an example document

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

Abort the export process

Example

This example can be created automagically using the button

  1. Create a Part::Box, add it to a App::Part, and make it not visible

  2. Create 3 App::Link, and position them side by side, this will be the first animation step

  3. Select the i10g workbench and click to add an Animation folder, it should already set the current scene as the first step

step0

First step

  1. Move all the cubes, 10mm up
  2. Set Visibility = False for the first one
  3. For the second one:
    • Set OverrideMaterial = True
    • Change ShapeMaterial color to red
  4. Rotate the third one by 90°

step1

Second step

  1. Click to add a step

  2. Click to preview the animation

  3. Select Animation folder in the tree, set FFmpeg path and set Resolution to 426x240

  4. Click to export a GIF file

GIF

Result

Example of a 4k/2160p (3840x2160) 60fps video export: https://www.youtube.com/watch?v=RZUoOqqV1uE

Development

To reload the workbench for easy development, use the folowing command in the python console:

Gui.activateWorkbench('Inbetweening'); App.DEV=1; Gui.runCommand('ReloadWorkbench')

Acknowledgments

Special thanks to Lorenz Lechner - @looooo for his work on the workbench_starterkit and freecad.gears

About

FreeCAD Simple Animation Workbench

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages