- Notifications
You must be signed in to change notification settings - Fork548
solvespace/solvespace
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This repository contains the source code ofSolveSpace, a parametric2d/3d CAD tool.
The official SolveSpacewebsite hastutorials,reference manual and aforum; there is also an officialIRC channel#solvespace at web.libera.chat.
Official release packages for macOS (>=10.6 64-bit) and Windows(>=Vista 32-bit) are available viaGitHub releases. These packages areautomatically 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 thestable channel.
Builds from master are automatically released to theedge channel in the SnapStore. Those packages contain the latest improvements, but receive less testingthan 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
⚠️ 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 archivesfrom the following links:
Please note that the 64bit Windows versions donot support 6DOF (SpeceMouse, SpaceNavigator) controllers.
Extract the downloaded archive and install or execute the contained file as isappropriate for your platform.
Irrespective of the OS used, before building, check out the project and thenecessary submodules:
git clone https://github.com/solvespace/solvespacecd solvespacegit submodule update --initYou will needgit. See the platform specific instructions below to install it.
You will need the usual build tools, CMake, zlib, libpng, cairo, freetype. Tobuild the GUI, you will need fontconfig, gtkmm 3.0 (version 3.16 or later) forGTK, or QT6 for the newer QT interface, pangomm 1.4, 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 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 \ qt6-qtbase-devel
gtkmm30-devel is required to build the GTK version andqt6-qtbase-devel is required to build the QT version. One orthe other may be omitted if both versions are not needed. Likewise withlibgtkmm-3.0-dev andqt6-base-dev for Debunturespectively.
Before building,check out the project and the necessary submodules.
After that, build SolveSpace as following:
mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ON [-DENABLE_LTO=ON] [-DUSE_QT_GUI=ON] [-DENABLE_GUI=OFF]make# Optionallysudo make install
Optional:
- -DENABLE_LTO=ON: Enable Link Time Optimization at the expense of longer build time.
- -DUSE_QT_GUI=ON: Build the newer QT GUI interface.
- -DENABLE_GUI=OFF: Build only the command-line interface
The GTK graphical interface is built asbuild/bin/solvespace, and the command-lineinterface is built asbuild/bin/solvespace-cli. The QT graphical interface is builtasbuild/bin/solvespace-qt.
Ubuntu will require 20.04 or above. Cross-compiling with WSL is also confirmedto work.
You will need the usual build tools, CMake, and a Windows cross-compiler. On aDebian 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.
Build 64-bit SolveSpace with the following:
mkdir buildcd buildcmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw64.cmake \ -DCMAKE_BUILD_TYPE=ReleasemakeThe graphical interface is built asbuild/bin/solvespace.exe, and thecommand-line interface is built asbuild/bin/solvespace-cli.exe.
Space Navigator support will not be available.
Please note that this port contains many critical bugs and unimplemented core functions.
You will need the usual build tools, cmake andEmscripten. On a Debian derivative (e.g. Ubuntu) dependencies other than Emscripten can be installed with:
apt-get install git build-essential cmake
First, install and prepareemsdk:
git clone https://github.com/emscripten-core/emsdkcd emsdk./emsdk install latest./emsdk activate latestsource ./emsdk_env.shcd ..
Before building,check out the project and the necessary submodules.
After that, build SolveSpace as following:
mkdir buildcd buildemcmake cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_LTO="ON" -DENABLE_TESTS="OFF" -DENABLE_CLI="OFF" -DENABLE_COVERAGE="OFF"make
The graphical interface is built as multiple files in thebuild/bin directory with namesstarting withsolvespace. It can be run locally withemrun build/bin/solvespace.html.
The command-line interface is not available.
You will need git, XCode tools, CMake and libomp. Git, CMake and libomp can be installedviaHomebrew:
brew install git cmake libomp
XCode has to be installed via AppStore orthe Apple website;it requires a free Apple ID.
Before building,check out the project and the necessary submodules.
After that, build SolveSpace as following:
mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ONmakeLink Time Optimization is supported by adding-DENABLE_LTO=ON to cmake at theexpense of longer build time.
Alternatively, generate an XCode project, open it, and build the "Release" scheme:
mkdir buildcd buildcmake .. -G XcodeThe application is built inbuild/bin/SolveSpace.app, the graphical interface executableisbuild/bin/SolveSpace.app/Contents/MacOS/SolveSpace, and the command-line interface executableisbuild/bin/SolveSpace.app/Contents/MacOS/solvespace-cli.
You will need git, cmake, libexecinfo, libpng, gtk3mm and pangomm.These can be installed from the ports tree:
pkg_add -U git cmake libexecinfo png json-c gtk3mm pangomm
Before building,check out the project and the necessary submodules.
After that, build SolveSpace as following:
mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Releasemakesudo make installUnfortunately, on OpenBSD, the produced executables are not filesystem location independentand must be installed before use. By default, the graphical interface is installed to/usr/local/bin/solvespace, and the command-line interface is built as/usr/local/bin/solvespace-cli. It is possible to build only the command-line interfaceby passing the-DENABLE_GUI=OFF flag to the cmake invocation.
You will needgit,cmake and a C++ compiler(either Visual C++ or MinGW). If using Visual C++, Visual Studio 2015or later is required.If gawk is in your path be sure it is a proper Windows port that can handle CL LF line endings.If not CMake may fail in libpng due to some awk scripts - issue #1228.
Before building,check out the project and the necessary submodules.
Create a directorybuild inthe source tree and point cmake-gui to the source tree and that directory.Press "Configure" and "Generate", then openbuild\solvespace.sln withVisual C++ and build it.
First, ensure thatgit andcl (the Visual C++ compiler driver) are in your%PATH%; the latter is usually done by invokingvcvarsall.bat from yourVisual Studio install. Then, run the following in cmd or PowerShell:
mkdir buildcd buildcmake .. -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Releasenmake
It is also possible to build SolveSpace usingMinGW, thoughSpace Navigator support will be disabled.
The easiest way to build using MinGW is withMSYS2. If you're not using MSYS2, skipthe installation instructions and ensure that git, cmake, ninja, and gcc are in your$PATH.
With MSYS2, you can build either a 32-bit binary or a 64-bit one, depending on the compilerused. The following instructions assume you're running the commands inside anMSYS2 MINGW64terminal window and building a 64-bit version. If you want to build a 32-bit version, you'llneed to run the commands in anMSYS2 MINGW32 terminal window and replacex86_64withi686 in the installation commands.
First, install Git, GCC, CMake, and Ninja:
pacman -Sy mingw-w64-x86_64-git mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja
Then, run the following in bash:
mkdir buildcd buildcmake .. -DCMAKE_BUILD_TYPE=Release -GNinjaninjaSee theguide for contributors for the best way to file issues, contribute code,and debug SolveSpace.
SolveSpace is distributed under the terms of theGPL v3 or later.
About
Parametric 2d/3d CAD
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.