cherry-pick #3: dock task panel right, remove non-Kindred themes (bb3f3ac6d6)
This commit is contained in:
351
README.md
351
README.md
@@ -1,113 +1,250 @@
|
||||
<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/)
|
||||
|
||||
|
||||
[](https://github.com/freecad/freecad/releases/latest) [](https://crowdin.com/project/freecad)
|
||||
|
||||
<img src="/.github/images/partdesign.png" width="800"/>
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
* **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.
|
||||
|
||||
* **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.
|
||||
|
||||
* **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.
|
||||
|
||||
* **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
|
||||
|
||||
|
||||
Installing
|
||||
----------
|
||||
|
||||
Precompiled packages for stable releases are available for Windows, macOS and Linux on the
|
||||
[latest releases page](https://github.com/FreeCAD/FreeCAD/releases/latest).
|
||||
|
||||
On most Linux distributions, FreeCAD is also directly installable from the
|
||||
software center application.
|
||||
|
||||
For weekly development releases visit the [releases page](https://github.com/FreeCAD/FreeCAD/releases/).
|
||||
|
||||
Other options are described on the [wiki Download page](https://wiki.freecad.org/Download).
|
||||
|
||||
Compiling
|
||||
---------
|
||||
|
||||
See the [Developers Handbook – Getting Started](https://freecad.github.io/DevelopersHandbook/gettingstarted/)
|
||||
for build instructions.
|
||||
|
||||
|
||||
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.
|
||||
> **MVP Release** - Kindred Create is currently in active development. Features and interfaces may change.
|
||||
|
||||
---
|
||||
|
||||
<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>
|
||||
## 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
|
||||
- **Catppuccin Mocha Theme** - Dark theme 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
|
||||
|
||||
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).
|
||||
|
||||
#### 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
|
||||
```
|
||||
|
||||
After installation, launch Kindred Create from your application menu or run `kindred-create` from the terminal.
|
||||
|
||||
### 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)
|
||||
|
||||
---
|
||||
|
||||
## 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
|
||||
|
||||
Reference in New Issue
Block a user