Skip to main content

A library for programmatic timber frame CAD design

Project description

Kumiki

Kumiki is a Code assisted Design (CoAD) library for programmatically designing timber framed structures and woodworking in general.

As Kumiki is a CoAD library, it is well suited for usage with AI agents.

Kumiki is used together with Kigumi--a VSCode extension for viewing your kumiki designs!

setup

Kumiki is best used with Kigumi. To install Kigumi, install VSCode and install the Kigumi extension.

I think Kigumi also requires python3, the rest of the dependencies get installed automagically for you.

You can of course use Kumiki without Kigumi. You can still use Kigumi to setup your Kumiki projects and its dependencies.

your first kumiki project

Create a folder for your Kumiki project and open that folder in VSCode. Then click "Initialize Project" from the Kumiki menu. You may also run "kigumi: initialize project" command from the command pallete. This will create a placeholder my_cute_frame.py project file for you that you can build on!

Open the Kigumi menu by clicking on the Kigumi extension icon in the left side bar. You may also open Kigumi by opening the command palette in VScode (cmd/ctrl+shift+p). Start typing "kigumi" and choose the "View: Show Kigumi" command. You can open a Kumiki project file directly by choosing "Kigumi: Open Current File in Viewer" in the command pallete when that file is focused.

viewing the built in patterns and examples

Kigumi ships with a patternbook and several examples. These can be explored through the kigumi menu. You can choose to "view source" or "duplicate in workspace" if you want to modify the patterns.

making changes

Kigumi designs are built with CODE. You can write this CODE yourself, or you can ask AI to write the CODE for you.

Kigumi installs with a set of AI agent instructions. The installed kumiki Python package includes the Kumiki library source files, built-in patterns, and the docs/ content, so those resources are present in the Python environment used by Kigumi. Using human like prompting should serve you pretty well. Using carpentry or woodworknig terminology will serve you better. Please refer to the patternbook for the list of available joints. It's best to build your structure in increments previewing each step along the way but I won't stop you from asking your agent to "build me a house". You can implement your own joints as well. The AI agents currently struggle with this especially if you are unfamiliar with terminology and geometry conventions for prompting it, so don't expect much. Someday I'll have better prompting examples and skills to share here. Stay tuned.

To learn more about authoring Kumiki designs without AI, please start with docs/concepts.md to learn more about Kumiki's design philosophy, and then proceed with the various example structures that ship with Kumiki. Kumiki is very SIMPLE and VERBOSE by design. So it LOOKS complex but in actuality, it is quite simple to understand. A typical structure is built as follows:

  • estabalish a footprint
  • erect foundational timbers on the footprint
  • join foundational timbers with additional timbers to complete the "shape" of the structure
  • cut joints on timbers to properly connect the timbers completing the structure

Understanding Kumiki will also allow you to better instruct the agent to implement your designs! For example, instead of saying "I want my building to be an L shape" you might say "establish an L shaped footprint for the building". If you ever have questions, you can also just ask the agent to explain!

Drawing Support

To generate drawings, your best bet right now is to export as STEP or STL files and generate drawings in another software. Kumiki/Kigumi will add support for this in 3 stages:

  1. ability to measure features relative to each other in Kigumi
  2. ability to generate and export drawings inside kigumi

Developing Kumiki

To setup for local development, just check out this repo and use uv to manage all your dependencies. The Makefile has convenient shortcuts for all your setup and testing needs.

Kigumi has a separate project scanning flow such that it can be used with the Kumiki repo itself as the workspace. Just use Kigumi like you normally would to test Kumiki.

Developing Kigumi

TODO

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kumiki-0.4.0.tar.gz (6.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kumiki-0.4.0-py3-none-any.whl (289.4 kB view details)

Uploaded Python 3

File details

Details for the file kumiki-0.4.0.tar.gz.

File metadata

  • Download URL: kumiki-0.4.0.tar.gz
  • Upload date:
  • Size: 6.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kumiki-0.4.0.tar.gz
Algorithm Hash digest
SHA256 638cb2065a79a6326eb3136e6657d6c967eacb6d611d3793fc762f7cd5c6ad32
MD5 c7aa082de306dd90e9cff97a0759308b
BLAKE2b-256 09635050879cf29186708951a3f37791d98ec0ad350e7bed0568ba15941e827c

See more details on using hashes here.

Provenance

The following attestation bundles were made for kumiki-0.4.0.tar.gz:

Publisher: release.yml on minimapletinytools/kumiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file kumiki-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: kumiki-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 289.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for kumiki-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f954d90424237c3d96060cb9589547d86dff57fc3a82521eca6afe5561e70832
MD5 ea511760d679f35f3f710284f497eaa9
BLAKE2b-256 4fc8e5c5f966bd227bfb052404c13e38c572632b66f4573bc61d156c65d68c1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for kumiki-0.4.0-py3-none-any.whl:

Publisher: release.yml on minimapletinytools/kumiki

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page