Skip to content

Repository files navigation

ZIMA-CAD

ZIMA-CAD is developed as a C++/Qt application with OCCT used only for explicit solid-model calculations. The active implementation lives in cpp/.

Build and run

The C++ build requires CMake 3.24+, a C++20 compiler, Qt 6.5+ (Core, Gui, Widgets, OpenGL, OpenGLWidgets and Svg), OpenCASCADE 7.9+, and nlohmann_json 3.11+. On Windows, use the pinned vcpkg setup through the repository script:

./tools/build-windows.ps1 -Configuration Release
./zima-cad.bat -w Projects

Linux dependency setup is pending replacement of the removed Conda SDK. The linux-runtime-* presets still reference that absent directory and are not a ready-to-run recipe. Follow the Linux handoff on Linux to select compatible native Qt/OCCT dependencies and verify the build. Do not lower dependency version checks to fit an older installed kernel.

The root launchers zima-cad and zima-cad.bat start the C++ application. They prefer a Release build and fall back to the Debug build. On Windows, run tools/create-windows-shortcut.ps1 after building to create (or refresh) the desktop shortcut. It targets the GUI executable directly and opens no console. The batch launcher starts the application without waiting; for command-line verification invoke the executable directly. Run tools/register-windows-file-types.ps1 to register double-click opening for the current Windows user. Every external file launch and Window > New Window starts an independent, numbered process. See Multiple instances.

The planned release form is one self-contained portable Linux and Windows archive with its complete runtime, resources, directory layout and portable settings. The distribution contract is documented in doc/PORTABLE_RELEASE.md.

Command line

The zima-cad-cli executable runs the shared CAD commands without a desktop window. It still uses Qt for graphics and export, including an offscreen platform. The Windows build script builds it alongside the desktop application:

./tools/build-windows.ps1 -Configuration Release
& ./build/cpp-windows-release/zima-cad-cli.exe --help
& ./build/cpp-windows-release/zima-cad-cli.exe --working-directory ./Projects --command "documents"

Use repeated --command, a UTF-8 --script, or --stdin. Each command returns one JSON object on stdout; diagnostics use stderr. Batches stop on the first error by default and never save implicitly. box.create, box.get and box.set create, inspect and resize a Box through the same model transaction as its GUI properties, including locks and Undo/Redo. The same create/get/set commands are available for cylinder, sphere, cone, pyramid and wedge. Command dimensions are explicitly in mm. See CLI usage and configuration.

The desktop console also supports codex mode. Configure your own ChatGPT account in Settings > AI. Requests follow the active Part, Assembly or Drawing tab; changes are reviewed inline and executed through the same CAD commands. See AI console setup and behavior.

Native application and runtime

The Python implementation was removed on 2026-09-15 at the user's request. Historical source remains in Git; it is not a supported application or release input. C++ is the only product implementation. Python may still be used as a developer tool, without becoming an application dependency.

The old Conda runtime was removed after Windows verification. The Linux development presets still require replacement of their obsolete dependency path; a fresh Linux build awaits that native SDK setup. See the versioned distribution and cleanup plan.

Verification

cmake --build build/cpp-debug
ctest --test-dir build/cpp-debug --output-on-failure

See native architecture, native behavior and Linux release handoff.

Current modeling tools and interaction contracts:

All project documentation must be maintained in English. See the binding documentation language rule.

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages