/FreeCAD-Movie

Create and play videos in FreeCAD

Primary LanguagePythonGNU Lesser General Public License v2.1LGPL-2.1

FreeCAD Movie Workbench

FreeCAD Workbench to animate cameras and objects, record and play videos

The Movie Workbench icon

Features

The Movie Camera and Objects toolbars (animate cameras and objects):

  • Create animations of cameras and objects separately or simultaneously, showing the details of your project.
  • It is possible to create cameras/objects animations between two chosen points, making them follow a path or rotating them on a fixed base/axis.
  • The camera targets can be free, fixed, or mobile with the option to make them follow the path together with the camera.
  • Once the camera animations are established, it is possible to make further adjustments to the positions, rotations, and zooms of the cameras until reaching the final desired settings.
  • If you already have an animation in another workbench, you can add cameras animations and produce render videos with the connection module (see below more details).
The Animation toolbar (visualize your animations within FreeCAD):

  • You can play, pause, go back and forward the cameras/objects animations in real time within FreeCAD, before record them in videos.
The Clapperboard toolbar (record and play videos):

  • Create frames from the FreeCAD 3D views (R1) or the rendered ones (R2).
  • Create videos from them.
  • Check the results playing the videos you have created.

(Watch the video tutorial on using camera sequence)

(Watch the video with the camera following a path and a target and animated objects)

(Watch the video using the sequence of cameras and one that follows a path and target, 3D view frames)

(Watch the video using the sequence of cameras and one that follows a path and target, rendered frames)

(Watch the video with the cameras following paths and targets)

(Watch the Video with object animation by Sketches)

Installation

Via Addon Manager (Recommended)
  • Menu Tools > Addon Manager
  • Locating Movie Worbench and installing it
  • Restart FreeCAD
Manually install using GitHub
  • Download the ZIP file (click 'Clone or Download' button above)
  • For Ubuntu and similar OS's, extract it inside /home/username/.local/share/FreeCAD/Mod
  • For Windows, extract it inside C: \Users\your_user_name\AppData\Roaming\FreeCAD\Mod
  • On macOS it is usually /Users/username/Library/Preferences/FreeCAD/Mod
  • Launch FreeCAD

Preparation

  • If you want to use the rendered frames (R2), you must install the Render Workbench (from version 2023.02.05), prepare rendering projects and test them preventively to make sure everything is working correctly (see information in FreeCAD-Render). It is also recommended to take advantage and use some cameras from this workbench that better show the animation.
  • If you want to use an animation from another workbench, script or macro of FreeCAD, there are at least two ways. The first and simplest is to check whether the existing animation of another workbench allows activation through a component (common in mechanical assemblies). If so, animate this component with the Movie Workench using the MovieObjects tool (see instructions below). Leave "Obj_03 Refresh" enabled (true) to trigger the external animation. From there, carry out other Movie operations according to the guidelines below. If the external animation is not mechanical, it is necessary to prepare the connection module for using them (ex. Modified ExplodedAssembly). For this, see the instructions inside the Connection.py and select the external workbench in "Cam_3Connection" of CameraMovie properties.

Usage

To create camera animations, go to Movie Cameras and objects toolbar and:

  1. Click on the Create a Movie Camera button to create one and to configure it (see the tips showed for each item in the property window - a Movie Camera properties image is shown below).
  2. Initially, a static camera is created. You can use it like this in a object animation, as a fixed camera. To configure the movie camera to animations between two positions, first, select and activate the Movie Camera you want to configure with the Enable Movie Camera icon . Position the 3D view with the desired framing to be the start of the animation (Pos A), click on Set the Position A button . Position the 3D view with the desired framing to be the end of the animation (Pos B), then click on Set the Position B button . Click on go to beginning and to the end of the animation buttons to confirm the configurations. Make the adjustments you want in the position, rotation, and zoom of the Movie Camera (see Movie Camera properties image below).
  3. To make that the Movie Camera follows a route, you must create a segment first to do so. It can be a line, arc, circle, ellipse, B-spline or Bézier curve, from Sketcher or Draft Workbenches. Polylines cannot be used because it will imply stops in every intermediate point. Select the segment created in Cam_Route_Selection property. Configure the remaining camera properties.
  4. To keep the movie Camera on a fixed base, you can use the Pos A and B buttons method explained, for example. Use the same position for then, adjusting the remaining settings as desired (rotation, zoom, steps, target, etc.).
  5. The targets of the Movie Cameras can be adjusted to follow paths, fixed or mobile points or objects or living free to permit use of rotations angles, for example.
  6. To create animations of cameras and objects simultaneously, prepare one or more movie camera animations (according to the previous instructions) then create the objects animations (see instructions below) and include them in sequence in Cam_5ObjectsSelected property, in Cam_6Enable one, chose 'Camera and objects'.
  7. To apply animation from another workbench, see the second instruction in the “Preparation” item, described previously.
  8. To perform an animation, first select one or more Movie Cameras you want to animate , the sequence of Movie Cameras selected will be the one adopted for the animation. Run a round trip in the animation with the go buttons to the end and to the beginning of the animation to reset all the steps of the animation in their initial positions. Then click on Play Animation button . You can play backwards too - Play Backward button . If a connection is previously configured and activated in the movie camera properties, objects related to this connection will be animated as well.
  9. Use the go to beginning , one step back , pause , one step forward and go to end buttons as needed. They will also work with the objects or workbench animations connected, if so.
