I’ve been working on a personal/open-source project called ForgePLM and recently started experimenting with integrating it into Formlabs workflows.
Not trying to sell anything here—just sharing something I’ve been building and getting feedback from people who actually use PreForm day-to-day.
ForgePLM is an open-source PLM system focused on tightly controlling parts, revisions, ECOs, and manufacturing artifacts.
GitHub: ForgePLM GitHub repository
This repo is fairly active at the moment. Trying to make sure I keep up with videos of new features as they come online.
Idea: Treat the .form file as a controlled artifact
The basic workflow I’m playing with:
-
Select STL files that are tied to revisions (in a PLM-like system)
-
Create what I’m calling a “Hammer Build”
-
printer
-
material
-
quantities
-
-
Use PreForm (headless) to generate a
.formfile -
Store that
.formalong with:-
which files were used
-
which revisions
-
quantities
-
timestamp / version
-
Then optionally open it in PreForm for final tweaks.
The idea is pretty simple:
Instead of
.formbeing a temporary file, treat it as something you can track and come back to later.
Putting Metadata on the Part
PreForm already has some solid features here:
-
You can place text directly on models in PreForm
-
You can print filenames on the raft
I’ve used both—helpful, but still a bit disconnected from the original design intent.
So I started exploring a few approaches:
1. CAD-driven (ideal when available)
If you’re working in something like SolidWorks:
-
Apply metadata directly as geometry:
-
part number
-
revision
-
etc.
-
Example:
CM-0000510-101
That text becomes part of the STL → shows up in PreForm → gets printed on the part.
2. PreForm-driven (for broader use)
For people working directly from STL files:
- It might be possible to drive PreForm’s text placement via API (not sure yet—still digging)
That would let you:
-
inject metadata at the build stage
-
keep things consistent even with customer-supplied files
3. Future idea
Potentially:
- add metadata via an STL post-processing step
Not there yet, just thinking out loud.
Why I’m exploring this
The recurring problem I’ve seen:
-
Files get exported
-
Builds get tweaked in PreForm
-
Parts get printed
-
Later…
“What file did this actually come from?”
Trying to close that loop a bit so:
-
builds are trackable
-
inputs are known
-
and ideally… the part itself carries some identity
Curious what others are doing
-
Are you embedding any metadata into parts today?
-
Do you rely on raft labels?
-
Have you tried using the text tool in PreForm for this kind of thing?