Purpose

Manage FreeCAD model sharing and linear versioning. This app shows the framework capabilities. Very few line of code describe the user interface and manage persistent data. We can view this application as a small PLM (Product Lifecycle Management) for FreeCAD.

Roles

  • ROLE_ADMIN

  • ROLE_PLM_USER

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

Server Installation

Configure the PLM Server

If you want just an overview, you can download the demo server, with default configuration, go directly in Launch Server Binaries.

Here are the step by step commands:

Clone the Intranet repository
git clone https://github.com/Taack/intranet.git
OR
git clone git@github.com:Taack/intranet.git
Go to app folder
cd intranet/app
Clone the PLM repository
git clone https://github.com/Taack/plm.git
OR
git clone git@github.com:Taack/plm.git

From here, you can build the server or run it. Change current directory to the intranet folder and either:

Build the server binaries (for production environment)
./gradlew bootJar
Launch the server (for development environment)
./gradlew bootRun

Launch Server Binaries

Demo version is available here: Taack PLM releases, download server-0.6.jar

If you choose to build the server binaries, go to :

Launch the server
java -jar server/build/libs/server-0.6.jar

Server Arguments

See server/grails-app/conf/application.yml for a list of available options

Options to the server can be passed this way:

Combining Options
java -DOption1=Value1 -DOption2=Value2 ... -jar server-0.3.jar
Options
  • 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'

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

FreeCAD Workbench Installation

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

addon screenshot2

Click on installation button.

Usage

Connect to the PLM

fc connect plm
Figure 1. Connect to the PLM
1 Server URL (with a trailing /)
2 Username
3 Password
4 Directory where downloaded parts will sit (make sure it is exclusively reserved for parts from the PLM)
5 Click Connect, wait for Connected to appear

Uploading Parts

Clicking on the Upload button (or Ok) in the Check-in tab will upload the file into your Intranet. The Intranet will create a preview, this process might take time.

freecad plm
Figure 2. Uploading to the PLM

Search for Parts

Then you can search for parts:

fc search plm
Figure 3. Search for Parts
1 Click on Search Part tab
2 Search Part
3 Top assemblies only (parts that do not belong to another part)
4 Click to open a dialog box with details
5 Preview of the part
6 Checkin, download the model locally and lock the file on the server so no one can upload a new version until you upload a new version
7 Download the model locally, in read-only mode
8 Close the window

Manage Uploaded Parts

freecad plm 2
Figure 4. Manage Uploaded Parts
1 Clicking on Checkin will lock the part for you to edit, and load the part into FreeCAD. Then, when you upload the part, your new changes will be added to the part history, and the part will be unlocked.
2 Clicking on Download Read-Only will download the part to your computer and open it in FreeCAD. You will not be able to upload changes to this part, unless you duplicate it.

Download Read-Only

Notice the READ_ONLY in the main Part ID field. If you attempt to upload it via the Check-in tab, an error message will remind you that the part is read-only. You will have to duplicate the part to upload a new version.

fc download only plm
Figure 5. Download Read-Only
1 Model hierarchy
2 Notice the READ_ONLY keyword
3 The 3D model

Duplicating Parts

To upload a Read-Only part, you must duplicate it. You can also duplicate a part that you checked in if you want to fork the model.

fc duplicate plm
Figure 6. Duplicating Parts
1 Choose how you want to duplicate the model, and click on Duplicate History to duplicate the model

This will create a new part on the server, and a link is maintained between the two parts:

freecad taack plm server part details duplicated
Figure 7. Duplicated Parts on the Server
1 Duplicated Parts tab
2 The cloned part
3 View the hierarchy graph of this part

Server Views

Part List

freecad taack plm server part list2
Figure 8. Part List
1 Context help
2 Filter to find a Part
3 Result list
4 Click to show dependency graph of the Assembly
5 Locked parts (Checked-in parts)

Part Details

freecad taack plm server part details
Figure 9. Details View of Parts
1 Preview of the current Version
2 Sub-parts, with Preview, links to the specific version of the sub-part
3 Version Info
4 Download the model and its sub-parts in a zip file
5 Preview of the model in a 3D wireframe viewer
6 Change Status of the part or unlock the part if you locked it or have the necessary permissions
7 Add tags to the part to ease searching for it

Part History

freecad taack plm server part details history
Figure 10. Part History
1 Initial Version
2 Part is unlocked, someone can check it in
3 Status changed from CREATED to FREE
4 New upload of the part, you can view the 3D wireframe of the old model to visually track changes
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.