Files
create/README.md
forbes af31594e24
Some checks failed
Build and Test / build (push) Has been cancelled
fix: prevent QThread crash and Unknown command warnings on startup
InitGui.py: Store SiloAuthDockWidget reference on the QDockWidget to
prevent Python from garbage-collecting it while its 30-second QTimer is
still running. The lost reference caused 'QThread: Destroyed while
thread is still running' followed by abort.

ztools InitGui.py: Move addWorkbenchManipulator() call from module-level
into Initialize(), after command modules are imported. The manipulator
references ZTools_DatumCreator, ZTools_DatumManager, ZTools_EnhancedPocket,
and ZTools_RotatedLinearPattern, which don't exist until the imports run.

Also updates README.md and submodule pointers.
2026-02-01 19:52:10 -06:00

12 KiB

Kindred Create

An engineering-focused parametric 3D CAD platform built on FreeCAD 1.0+

WebsiteFreeCAD DocumentationFreeCAD Forum

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.


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 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.

Debian/Ubuntu (.deb)

Download the .deb package from the releases page and install with:

sudo dpkg -i kindred-create_*.deb
sudo apt-get install -f  # Install any missing dependencies

Or install directly with apt:

sudo apt install ./kindred-create_*.deb

AppImage

Download the .AppImage file from the releases page, make it executable, and run:

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 for dependency management and CMake for building. Pixi handles all build dependencies automatically via conda packages.

Prerequisites

  • pixi (conda-based package manager)
  • Git with submodule support

Build Steps

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:

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:


Usage

Getting Started

Kindred Create is compatible with standard FreeCAD workflows. The FreeCAD wiki provides documentation on general usage:

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:

git submodule update --init --recursive

Reporting Issues

Report issues at 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.


License

Kindred Create is licensed under the LGPL-2.1-or-later license, consistent with FreeCAD.


Acknowledgments

Kindred Create is built on FreeCAD, an open-source parametric 3D modeler. We acknowledge the FreeCAD community and contributors for their foundational work.

Underlying Technology: