Manage FreeCAD model sharing and linear versioning.




See configure roles in Crew to add the role into your Intranet

Server Installation

Launch FreeCAD on the server

On a Linux server, grab FreeCAD AppImage file, install xvfb-run, then launch in background FreeCAD:

Launch FreeCAD in background
xvfb-run ./FreeCAD_0.20.2-2022-12-27-conda-Linux-x86_64-py310.AppImage

Install from Server Binaries

Download the latest server binaries from releases.

Launch the server app:

Launch the server
java -jar server-0.3.jar

Server Arguments

Options to the server can be passed this way:

Combining Options
java -DOption1=Value1 -DOption2=Value2 ... -jar server-0.3.jar
  • Path the Intranet store its files: -Dintranet.root=/home/test/someDir

  • Server port: -Dserver.port=9444

  • Database url:`-DdataSource.url='jdbc:h2:./prodDb2;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE'`

  • Freecad appimage path: -Dplm.freecadPath=/somePath…​

  • Dot exe path: -Dexe.dot.path=/somePath…​

Install from Source

Clone the plm repository:

Clone PLM repo
git clone git@github.com:Taack/plm.git

Then copy the content of the plm folder into your intranet app folder (see intranet installation)

Then configure the server to know about this new app by changing server/build.gradle file. Grails section should look like this after changes:

server configuration
grails {
    exploded = true
    plugins {
        implementation project(':crew')
        // other apps here ...
        implementation project(':plm')

Set the FreeCAD path in the server/conf/application.yml file appending:

Specific PLM Configuration
  freecadPath: ${HOME}/FreeCAD_0.20.2-2022-12-27-conda-Linux-x86_64-py310.AppImage

You can also install graphviz and set the dot executable path. It is used to display graphs and might be useful to display model dependency graph in a near future. In server/conf/application.yml:

Dot executable configuration
    path: /usr/bin/dot
    #path: /opt/homebrew/bin/dot

Start your intranet issuing under the intranet folder:

Run Server from Source
./gradlew server:bootRun

You can produce a Jar file:

Build Server Binary from Source
./gradlew server:assemble

The server will be located under server/build/libs

FreeCAD Workbench Installation

First, install python-protobuf. If you use FreeCAD < 0.21, dependencies are not installed automatically when installing the workbench.

Install Protobuf for FreeCAD < 0.21
pip install protobuf

Go into Tools > Addon Manager then refresh local cache and search for Taack.

addon screenshot

Click on install button.


plm1 screenshot
Figure 1. Select Taack PLM Workbench
plm2 screenshot
Figure 2. Click on Taack icon
plm3 screenshot
Figure 3. Enter your credential into your server

Clicking on OK button will upload the file into your Intranet. The Intranet will create a preview, this process might take time.

plmweb1 screenshot
Figure 4. The history of the part…​
If you have many links, import them from the same computer. From other computers, download the zip file from your intranet.

That’s it, I will record some videos demonstrating this app capabilities.


  • Add model graph icon

  • Update deps for a model (with Deep option)

  • Delete latest version

  • …​