Skip to content

Engineer162/MTCAD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MTCAD

Modular CAD architecture with:

  • kernel: C geometric kernel, built as a shared library (mtcad_kernel.dll on Windows) using libuv as core library
  • gui: C++ desktop frontend (mtcad_gui.exe) using ImGui + Vulkan + SDL3 + STB

Why this split

Keeping the kernel in C behind a stable C API makes it reusable for:

  • desktop GUI apps
  • web backends (native service process)
  • Server seperation
  • language bindings later (Python, Rust, etc.)

Core project layout

MTCAD/
	CMakeLists.txt
	gui/
		CMakeLists.txt
		src/main.cpp
	kernel/
		CMakeLists.txt
		include/mtcad/kernel.h
		src/kernel.c
	third_party/
		SDL/
		imgui/
		libuv/
		stb/

Build (Windows, CMake)

  1. Clone repository:
git clone --recursive https://github.com/Engineer162/MTCAD.git
  1. Install vulkan:
https://vulkan.lunarg.com/sdk/home
  1. Configure:
cmake -S . -B build
  1. Build:
cmake --build build --config Release

Build from VS Code (Ctrl+Shift+P)

Use Command Palette and run one of:

  • Tasks: Run Build Task to run the default task (cmake: build all)
  • Tasks: Run Task and pick cmake: build kernel or cmake: build gui

The tasks are defined in .vscode/tasks.json and will configure CMake automatically before building.

Notes

  • By default, the GUI links against the kernel import library. At runtime, mtcad_kernel.dll must be next to mtcad_gui.exe (or on PATH).

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors