One-click diagram beautifier for Capella MBSE. Automatically arranges SAB, LAB, PAB, SDFB and all diagram types using the ELK Layered algorithm. Just install and click.
- Beautify H — arranges diagrams left-to-right (horizontal flow)
- Beautify V — arranges diagrams top-to-bottom (vertical flow)
- Plug-and-play — install the JAR, restart Capella, done
- Works on all diagram types — SAB, LAB, PAB, SDFB, OAB, and more
- ELK auto-configuration — no manual setup required; injects optimal ELK Layered settings automatically
- Hierarchical layout — arranges elements inside containers too (INCLUDE_CHILDREN)
- Capella 7.0.1
- ELK bundles installed in Capella (included in the full installation package)
Important: The plugin requires ELK (Eclipse Layout Kernel) to work. Without ELK, the buttons will appear but the layout will not work correctly. Use the Full Installation package below.
- Download
capella-beautifier-v1.0.2-full.zipfrom Releases - Unzip the package
- Copy
capella-beautify-1.0.2.jarto your Capella dropins folder:- macOS:
/Applications/Capella.app/Contents/Eclipse/dropins/ - Windows:
C:\Program Files\Capella\eclipse\dropins\
- macOS:
- Copy all JARs from the
plugins/folder to your Capella plugins folder:- macOS:
/Applications/Capella.app/Contents/Eclipse/plugins/ - Windows:
C:\Program Files\Capella\eclipse\plugins\
- macOS:
- Restart Capella (first launch may need
-cleanflag) - macOS only:
sudo xattr -cr /Applications/Capella.app(if blocked by Gatekeeper)
If ELK is already installed in your Capella:
- Download
capella-beautify-1.0.2.jarfrom Releases - Copy it to
<Capella>/dropins/ - Restart Capella
Check that your Capella plugins/ folder contains these files:
org.eclipse.elk.core_*.jarorg.eclipse.elk.alg.layered_*.jarorg.eclipse.sirius.diagram.elk_*.jar
If they're missing, use the Full Package above.
Note: The compiled JAR is cross-platform — the same
.jarworks on macOS, Windows, and Linux.
./scripts/build-macos.sh
# Output: dist/capella-beautify-1.0.2.jar
scripts\build-windows.bat
REM Output: dist\capella-beautify-1.0.2.jar
Requires Capella 7.0.1 installed (the build uses its plugin JARs as compile dependencies).
The plugin automatically injects the following ELK Layered options into all diagram descriptions:
| Option | Value | Purpose |
|---|---|---|
elk.algorithm |
layered |
Layered (Sugiyama) algorithm |
elk.direction |
RIGHT / DOWN |
Flow direction (per button) |
elk.edgeRouting |
ORTHOGONAL |
Right-angle edge bends |
elk.layered.layering.strategy |
NETWORK_SIMPLEX |
Minimizes total edge length |
elk.layered.nodePlacement.strategy |
BRANDES_KOEPF |
Compact node placement |
elk.hierarchyHandling |
INCLUDE_CHILDREN |
Layout inside containers |
elk.layered.crossingMinimization |
LAYER_SWEEP |
Reduces edge crossings |
elk.spacing.nodeNode |
8 |
Tight node spacing |
elk.spacing.nodeNodeBetweenLayers |
12 |
Spacing between layers |
elk.padding |
3 |
Container padding |
- On session open: A
SessionManagerListenerinjects ELK configuration into allDiagramDescriptionobjects - On button click: The handler creates a fresh ELK config with the selected direction, applies it to the diagram description, and triggers a standard Sirius
ArrangeRequest - Post-processing: Refreshes functional chain styles, physical path styles, and normalizes zero-sized nodes
This plugin was inspired by and builds upon ideas from:
- CapellaLayoutPatch by Open Modeling — demonstrated that ELK Layered produces excellent results on Capella diagrams via
.odesignconfiguration - MBSE-Capella Forum: Effectively beautifying diagrams — community discussion on diagram layout approaches
- Obeo Blog: A picture is worth a thousand words — Sirius/ELK integration concepts
This plugin takes a different architectural approach (programmatic injection via SessionManagerListener + RecordingCommand instead of permanent .odesign modification) and does not share code with any of the above projects.
Juan Carlos López Calvo LinkedIn