Some checks failed
Build and Test / build (push) Has been cancelled
- Update .gitmodules: ztools, silo, and OndselSolver now reference public git.kindred-systems.com URLs instead of internal Gitea - Merge OndselSolver numerical solver with ML solver scaffolding into unified kindred/solver repository - Rewrite README.md for conciseness - Add docs/CI_CD.md with full pipeline documentation - Rework CI/CD workflows for public dockerized runners - Add multi-platform release builds (Linux, macOS, Windows) - Release workflow triggers on v* tags only - Update docs/REPOSITORY_STATE.md and docs/INTEGRATION_PLAN.md
152 lines
6.1 KiB
Markdown
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/preferences/ # Default preferences and theme
|
|
├── 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).
|