To create object animations, go to Movie Cameras and Objects toolbar and:

  1. Select the objects you want to animate, click on the Create a Movie Objects button to create one and to configure it (see the tips showed for each item in the property window - a Movie Objects properties image is shown below). These initial placements of the objects will be saved, and they can be rescue when you delete the movie objects with the Exclude Movie Objects button .
  2. To configure the movie objects to animations between two positions, first, select and activate the Movie Objects you want to configure with the Enable Movie Objects icon . Position each object at the desired position and angles to be the start of the animation (Pos A), click on Set the Position A button . Now, position each object at the desired position and angles to be the end of the animation (Pos B), then click on Set the Position B button . Click on go to beginning and to the end of the animation buttons to confirm the configurations.
  3. To make that the Movie Objects follows a route, you must create a segment first to do so. It can be a line, arc, circle, ellipse, B-spline or Bézier curve, from Sketcher or Draft Workbenches. Polylines cannot be used because it will imply stops in every intermediate point. Select the segment created in Objects_Route_Selection property. Configure the remaining object properties.
  4. To rotate a group of objects around a fixed axis, you have first create a MovieObjects and set its Pos A and B, then select only those objects among the group that you want to rotate (first the objects, then the axis) and click on Set Movie Objects Axis button . To erase these settings, first click on Enable the Movie Objects button then on Set Movie PosB button .
  5. If you want that the objects rotate around their centers of gravity, after create a MovieObjects and set its Pos A and B, habilitate the Objects_RotationCG property (True option).
  6. You can animate a series of movie objects in a desire sequence by clicking on them in the property window accordingly of that and enabling them (with the Enable Movie Objects button ). The animation will perform the sequence created.
  7. To create animations of cameras and objects simultaneously, you have to prepare one or more movie cameras and objects animations first (according to the previous instructions) and combine them in sequence (cameras with objects) in Cam_5ObjectsSelected property, then in Cam_6Enable one, chose 'Camera and objects'.
  8. To apply animation from another workbench, see the second instruction in the “Preparation” item, described previously.
  9. To perform an animation, first select one or more Movie Objects (objects only) or Movie Cameras (camera and objects) you want to animate, the sequence of selection will be the one adopted for the animation. Run a round trip in the animation with the go buttons to the end and to the beginning of the animation to reset all the steps of the animation in their initial positions. Then click on Play Animation button . You can play backwards too - Play Backward button . The animation of connected workbenches objects only works when associated with a movie camera (see instructions for movie cameras animation above).
  10. Use the go to beginning , one step back , pause , one step forward and go to end buttons as needed.
After the animations are done, go to Movie Record and Play toolbar (Clapperboard) and:

  1. Click on to create the Clapperboard and to configure it in the property window (see the tips showed for each item).
  2. Select the cameras and objects you want to animate and record through the clapperboard using the corresponding fields in the property window. Enable the Clapperboard and run a round trip, mentioned before.
  3. Position your animation at the desired step.
  4. Click on for record 3D view frames or for record rendered ones, choose or confirm the folder to salve the frames.
  5. Start the animation with the Play Animation button . You can play backwards (and record) too - Play Backward button .
  6. If You want only to stop recording, click on stop recording.
  7. If you need to stop the animation, click on pause button , it will also stop recording.
  8. After the animation finished, select the folder to salve your video and click on create video, choose or confirm the input frames folder.
  9. For playing video, select the file and click on play video.
The Movie Objects properties:

The Movie Camera properties:

The Clapperboard properties:

The Movie Cameras and Objects menu:

The Movie Animation menu:

The Movie Record and Play menu:

The context menu:

Documentation

For more information, see the TUTORIAL.md (also inside the Movie folder, after the installation). Wiki documentation will be available as soon as possible.

FreeCAD version

0.20 or superior

Feedback

For discussion, please use the Movie Workbench thread in the FreeCAD forum.

License

LGPL-2.1

Author

Francisco Rosa