The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗This repository contains the source code of SolveSpace, a parametric 2d/3d CAD tool.
The official SolveSpace website has tutorials, reference manual and a forum; there is also an official IRC channel #solvespace at web.libera.chat.
Official release packages for macOS (>=10.6 64-bit) and Windows (>=Vista 32-bit) are available via GitHub releases. These packages are automatically built by the SolveSpace maintainers for each stable release.
Official releases can be installed as a Flatpak from Flathub.
These should work on any Linux distribution that supports Flatpak.
Official releases can be installed from the stable channel.
Builds from master are automatically released to the edge channel in the Snap
Store. Those packages contain the latest improvements, but receive less testing
than release builds.
Or install from a terminal:
# for the latest stable release:
snap install solvespace
# for the bleeding edge builds from master:
snap install solvespace --edge
:warning: Edge builds might be unstable or contain severe bugs! They are intended for experienced users to test new features or verify bugfixes.
Cutting edge builds from the latest master commit are available as zip archives from the following links:
Please note that the 64bit Windows versions do not support 6DOF (SpeceMouse, SpaceNavigator) controllers.
Extract the downloaded archive and install or execute the contained file as is appropriate for your platform.
Irrespective of the OS used, before building, check out the project and the necessary submodules:
git clone https://github.com/solvespace/solvespace
cd solvespace
git submodule update --init
You will need git. See the platform specific instructions below to install it.
You will need the usual build tools, CMake, zlib, libpng, cairo, freetype. To build the GUI, you will need fontconfig, gtkmm 3.0 (version 3.16 or later) and pangomm 1.4 for GTK, gtkmm 4.0 (version 4.12 or later) for the newer GTK 4 interface, or QT6 for the newer QT interface, OpenGL and OpenGL GLU, and optionally, the Space Navigator client library.
On a Debian derivative (e.g. Ubuntu) these can be installed with:
sudo apt install git build-essential cmake zlib1g-dev libpng-dev \
libcairo2-dev libfreetype6-dev libjson-c-dev \
libfontconfig1-dev libpangomm-1.4-dev libgl-dev \
libglu-dev libspnav-dev libgtkmm-3.0-dev libgtkmm-4.0-dev \
qt6-base-dev
On a RedHat derivative (e.g. Fedora) the dependencies can be installed with:
sudo dnf install git gcc-c++ cmake zlib-devel libpng-devel \
cairo-devel freetype-devel json-c-devel \
fontconfig-devel pangomm-devel mesa-libGL-devel \
mesa-libGLU-devel libspnav-devel gtkmm30-devel \
gtkmm4.0-devel qt6-qtbase-devel
gtkmm30-devel is required to build the GTK version, gtkmm4.0-devel is required to build the GTK 4 version, and
qt6-qtbase-devel is required to build the QT version. Any of them may be omitted if that version is not needed.
Likewise with libgtkmm-3.0-dev, libgtkmm-4.0-dev and qt6-base-dev for Debuntu respectively.
Before building, check out the project and the necessary submodules.
After that, build SolveSpace as following:
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ON [-DENABLE_LTO=ON] [-DUSE_QT_GUI=ON | -DUSE_GTK4_GUI=ON] [-DENABLE_GUI=OFF]
make
# Optionally
sudo make install
Optional:
The GTK graphical interface is built as build/bin/solvespace, and the command-line
interface is built as build/bin/solvespace-cli. The QT graphical interface is built as
build/bin/solvespace-qt.
Ubuntu will require 20.04 or above. Cross-compiling with WSL is also confirmed to work.
You will need the usual build tools, CMake, and a Windows cross-compiler. On a Debian derivative (e.g. Ubuntu) these can be installed with:
apt-get install git build-essential cmake mingw-w64
Before building, check out the project and the necessary submodules.
This is the beginning of the README. Read the rest at the original. Read the full README ↗