Skip to main content

FreeCAD Simple Animation Workbench

Project description

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 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

freecad.i10g-0.0.1.tar.gz (27.2 kB view details)

Uploaded Source

Built Distribution

freecad.i10g-0.0.1-py3-none-any.whl (36.0 kB view details)

Uploaded Python 3

File details

Details for the file freecad.i10g-0.0.1.tar.gz.

File metadata

  • Download URL: freecad.i10g-0.0.1.tar.gz
  • Upload date:
  • Size: 27.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.6

File hashes

Hashes for freecad.i10g-0.0.1.tar.gz
Algorithm Hash digest
SHA256 72d7888e8a8669ba9f9649e285abe27b690666577de09717635ced1e70a1f151
MD5 2f2c2aa999c8e9ed161a427a09bebe0e
BLAKE2b-256 f2d2344e4090de5d688ac174847db364c4694c5eff16c09da6122b4786608019

See more details on using hashes here.

File details

Details for the file freecad.i10g-0.0.1-py3-none-any.whl.

File metadata

  • Download URL: freecad.i10g-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 36.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.23.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.6

File hashes

Hashes for freecad.i10g-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0305456ac7ed7471caa5558db5d2ea23c25a6fb270af1cbcd80d79870a3fa6f5
MD5 747388026230fce0d10824a843b6c737
BLAKE2b-256 a2cc6fd916c18771cd2152f0d0e79978afa9fdfc4c833dece3b2b6fd2a5c3307

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page