Skip to content

Releases: pietrobb/Ketchup

Ketchup 0.3.0

Choose a tag to compare

@pietrobb pietrobb released this 30 Oct 00:54

Ketchup 0.3.0 puts DXF and DWG drawings under the model and lets you work on them, turns rule programs into drawing sets, cutting plans and quotes, gives Ketchup Viewer a language switch and a default projection, and makes connecting an AI harness a one-click step. It has about 530 changes since 0.2.0.

Work in progress. Ketchup is still far from a finished product. Expect missing features, rough edges, and bugs. Don't keep important models only in Ketchup yet.

What's new since 0.2.0

Drawings under the model (underlays)

  • Keep a DXF or DWG drawing under the model, snap to it, and fit it by two points. It draws hatches, texts, points, true ellipses, and splines, reads old DOS code pages, and places drawings in national grid coordinates near the model.
  • Work on the drawing itself: pick its lines, texts, and hatches; move, turn, and copy them; Trim, Extend, and Offset its lines; write text into it; and export it back to DXF or DWG.
  • Tools → Pull drawing area up turns a click inside a closed area of the drawing into a solid. A drawing can stand in space as a plan or as a front, back, left, or right view.
  • A program can build from a drawing too: from_underlay makes a solid from a closed region or a room named in the drawing.
  • The Layers panel counts what each underlay layer holds, and a drawing that is damaged in places is read with the bad elements skipped and named.

Programs and production

  • window() and door() cut their opening and keep a door's swing clear. Each counts as one bought item in the hardware list.
  • The Program parameters section edits a program's param() values. Edits made in the window, such as Push/Pull, Move, renames, and colours, are written back into the program's own lines.
  • Drawing sets come out as numbered DXF or DWG sheets with a sheet list. They include a shop drawing of each build-up the program names, and mark the windows and doors on every plan. Exporting a set again replaces its old sheets.
  • Cutting plans from declared stock (bar_stock(), sheet_stock()): sheet layers are laid from whole boards that keep the factory edges.
  • A quote from the program's own prices (price()), a fastener catalogue with ratings you can override (connector()), and a CNC DXF of each flat part.
  • Structural checks cover more cases honestly: notches over bearings, members on one support, wall frames without header depth, and side-only contacts.

Exports and speed

  • COLLADA (DAE) export for SketchUp. STL, 3MF, GLB, and DAE exports run in the background.
  • After an edit, the exact check measures only the parts that changed and their neighbours, spread over idle workers. Rotate beside a large model confirms about 100 ms faster.
  • A document is saved in the oldest format that holds it, so a file without underlays and annotations still opens in 0.1.0 and 0.2.0.

Ketchup Viewer

  • A Settings menu picks the interface language (English or Slovenčina) and the projection a fitted view opens in (perspective or parallel). Both are remembered between starts, in the Windows, macOS, Android, and web Viewer. The author of a package can also set a projection; your own choice wins.
  • A package shows the dimensions the program placed, and a scene saved as a plan or elevation opens orthographic. Measured millimetres use your language's decimal mark.
  • The Viewer has its own download, Ketchup-Viewer-0.3.0-Portable.zip: one signed KetchupViewer.exe you can send to a client together with a .ketchup-view package, with nothing to install.

Connecting your AI harness

  • The Connect AI section shows what Claude Code and Codex would start for Ketchup. If that is a program that no longer exists, it shows its path, and Set up or Use this Ketchup fixes it for every folder.
  • Ketchup.exe --mcp-setup does the same from a terminal, and the installer's last page offers it as a checkbox.
  • Over MCP, a client opens and imports local files without a consent prompt, and failures name their cause.

macOS

  • Ketchup and Ketchup Viewer build and run on Apple Silicon Macs (scripts/macos/build-app.sh). This release has Windows downloads only.

Files from 0.2.0 open in 0.3.0. A file with underlays or annotations needs 0.3.0.

Install

  1. Download Ketchup-0.3.0-Setup.exe and run it. It installs for the current user, without administrator rights, into %LOCALAPPDATA%\Programs\Ketchup and adds Ketchup and Ketchup Viewer to the Start menu. It replaces 0.2.0 in place. Leave Connect Claude Code and Codex to Ketchup (if installed) ticked on the last page to set up your AI harness. If you'd rather not install anything, use Ketchup-0.3.0-Portable.zip instead.
  2. Download Ketchup-0.3.0-Examples.zip, unpack it, and double-click any .ketchup file. kitchen.ketchup-view opens in Ketchup Viewer.
  3. To only view packages, download Ketchup-Viewer-0.3.0-Portable.zip, unpack it, and open a .ketchup-view file with KetchupViewer.exe.

