Parametric CAD platform for engineering modeling workflows
SolidDesigner is a desktop parametric CAD application for engineering modeling workflows. The project is under active pre-alpha development and currently focuses on the foundations required for reliable parametric modeling.
Current engineering work is centered on:
- sketch creation, constraints, dimensions, and editing;
- history-based feature creation and regeneration;
- part document creation, editing, undo, and redo;
- model selection, highlighting, and visual interaction;
- document save, reopen, and format compatibility;
- automated unit, integration, and product workflow tests.
Assembly, drafting, simulation, optimization, and assisted design are product directions. Their availability varies by build and release.
SolidDesigner is pre-alpha software:
- workflows may be incomplete or change without compatibility guarantees;
- public APIs and the native document format are not yet stable;
- a successful build does not imply that every modeling workflow is production-ready;
- an item is complete only when its implementation, automated tests, product acceptance, and review requirements are satisfied.
- Visual Studio 2022 with the MSVC v143 toolset
- CMake 3.31 or newer
- Qt 5.15.x
- OpenCascade (OCCT)
- Access to the submodules and third-party SDKs configured for the repository
git clone --recurse-submodules https://github.com/Ludwigstrasse/SolidDesigner.git
cd SolidDesignerRun AutoGenerateVsProject.bat, open the generated solution in Visual Studio 2022, and build the required x64 configuration.
For a custom toolchain, configure with CMake directly:
cmake -S . -B ../SolidDesigner_Build -G "Visual Studio 17 2022" -A x64
cmake --build ../SolidDesigner_Build --config Release --parallelLinux support remains experimental. The supported configuration for development and verification is Visual Studio 2022 on Windows.
| Dependency | Purpose | Upstream license |
|---|---|---|
| OpenCascade (OCCT) | B-Rep geometry and visualization | LGPL-2.1 with OCCT exception |
| Qt 5 | Desktop user interface | GPL/LGPL/commercial |
| spdlog | Logging | MIT |
| fmt | Text formatting | MIT |
| Open Sans | User-interface font assets | Apache-2.0 |
Additional components may have separate licenses and distribution requirements. Review all applicable notices before redistributing binaries.
The project uses CTest-based unit, integration, acceptance, and end-to-end product checks. Changes should include tests appropriate to user-visible behavior and affected public interfaces.
Product workflow acceptance must exercise the actual user interface and verify the resulting model, cancellation behavior, undo/redo, and save/reopen behavior. Source-only checks do not replace product acceptance.
- Discuss user-facing behavior or public API changes before implementation.
- Keep commits focused and use clear English commit messages.
- Describe the scope and verification clearly in each pull request.
- Include automated tests and report the exact verification performed.
- Do not commit credentials, private links, local filesystem paths, private design documents, or third-party material that cannot be redistributed.
SolidDesigner is licensed under the GNU General Public License v3.0. Third-party components retain their own licenses.
SolidDesigner builds on OpenCascade, Qt, fmt, spdlog, and the wider open-source engineering software community.
