---
name: "crystal-facet-uml"
section: "1"
platform: "linux"
package: "crystal-facet-uml"
version: "1.63.3-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/crystal-facet-uml"
---

# crystal-facet-uml(1)

creates a set of uml diagrams. crystal-facet-uml ensures consistency of relationships and uml element names between different diagrams. crystal-facet-uml exports diagrams in various vector and pixel-based image formats.

## NAME

crystal-facet-uml - creates a set of uml diagrams. crystal-facet-uml ensures consistency of relationships and uml element names between different diagrams. crystal-facet-uml exports diagrams in various vector and pixel-based image formats.

## SYNOPSIS

**crystal-facet-uml** \[**-u** *database\_file* \]

**crystal-facet-uml** {**-t** \| **-r**} *database\_file*

**crystal-facet-uml** {**-h** \| **-v**}

**crystal-facet-uml** -e *database\_file* *export\_format* *export\_directory*

**crystal-facet-uml** -i *database\_file* *import\_mode* *json\_input\_file*

## DESCRIPTION

crystal-facet-uml provides a graphical user interface to

• create, modify and delete diagrams,

• create, modify and delete UML/SysML elements,

• create, modify and delete relationships,

• cut, copy, paste elements between diagrams,

• undo and redo are supported,

• multiple windows can show different or same parts of the uml model,

• search for elements.

Diagrams are layouted part-automatically:

• The user chooses the relative location of elements towards others,

• crystal-facet-uml selects the exact locations of shown elements.

• The user controls the positions of messages/transitions in sequence and timing diagrams,

• crystal-facet-uml auto-layouts relationships in other diagrams.

crystal-facet-uml manages a meta model:

• Diagrams are organized as a tree, similar to a book's table-of-contents;

• Uml(TM)/SysML(TM) elements exist only once even if shown in many diagrams;

• Relationships and features are consistent between all diagrams;

• Diagram-local messages/transitions are supported in scenario-based interaction diagrams: sequence, communication, timing, interaction overview.

• These extension mechanisms of UML are supported: Tagged values and stereotypes including stereotype images.

Diagrams can be exported as

• images: pdf, ps, svg, png,

• text: utf-8, DocBook, html,

• machine-readable model: json, xmi(TM).

crystal-facet-uml can also be started from command line

• to export all diagrams automatically or

• to import a previously exported json file or

• to check and repair database files.

## OPTIONS

Without options, the program starts in graphical mode. See crystal-facet-uml\_documentation.pdf for graphical mode usage.

- **-u** *database\_file*

  Starts in graphical mode and opens the database\_file immediately.

  If the file does not exist, a new, empty database is created. If database\_file ends on .cfu1, a binary database file is created. Otherwise, a json data file is created.

- **-t** *database\_file*

  Tests the consistency of a database\_file. In case of an error, a non-zero value is returned.

- **-r** *database\_file*

  Tests the consistency of a database\_file and repairs found issues.

- **-h**

  Show summary of options.

- **-v**

  Show version

**-e** *database\_file* *export\_format* *export\_directory*

Exports all diagrams of a database\_file in export\_format to the export\_directory. Valid formats are: docbook, html, json, pdf, png, ps, svg, txt, xmi. Please be aware that the export overwrites possibly existing files in the export\_directory without notice.

**-i** *database\_file* *import\_mode* *json\_input\_file*

Imports elements from json\_input\_file to the database\_file. Valid modes are: check, add. Please create a backup of your database\_file before importing.

## EXAMPLE

The json-based data file can be stored in a version control system (vcs) like svn or git.

• Note that this feature requires at least version 1.39.0 to work smoothly.

• Do not synchronize the file with your vcs while you modify it at the same time; save your changes first, close the application and re-open the json file afterwards.

• In case of merge conflicts in the json-based data files, note that uuid strings do uniquely identify all json objects. Relations between objects are defined by these uuid strings. In contrast to uuids, integer-id can be changed as long as they are unique among all objects of same type within the file. Also the names of classifiers (nodes) must be unique.

• To see the changes between versions of the json file, consider to use the following option: **git diff --patience** The result may better explain the changes.

## DIAGNOSTICS

The following diagnostics may be issued on syslog:

EVT : ...

An event occurred (DEBUG mode only).

ANOM: ...

Something unexpected happened that was handled (DEBUG mode only).

WARN: ...

Something unexpected happened that may cause a failure.

ERR : ...

Something unexpected happened that has caused a failure.

**journalctl -f** allows one to read the syslog.

## BUGS

The upstreams BTS can be found at **https://github.com/awarnke/crystal-facet-uml/issues**.

## AUTHOR

**Andreas Warnke** \<cfu@andreaswarnke.de\>

wrote this manpage for Unix and Linux systems.

## COPYRIGHT

Copyright © 2018-2025 Andreas Warnke\

This manual page was written for Unix and Linux systems.

Permission is granted to copy, distribute and/or modify this document under the terms of the Apache-2.0 License.
