# Kindred Create **An engineering-focused parametric 3D CAD platform built on FreeCAD 1.0+** [Website](https://www.kindred-systems.com/create) • [FreeCAD Documentation](https://wiki.freecad.org) • [FreeCAD Forum](https://forum.freecad.org/) > **MVP Release** - Kindred Create is currently in active development. Features and interfaces may change. --- ## Overview Kindred Create is a fork of FreeCAD 1.0+ that integrates custom workbenches and tooling for professional engineering workflows. It combines the power of FreeCAD's parametric modeling with purpose-built extensions for part design, assembly management, and parts database integration. **Key additions over base FreeCAD:** - **ztools Workbench** - Unified interface consolidating part design, assembly, and drawing tools with custom engineering features - **Silo Integration** - Parts database system for tracking, versioning, and managing CAD files across teams, with an interactive browsing panel for searching, opening, and inspecting parts directly from the dock - **Catppuccin Mocha Theme** - Dark theme with spanning tree branch indicators, optimized for extended work sessions Kindred Create is maintained by [Kindred Systems LLC](https://www.kindred-systems.com). --- ## Features ### ztools Workbench The ztools workbench provides a unified interface that consolidates functionality from multiple FreeCAD workbenches while adding custom engineering-oriented tools. #### Consolidated Toolbars (17 total) ztools exposes commands from PartDesign, Sketcher, Assembly, and Spreadsheet workbenches through a single unified interface: - **Structure & Sketcher Tools** - Body/Sketch creation, editing, mapping, validation - **PartDesign Datums** - Planes, lines, points, coordinate systems, binders, clones - **Additive Features** - Pad, revolution, loft, pipe, helix, and primitives - **Subtractive Features** - Pocket, hole, groove, loft, pipe, helix, and primitives - **Transformations** - Mirror, linear pattern, polar pattern, multi-transform - **Dress-Up Features** - Fillet, chamfer, draft, thickness - **Boolean Operations** - Union, intersection, difference - **Assembly Tools** - Create assembly, insert link, insert new part - **Assembly Joints** - 13 joint types (fixed, revolute, cylindrical, slider, ball, distance, parallel, perpendicular, angle, rack-pinion, screw, gears, belt) - **Assembly Management** - Toggle grounded, solve, create view, create BOM, export - **Spreadsheet Tools** - Create, import, export, aliases, merge/split cells #### Custom Datum Tools ztools includes a custom datum creation system with 16 creation modes, using a purpose-built attachment system that stores geometry references for reliable parametric updates. **Datum Planes (7 modes):** - Offset from Face - Distance offset perpendicular to a face - Offset from Plane - Distance offset from an existing datum plane - Midplane - Plane equidistant between two parallel faces - 3 Points - Plane defined by three vertices - Normal to Edge - Plane perpendicular to an edge at a specified parameter - Angled - Plane rotated about an edge by a specified angle - Tangent to Cylinder - Plane tangent to a cylindrical surface **Datum Axes (4 modes):** - 2 Points - Axis through two vertices - From Edge - Axis aligned with a linear edge - Cylinder Center - Axis at the center of a cylindrical face - Plane Intersection - Axis at the intersection of two planes **Datum Points (5 modes):** - At Vertex - Point at a selected vertex - XYZ Coordinates - Point at absolute coordinates - On Edge - Point at a parameter along an edge - Face Center - Point at the centroid of a face - Circle Center - Point at the center of a circular edge #### Custom Pattern Tools - **Rotated Linear Pattern** - Linear pattern with incremental rotation per instance - **Assembly Linear Pattern** - Pattern assembly components linearly with spacing control - **Assembly Polar Pattern** - Pattern assembly components around a rotation axis #### Enhanced Pocket SOLIDWORKS-style "Flip Side to Cut" feature that removes material outside the sketch profile instead of inside, using boolean operations internally. #### Spreadsheet Formatting Tools Dark-theme compatible formatting commands for spreadsheets: - Bold, italic, underline toggles - Left, center, right alignment - Background and text color pickers - Quick alias creation from cell labels ### Silo Parts Database Silo is a parts database system designed for managing CAD files, part numbers, and revision history across engineering teams. **Architecture:** - **Server Daemon** - Go-based REST API server - **PostgreSQL** - Relational data storage for part metadata, relationships, and revision history - **MinIO** - S3-compatible object storage for CAD file versioning - **FreeCAD Workbench** - Integrated commands for check-in, check-out, and synchronization **Core Capabilities:** - Configurable part numbering schemas defined in YAML - Full revision history with status tracking (draft, review, released, obsolete) - Bill of materials management with relationship types and quantities - Project-based organization and tagging - CSV import/export for bulk operations - Web interface for browsing and searching parts **FreeCAD Integration:** - Open, save, and commit files directly to Silo - Pull latest revisions and push changes - View item metadata and revision history - **Database Activity Panel** - Interactive dock panel for browsing, searching, and opening parts without leaving the 3D viewport. Includes search filtering, type filtering (part/assembly), a details pane showing metadata (part number, description, type, revision, projects), and direct open/info actions. Silo documentation is available in the `mods/silo/` directory. ### Catppuccin Mocha Theme A comprehensive dark theme using the [Catppuccin Mocha](https://github.com/catppuccin/catppuccin) color palette, applied across: - Main window, toolbars, and menus - 3D viewport backgrounds and selection colors - Sketch editor colors for edges, vertices, and constraints - Python console and code editor syntax highlighting - Spreadsheet backgrounds and text - Property editor and tree view - All dialog and widget styling - Tree view branch indicators using spanning lines (`├`, `└`, `│`) instead of disclosure arrows The theme is automatically applied when using Kindred Create. --- ## Installing ### Prebuilt Binaries Prebuilt packages for Linux are available on the [releases page](https://git.kindred-systems.com/kindred/create/releases). #### Debian/Ubuntu (.deb) Download the `.deb` package from the releases page and install with: ```bash sudo dpkg -i kindred-create_*.deb sudo apt-get install -f # Install any missing dependencies ``` Or install directly with apt: ```bash sudo apt install ./kindred-create_*.deb ``` #### AppImage Download the `.AppImage` file from the releases page, make it executable, and run: ```bash chmod +x KindredCreate-*.AppImage ./KindredCreate-*.AppImage ``` After installation, launch Kindred Create from your application menu or run `kindred-create` from the terminal. ### Building from Source Kindred Create uses [pixi](https://pixi.sh) for dependency management and CMake for building. Pixi handles all build dependencies automatically via conda packages. #### Prerequisites - [pixi](https://pixi.sh) (conda-based package manager) - Git with submodule support #### Build Steps ```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 ``` To launch the built application: ```bash pixi run freecad ``` #### Platform Support CMake presets are available for: - **Linux** (x86-64, aarch64) - Clang compiler - **macOS** (Intel, Apple Silicon) - Clang compiler - **Windows** - MSVC compiler See `CMakePresets.json` for platform-specific configuration. For general FreeCAD build guidance: - [Linux](https://wiki.freecad.org/Compile_on_Linux) - [Windows](https://wiki.freecad.org/Compile_on_Windows) - [macOS](https://wiki.freecad.org/Compile_on_MacOS) --- ## Usage ### Getting Started Kindred Create is compatible with standard FreeCAD workflows. The FreeCAD wiki provides documentation on general usage: - [Getting started](https://wiki.freecad.org/Getting_started) - [Features list](https://wiki.freecad.org/Feature_list) - [Workbenches](https://wiki.freecad.org/Workbenches) - [Scripting](https://wiki.freecad.org/Power_users_hub) ### ztools Workbench The ztools workbench is available from the workbench selector. On activation, it presents consolidated toolbars and applies the Catppuccin Mocha theme to spreadsheets. ### Silo Setup Silo requires a running server instance with PostgreSQL and MinIO. See `mods/silo/README.md` for server deployment instructions. Configure the FreeCAD workbench with environment variables: - `SILO_API_URL` - Silo server API endpoint (default: `http://localhost:8080/api`) - `SILO_PROJECTS_DIR` - Local projects directory (default: `~/projects`) --- ## Project Structure ``` kindred-create/ ├── src/ # FreeCAD core source │ ├── App/ # Core application logic │ ├── Base/ # Base classes and utilities │ ├── Gui/ # GUI framework │ │ └── Stylesheets/ # Theme stylesheets and assets │ ├── Mod/ # FreeCAD modules (PartDesign, Assembly, Sketcher, etc.) │ │ └── Create/ # Kindred Create module (loads addon workbenches) │ └── 3rdParty/ # Vendored dependencies (OndselSolver, GSL) ├── mods/ # Kindred Create addon modules (git submodules) │ ├── ztools/ # ztools workbench │ │ ├── ztools/ # Workbench package │ │ │ ├── InitGui.py # Workbench registration │ │ │ └── ztools/ # Commands and resources │ │ └── CatppuccinMocha/ # Theme preference pack │ └── silo/ # Silo parts database │ ├── cmd/ # Go server entry points │ ├── internal/ # Go API, database, storage packages │ ├── pkg/freecad/ # FreeCAD workbench (Python) │ ├── deployments/ # Docker configuration │ └── migrations/ # PostgreSQL migrations ├── resources/ # Branding and preferences │ ├── branding/ # Splash screens and logos │ ├── preferences/ # Default preference packs │ └── icons/ # Application icons (16x16 to 512x512) ├── package/ # Packaging (debian, AppImage) ├── .gitea/workflows/ # CI/CD workflows (build, release) ├── CMakeLists.txt # Root CMake configuration ├── CMakePresets.json # Platform-specific CMake presets └── pixi.toml # Pixi environment and dependency definition ``` The `mods/ztools` and `mods/silo` directories are git submodules. After cloning, initialize them with: ```bash git submodule update --init --recursive ``` --- ## Reporting Issues Report issues at [git.kindred-systems.com/kindred/create/issues](https://git.kindred-systems.com/kindred/create/issues). When reporting: 1. Specify whether the issue is with Kindred Create additions (ztools, Silo, theme) or base FreeCAD functionality 2. Include version info from `Help > About FreeCAD > Copy to clipboard` 3. Provide steps to reproduce the issue 4. Attach example files if applicable (FCStd as ZIP) For base FreeCAD issues, consider also checking the [FreeCAD issue tracker](https://github.com/FreeCAD/FreeCAD/issues). --- ## License Kindred Create is licensed under the [LGPL-2.1-or-later](LICENSE) license, consistent with FreeCAD. --- ## Acknowledgments Kindred Create is built on [FreeCAD](https://www.freecad.org), an open-source parametric 3D modeler. We acknowledge the FreeCAD community and contributors for their foundational work. **Underlying Technology:** - [OpenCASCADE](https://www.opencascade.com/) - Geometry kernel - [Coin3D](https://github.com/coin3d/coin) - 3D scene representation - [Qt](https://www.qt.io/) - GUI framework - [Python](https://www.python.org/) - Scripting and workbench development - [Catppuccin](https://github.com/catppuccin/catppuccin) - Color palette