Requires Windows 10 or 11 x64. The installer and the programs are signed by AEON GROUP spol. s r.o.

Connect your AI harness

Ketchup has no built-in chat. You connect the AI harness you already use, such as Claude Code, Codex, Claude Desktop, or Cursor, over MCP. Every AI edit goes through the same validation and Undo as a manual edit.

The installer sets up Claude Code and Codex for you. To do it later, run Ketchup.exe --mcp-setup or click Set up in Connect AI. By hand:

claude mcp add --scope user ketchup -- "$env:LOCALAPPDATA\Programs\Ketchup\Ketchup.exe" --mcp
codex mcp add ketchup -- "$env:LOCALAPPDATA\Programs\Ketchup\Ketchup.exe" --mcp

See the README.

Checksums (SHA-256)

See SHA256SUMS.txt.

Ketchup 0.2.0

Choose a tag to compare

@pietrobb pietrobb released this 18 Oct 10:47

Ketchup 0.2.0 makes everyday modeling more predictable, checks timber and manufacturing more honestly, and keeps your files and your machine safer. It has about 320 changes since 0.1.0.

Work in progress. Ketchup is still far from a finished product. Expect missing features, rough edges, and bugs. Don't keep important models only in Ketchup yet.

What's new since 0.1.0

Typing values

  • Every value field reads a value the same way: your system's decimal separator, units, and arithmetic, for example 2*20,30 or 1m - 2*18mm. Separate several values with ;, x, or :. A value that could mean two things is refused with a hint instead of guessed. Exponents such as 2.1e5 work too.
  • Esc, Ctrl+Z, or switching tools while you type drops the value together with its operation. A refused value stays on screen with the reason.
  • Scale has grips on the selection box: a corner scales evenly, an edge along two axes, a face along one. It takes a factor, x;y;z, or the length to reach.

Modeling

  • Sketch, Push/Pull, Move, Rotate, and Scale behave alike: each operation is one Undo step, and a value typed for a selection that has since changed is refused.
  • Lines drawn on an exact body lie on its face, and a Push/Pull drag released while the solid is still computing is applied when it is ready.
  • The feature history can change or remove a tapped hole's thread. Deleting a component definition also removes its members.

Manufacturing and structural checks

  • Tapped holes use shop tap drills (M8: 6.8 mm) and the DIN 76-1 runout. Their thread goes into BTLx, the production job, and the part drawing. woodWOP refuses such a part by name.
  • A mirrored copy of a part gets its own BOM row and part drawing.
  • Timber columns and beams are checked on their real section: bores, L profiles, notches, leaning columns, and shear. A member Ketchup cannot check reliably is reported as not verified instead of passing.
  • Gravity and collisions use measured contacts. A press fit up to 0.01 mm counts as contact.
  • Drawing DXF files are valid ASCII R12. DXF and DWG import skips paper-space layouts and hidden entities.

Files, programs, and safety

  • Saving and opening long Undo histories is faster and smaller. A file from a newer Ketchup is refused instead of silently losing data, and work recovery is more robust.
  • Rule programs run in a separate process with memory and time limits, so a runaway program can't take the window down. DWG files are read there too.
  • STEP and IGES export run in the background with Cancel. Large imports get a time budget that matches their size.
  • Plugins run from a hashed private copy under stricter argument rules. Consent prompts can't be disguised by control characters.
  • Over MCP, an export answers with the files it wrote and a failure names its cause. A client asks before importing a local file, and the window attach uses a signed handshake.

Ketchup Viewer

  • Picking is faster, and comments stay small on large models. On Android, the Viewer opens packages of 120 MB, keeps the open package between starts, and recovers an interrupted save.

Files from 0.1.0 open in 0.2.0. A file saved by 0.2.0 may need 0.2.0 to open.

Install

  1. Download Ketchup-0.2.0-Setup.exe and run it. It installs for the current user, without administrator rights, into %LOCALAPPDATA%\Programs\Ketchup and adds Ketchup and Ketchup Viewer to the Start menu. It replaces 0.1.0 in place. If you'd rather not install anything, use Ketchup-0.2.0-Portable.zip instead.
  2. Download Ketchup-0.2.0-Examples.zip, unpack it, and double-click any .ketchup file. kitchen.ketchup-view opens in Ketchup Viewer.

