Add ztools and silo as git submodules in mods/

- Create mods/ directory for Kindred Create addon modules
- Add ztools workbench as submodule at mods/ztools
- Add silo parts database as submodule at mods/silo
- Update README with new project structure and submodule instructions
This commit is contained in:
forbes
2026-01-27 08:22:53 -06:00
parent 2a67ca5f11
commit 929f61aef2
4 changed files with 215 additions and 93 deletions

6
.gitmodules vendored
View File

@@ -10,3 +10,9 @@
[submodule "src/Mod/AddonManager"]
path = src/Mod/AddonManager
url = https://github.com/FreeCAD/AddonManager.git
[submodule "mods/ztools"]
path = mods/ztools
url = git@gitea.kindred.internal:kindred/ztools-0065.git
[submodule "mods/silo"]
path = mods/silo
url = git@gitea.kindred.internal:kindred/silo-0062.git

300
README.md
View File

@@ -1,119 +1,233 @@
<a href="https://freecad.org"><img src="/src/Gui/Icons/freecad.svg" height="100px" width="100px"></a>
# Kindred Create
### Your own 3D Parametric Modeler
**An engineering-focused parametric 3D CAD platform built on FreeCAD 1.0+**
[Website](https://www.freecad.org) •
[Documentation](https://wiki.freecad.org) •
[Forum](https://forum.freecad.org/)
[Bug tracker](https://github.com/FreeCAD/FreeCAD/issues) •
[Git repository](https://github.com/FreeCAD/FreeCAD) •
[Blog](https://blog.freecad.org)
[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.
[![Release](https://img.shields.io/github/release/freecad/freecad.svg)](https://github.com/freecad/freecad/releases/latest) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad)
---
<img src="/.github/images/partdesign.png" width="800"/>
## Overview
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.
* **Freedom to build what you want** FreeCAD is an open-source parametric 3D
modeler made primarily to design real-life objects of any size.
Parametric modeling allows you to easily modify your design by going back into
your model history to change its parameters.
**Key additions over base FreeCAD:**
* **Create 3D from 2D and back** FreeCAD lets you sketch geometry-constrained
2D shapes and use them as a base to build other objects.
It contains many components to adjust dimensions or extract design details from
3D models to create high quality production-ready drawings.
- **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
- **Catppuccin Mocha Theme** - Dark theme optimized for extended work sessions
* **Designed for your needs** FreeCAD is designed to fit a wide range of uses
including product design, mechanical engineering and architecture,
whether you are a hobbyist, programmer, experienced CAD user, student or teacher.
Kindred Create is maintained by [Kindred Systems LLC](https://www.kindred-systems.com).
* **Cross platform** FreeCAD runs on Windows, macOS and Linux operating systems.
---
* **Underlying technology**
* **OpenCASCADE** A powerful geometry kernel, the most important component of FreeCAD
* **Coin3D library** Open Inventor-compliant 3D scene representation model
* **Python** FreeCAD offers a broad Python API
* **Qt** Graphical user interface built with Qt
## Features
### ztools Workbench
Installing
----------
The ztools workbench provides a unified interface that consolidates functionality from multiple FreeCAD workbenches while adding custom engineering-oriented tools.
Precompiled packages for stable releases are available for Windows, macOS and Linux on the
[latest releases page](https://github.com/FreeCAD/FreeCAD/releases/latest).
#### Consolidated Toolbars (17 total)
On most Linux distributions, FreeCAD is also directly installable from the
software center application.
ztools exposes commands from PartDesign, Sketcher, Assembly, and Spreadsheet workbenches through a single unified interface:
For weekly development releases visit the [releases page](https://github.com/FreeCAD/FreeCAD/releases/).
- **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
Other options are described on the [wiki Download page](https://wiki.freecad.org/Download).
#### Custom Datum Tools
Compiling
---------
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.
FreeCAD requires several dependencies to correctly compile for development and
production builds. The following pages contain updated build instructions for
their respective platforms:
**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
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
The theme is automatically applied when using Kindred Create.
---
## Installing
### Prebuilt Binaries
Prebuilt packages for Linux are available on the [releases page](https://github.com/anthropics/create-0070/releases).
### Building from Source
Kindred Create uses the same build system as FreeCAD. Build instructions for each platform:
- [Linux](https://wiki.freecad.org/Compile_on_Linux)
- [Windows](https://wiki.freecad.org/Compile_on_Windows)
- [macOS](https://wiki.freecad.org/Compile_on_MacOS)
- [MinGW](https://wiki.freecad.org/Compile_on_MinGW)
Reporting Issues
---------
To report an issue please:
- Consider posting to the [Forum](https://forum.freecad.org), [Discord](https://discord.com/invite/w2cTKGzccC) channel, or [Reddit](https://www.reddit.com/r/FreeCAD) to verify the issue;
- Search the existing [issues](https://github.com/FreeCAD/FreeCAD/issues) for potential duplicates;
- Use the most updated stable or [development versions](https://github.com/FreeCAD/FreeCAD/releases/) of FreeCAD;
- Post version info from `Help > About FreeCAD > Copy to clipboard`;
- Restart FreeCAD in safe mode `Help > Restart in safe mode` and try to reproduce the issue again. If the issue is resolved it can be fixed by deleting the FreeCAD config files.
- Start recording a macro `Macro > Macro recording...` and repeat all steps. Stop recording after the issue occurs and upload the saved macro or copy the macro code in the issue;
- Post a Step-By-Step explanation on how to recreate the issue;
- Upload an example file (FCStd as ZIP file) to demonstrate the problem;
For more details see:
- [Bug Tracker](https://github.com/FreeCAD/FreeCAD/issues)
- [Reporting Issues and Requesting Features](https://github.com/FreeCAD/FreeCAD/issues/new/choose)
- [Contributing](https://github.com/FreeCAD/FreeCAD/blob/main/CONTRIBUTING.md)
- [Help Forum](https://forum.freecad.org/viewforum.php?f=3)
> [!NOTE]
The [FPA](https://fpa.freecad.org) offers developers the opportunity
to apply for a grant to work on projects of their choosing. Check
[jobs and funding](https://blog.freecad.org/jobs/) to know more.
Usage & Getting Help
--------------------
The FreeCAD wiki contains documentation on
general FreeCAD usage, Python scripting, and development.
View these pages for more information:
- [Getting started](https://wiki.freecad.org/Getting_started)
- [Features list](https://wiki.freecad.org/Feature_list)
- [Frequent questions](https://wiki.freecad.org/FAQ/en)
- [Workbenches](https://wiki.freecad.org/Workbenches)
- [Scripting](https://wiki.freecad.org/Power_users_hub)
- [Developers Handbook](https://freecad.github.io/DevelopersHandbook/)
The [FreeCAD forum](https://forum.freecad.org) is a great place
to find help and solve specific problems when learning to use FreeCAD.
---
<p>This project receives generous infrastructure support from
<a href="https://www.digitalocean.com/">
<img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="91px">
</a> and <a href="https://www.kipro-pcb.com/">KiCad Services Corp.</a>
</p>
## 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
├── Mod/ # FreeCAD modules
├── 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 entry points
│ ├── internal/ # Go packages
│ ├── pkg/freecad/ # FreeCAD workbench
│ └── deployments/ # Docker configuration
└── resources/ # Branding and preferences
├── branding/ # Splash screens and logos
└── preferences/ # Default preference packs
```
The `mods/ztools` and `mods/silo` directories are git submodules. After cloning, initialize them with:
```bash
git submodule update --init --recursive
```
---
## Reporting Issues
When reporting issues:
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

1
mods/silo Submodule

Submodule mods/silo added at 5ee88a657f

1
mods/ztools Submodule

Submodule mods/ztools added at e6f1de4ef8