Files
create/README.md
forbes 6773ca0dfd
Some checks failed
Build and Test / build (pull_request) Has been cancelled
fix(theme): eliminate QSS/CFG duplication (#51)
- Make src/Gui/Stylesheets/KindredCreate.qss the single source of truth
- Generate PreferencePacks QSS copy at build time via configure_file()
- Merge missing preference defaults into PreferencePacks cfg:
  Document (undo, autosave, backup, license), TreeView (PreSelection,
  SyncView, SyncSelection), NotificationArea, OutputWindow recording,
  General (AutoloadModule=ZToolsWorkbench)
- Delete unused resources/preferences/KindredCreate/ directory
- Delete src/Gui/PreferencePacks/KindredCreate/KindredCreate.qss from source
- Update documentation to reflect single QSS location
2026-02-08 17:41:26 -06:00

152 lines
6.1 KiB
Markdown

# Kindred Create
**An engineering-focused parametric 3D CAD platform built on FreeCAD 1.0+**
[Website](https://www.kindred-systems.com/create) |
[Downloads](https://git.kindred-systems.com/kindred/create/releases) |
[Issue Tracker](https://git.kindred-systems.com/kindred/create/issues)
> Kindred Create is in active development. Features and interfaces may change.
---
## What is Kindred Create?
Kindred Create is a fork of [FreeCAD](https://www.freecad.org) that adds integrated tooling for professional engineering workflows. It ships two custom workbenches and a purpose-built dark theme on top of FreeCAD's parametric modeling core.
**ztools** -- A unified workbench that consolidates part design, assembly, and sketcher tools into a single interface. Adds custom datum creation (planes, axes, points with 16 creation modes), pattern tools for assemblies, an enhanced pocket with flip-side cutting, and spreadsheet formatting commands.
**Silo** -- A parts database system for managing CAD files, part numbers, revisions, and bills of materials across teams. Includes a Go REST API server backed by PostgreSQL and MinIO, with FreeCAD commands for opening, saving, and syncing files directly from the application. A dock panel provides in-viewport browsing and search.
**Catppuccin Mocha theme** -- A dark theme applied across the entire application, including the 3D viewport, sketch editor, spreadsheet view, and tree view. Uses spanning-line branch indicators instead of disclosure arrows.
Kindred Create is maintained by [Kindred Systems LLC](https://www.kindred-systems.com).
---
## Installing
### Prebuilt packages (Linux)
Download from the [releases page](https://git.kindred-systems.com/kindred/create/releases).
**Debian/Ubuntu:**
```bash
sudo apt install ./kindred-create_*.deb
```
**AppImage:**
```bash
chmod +x KindredCreate-*.AppImage
./KindredCreate-*.AppImage
```
### Building from source
Kindred Create uses [pixi](https://pixi.sh) for dependency management and CMake for building.
```bash
git clone --recursive ssh://git@git.kindred-systems.com:2222/kindred/create.git
cd create
pixi run configure
pixi run build
pixi run install
pixi run freecad
```
Debug and release variants are available (`pixi run build-debug`, `pixi run build-release`). See `CMakePresets.json` for platform-specific presets covering Linux, macOS, and Windows.
For general FreeCAD compilation guidance, see the FreeCAD wiki for [Linux](https://wiki.freecad.org/Compile_on_Linux), [Windows](https://wiki.freecad.org/Compile_on_Windows), or [macOS](https://wiki.freecad.org/Compile_on_MacOS).
---
## Usage
Kindred Create is compatible with standard FreeCAD workflows. The [FreeCAD wiki](https://wiki.freecad.org/Getting_started) covers general usage.
### ztools
Select the ztools workbench from the workbench selector. It presents consolidated toolbars from PartDesign, Sketcher, Assembly, and Spreadsheet in a single interface. ZTools commands are also injected into the PartDesign workbench menus and toolbars automatically.
See `mods/ztools/` for workbench-specific documentation.
### Silo
Silo requires a running server instance. See `mods/silo/README.md` for server deployment instructions.
The FreeCAD workbench reads configuration from:
- `SILO_API_URL` -- Server API endpoint (default: `http://localhost:8080/api`)
- `SILO_PROJECTS_DIR` -- Local projects directory (default: `~/projects`)
On first launch, Kindred Create prompts for Silo server configuration. Silo commands (Open, Save, Commit, Pull, Push, BOM) are available in the File menu across all workbenches.
---
## Project structure
```
create/
├── src/
│ ├── App/ # Core application (C++)
│ ├── Base/ # Base classes (C++)
│ ├── Gui/ # GUI framework and stylesheets (C++)
│ ├── Mod/ # FreeCAD modules (PartDesign, Assembly, Sketcher, ...)
│ │ └── Create/ # Kindred bootstrap module -- loads ztools and Silo
│ └── 3rdParty/ # Vendored dependencies (OndselSolver, GSL)
├── mods/ # Kindred addon workbenches (git submodules)
│ ├── ztools/ # ztools workbench
│ └── silo/ # Silo parts database
├── resources/ # Branding, icons, desktop integration
├── package/ # Packaging (Debian, AppImage, Windows installer, RPM)
├── .gitea/workflows/ # CI/CD (build and release pipelines)
├── docs/ # Architecture and integration docs
├── CMakeLists.txt # Root build configuration
├── CMakePresets.json # Platform build presets
└── pixi.toml # Pixi environment and tasks
```
The `mods/` workbenches are git submodules. If you cloned without `--recursive`, initialize them with:
```bash
git submodule update --init --recursive
```
---
## Contributing
Contributions follow the [FreeCAD Contribution Process](CONTRIBUTING.md) (FCP). Submit changes as pull requests against the `main` branch.
Code quality tools are configured and enforced via pre-commit hooks:
- **C/C++**: clang-format, clang-tidy
- **Python**: black (100-char lines), pylint
Install pre-commit hooks locally:
```bash
pip install pre-commit
pre-commit install
```
## Reporting issues
Report issues at the [issue tracker](https://git.kindred-systems.com/kindred/create/issues). When reporting:
1. Note whether the issue involves Kindred Create additions (ztools, Silo, theme) or base FreeCAD
2. Include version info from **Help > About FreeCAD > Copy to clipboard**
3. Provide reproduction steps and attach example files (FCStd as ZIP) if applicable
For base FreeCAD issues, also check the [FreeCAD issue tracker](https://github.com/FreeCAD/FreeCAD/issues).
---
## License
[LGPL-2.1-or-later](LICENSE), consistent with FreeCAD.
## Acknowledgments
Built on [FreeCAD](https://www.freecad.org) and its ecosystem: [OpenCASCADE](https://www.opencascade.com/), [Coin3D](https://github.com/coin3d/coin), [Qt](https://www.qt.io/), [Python](https://www.python.org/). Theme colors from [Catppuccin](https://github.com/catppuccin/catppuccin).