Requires Windows 10 or 11 x64. The installer and the programs are signed by AEON GROUP spol. s r.o.

Connect your AI harness

Ketchup has no built-in chat. You connect the AI harness you already use, such as Claude Code, Codex, Claude Desktop, or Cursor, over MCP. Every AI edit goes through the same validation and Undo as a manual edit.

claude mcp add ketchup -- "$env:LOCALAPPDATA\Programs\Ketchup\Ketchup.exe" --mcp
codex mcp add ketchup -- "$env:LOCALAPPDATA\Programs\Ketchup\Ketchup.exe" --mcp

The Connect AI section in the side panel shows whether a harness is connected and has the exact command ready to copy. See the README.

Checksums (SHA-256)

See SHA256SUMS.txt.

Sample files and artwork

Pre-release

Choose a tag to compare

@pietrobb pietrobb released this 16 Oct 05:50

Large sample documents and artwork that are not needed to build or test Ketchup. They live here instead of in the Git tree, so a checkout stays small; the repository history still holds the earlier copies.

File What it is
tiny-house.ketchup A timber-frame house of about 750 parts, generated from examples/programs/tiny-house.star.
example02.ketchup An older sample document.
garden-studio-colored.blend The colored garden studio imported into Blender (artifacts/blender/import_garden_studio.py writes it from the GLB).
ketchup-modeler.png Screenshot of the desktop modeler shown in the README.
icons.png, iconsnew.png Icon design sheets.
ketchup-interface-standalone.html Standalone interface design prototype (formerly newdesign/).
garden-studio*.validation.json, garden-studio-exact.blender-reference.json Evidence of the external Blender run of the garden studio, removed from the tree after f21e891; the local-only tests test_garden_studio_exact and garden_studio_source_parity read them from examples/.

Tagged at f21e891, the last commit that carried these files in the tree.

Ketchup 0.1.0

Choose a tag to compare

@pietrobb pietrobb released this 14 Oct 11:31

First public release of Ketchup, an open-source 2D/3D parametric modeler for Windows with exact geometry and safe, undoable AI.

Work in progress. Ketchup is still far from a finished product. Expect missing features, rough edges, and bugs. Don't keep important models only in Ketchup yet.

Install

  1. Download Ketchup-0.1.0-Setup.exe and run it. It installs for the current user, without administrator rights, into %LOCALAPPDATA%\Programs\Ketchup and adds Ketchup and Ketchup Viewer to the Start menu. If you'd rather not install anything, use Ketchup-0.1.0-Portable.zip instead.
  2. Download Ketchup-0.1.0-Examples.zip, unpack it, and double-click any .ketchup file. kitchen.ketchup-view opens in Ketchup Viewer.

Requires Windows 10 or 11 x64. The installer and the programs are signed by AEON GROUP spol. s r.o.

Examples

File What it shows
hettich-quadro-v6-drawer.ketchup An articulated drawer assembly with exact STEP parts, joints, travel limits, and a motion study
table.ketchup A small table driven by a rule program; a good first model to edit
wardrobe-chair-table.ketchup Furniture with 82 bodies and hundreds of drilled holes
tiny-house.ketchup A timber-frame house of about 750 parts with layers, material takeoff, and project drawings
house-project.ketchup A larger generated house
garden-studio-colored.ketchup A colored garden studio built from exact solids
grooved-beam-array.ketchup A 480-occurrence timber stress scene
kitchen.ketchup-view A read-only package for Ketchup Viewer, where you can add and save comments
programs/*.star The rule programs behind the models, which an AI harness can use as templates

Connect your AI harness

Ketchup has no built-in chat. You connect the AI harness you already use, such as Claude Code, Codex, Claude Desktop, or Cursor, over MCP. The harness can then open, inspect, edit, validate, render, import, and export in your open Ketchup window. Every AI edit goes through the same validation and Undo as a manual edit.

claude mcp add ketchup -- "$env:LOCALAPPDATA\Programs\Ketchup\Ketchup.exe" --mcp
codex mcp add ketchup -- "$env:LOCALAPPDATA\Programs\Ketchup\Ketchup.exe" --mcp

The Connect AI section in the side panel shows whether a harness is connected and has the exact command ready to copy. For more, see the README.

Checksums (SHA-256)

See SHA256SUMS.txt.