SolveSpace is a
free and open-source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
2D/
3D constraint-based
parametric computer-aided design
Computer-aided design (CAD) is the use of computers (or ) to aid in the creation, modification, analysis, or optimization of a design. This software is used to increase the productivity of the designer, improve the quality of design, improve c ...
(CAD) software that supports basic
2D and 3D
constructive solid geometry
Constructive solid geometry (CSG; formerly called computational binary solid geometry) is a technique used in solid modeling. Constructive solid geometry allows a modeler to create a complex surface or object by using Boolean operators to combi ...
modeling.
It is a constraint-based parametric modeler with simple mechanical simulation capabilities. Version 2.1 and onward runs on Windows, Linux and macOS. The Linux version is shipped as a
snap
Snap or SNAP may refer to:
Arts and entertainment
* ''Snap'', the original release title for the 2013 film ''Enter the Dangerous Mind''
*''Snap'' (TV series), a CITV programme
* ''The Stanly News and Press'', a newspaper in Albemarle, North Carol ...
and native packages. It supports STEP and DFX for import and export. By default, SolveSpace utilizes its own CAD file format called for model storage. It is possible to export models as a whole or in part to various formats such as
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
,
SVG, or
Encapsulated PostScript
Encapsulated PostScript (EPS) is a Document Structuring Convention (DSC) conforming PostScript document format usable as a graphics file format. The format was developed as early as 1987 by John Warnock and Chuck Geschke, the founders of Adobe, ...
(EPS).
It was initially created by Jonathan Westhues and as of 2022 is maintained by a community of volunteers.
History
Development of SolveSpace started in 2008. A previous software package called SketchFlat, also developed by Westhues, was replaced by SolveSpace.
According to an interview given in 2020 by a major maintainer SolveSpace aims to be
backwards compatibile as much as possible. The codebase at the time was about 30,000
lines of code and it took Whitequark almost 2 years to familiarize herself with it. On September 22, 2020, Whitequark stepped down as a maintainer.
Overview
SolveSpace is free and open source software distributed under the
GPL-3.0-or-later license.
Features
SolveSpace is shipped with the following basic features:
;
2D Sketch Modeling
:SolveSpace supports parametric 2D drawing of lines, circles, arcs,
Cubic bézier curves etc;
datum points and lines are also supported for general, reference based modeling.
;
3D Solid Modeling
:Drawing, extrusion, rotation and revolution along a helix are supported in both modes. In 3D it is possible to use basic
Boolean operations (union, difference, intersection), though as of version 3.0, SolveSpace had limitations on the order of application of these operations.
;
Mechanical design
Mechanical engineering is the study of physical machines that may involve force and movement. It is an engineering branch that combines engineering physics and mathematics principles with materials science, to design, analyze, manufacture, and ...
and
analysis
Analysis ( : analyses) is the process of breaking a complex topic or substance into smaller parts in order to gain a better understanding of it. The technique has been applied in the study of mathematics and logic since before Aristotle (38 ...
:By using the built-in constraint solver it is possible to visualize planar or spatial
linkages with pin, ball, or slide joints, trace their movements, and export its data in
format.
;Assembly
:SolveSpace allows solids to be imported in a special mode that does not allow modeling. These imported solids can then be constrained to ensure that the designed model's dimensions meet necessary requirements.
;Plane and solid geometry
:Replace hand-solved trigonometry and spreadsheets with a live dimensioned drawing.
Supported file formats
Importing
SolveSpace can open and import its own textual file formats for both editing and assembly. The
DXF/DWG file format
AutoCAD (version 2007) is supported for opening and editing.
Exporting
SolveSpace v3.0 is able to export 2D sketches and surfaces into
DXF/DWG (
AutoCAD version 2007),
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
,
SVG, EPS, and
HPGL file formats. Wireframes can be exported as
DXF
AutoCAD DXF (Drawing Interchange Format, or Drawing Exchange Format) is a CAD data file format developed by Autodesk for enabling data interoperability between AutoCAD and other programs.
DXF was introduced in December 1982 as part of AutoCAD ...
and
STEP
Step(s) or STEP may refer to:
Common meanings
* Stairs#Step, Steps, making a staircase
* Walking
* Dance move
* Military step, or march
** Marching
Arts Films and television
* Steps (TV series), ''Steps'' (TV series), Hong Kong
* Step (film), ' ...
files.
Polygon meshes can be exported as
STL STL may refer to:
Communications
* Standard telegraph level
*Studio/transmitter link
International law
*Special Tribunal for Lebanon
The Special Tribunal for Lebanon (STL), also referred to as the Lebanon Tribunal or the Hariri Tribunal, is a ...
and
Wavefront OBJ; NURBS as
STEP
Step(s) or STEP may refer to:
Common meanings
* Stairs#Step, Steps, making a staircase
* Walking
* Dance move
* Military step, or march
** Marching
Arts Films and television
* Steps (TV series), ''Steps'' (TV series), Hong Kong
* Step (film), ' ...
. SolveSpace is able to export models in
STEP
Step(s) or STEP may refer to:
Common meanings
* Stairs#Step, Steps, making a staircase
* Walking
* Dance move
* Military step, or march
** Marching
Arts Films and television
* Steps (TV series), ''Steps'' (TV series), Hong Kong
* Step (film), ' ...
,
STL STL may refer to:
Communications
* Standard telegraph level
*Studio/transmitter link
International law
*Special Tribunal for Lebanon
The Special Tribunal for Lebanon (STL), also referred to as the Lebanon Tribunal or the Hariri Tribunal, is a ...
, and
G-code for reuse in third-party CAM software.
Linking
SolveSpace can link its own ,
STL STL may refer to:
Communications
* Standard telegraph level
*Studio/transmitter link
International law
*Special Tribunal for Lebanon
The Special Tribunal for Lebanon (STL), also referred to as the Lebanon Tribunal or the Hariri Tribunal, is a ...
and
IDF
IDF or idf may refer to:
Defence forces
* Irish Defence Forces
* Israel Defense Forces
*Iceland Defense Force, of the US Armed Forces, 1951-2006
* Indian Defence Force, a part-time force, 1917
Organizations
* Israeli Diving Federation
* Interac ...
files as external parts into complex assembly.
Workflow
SolveSpace workflow starts either with opening an existing file or creating a new one and usually involves sketching. The basic shapes of a new physical part is sketched out and constrained to specific
dimension
In physics and mathematics, the dimension of a Space (mathematics), mathematical space (or object) is informally defined as the minimum number of coordinates needed to specify any Point (geometry), point within it. Thus, a Line (geometry), lin ...
s and locations. When the model is complete, it is either exported to one of the supported CAD formats or into a document for further processing.
Sketching
Modeling in SolveSpace is done by way of sketching in a workplane.
A workplane is plane with an origin for the new sketch where the SolveSpace draws entities. Users can make it active and draw basic primitives such as lines, circles, arcs, dots, and other points of references on the workplane, and constrain them to specific dimensions and relations.
SolveSpace can split intersecting entities via a separate tool. Users can snap points to a grid.
There are no software limitations for the number of workplanes user can create.
Constraints
Constraints include dimension limitation, angle, paralleling with another line, tangency, point, symmetry and alignment of a line with origin axes (to make them "vertical" or "horizontal").
The radius of a circle, for instance, can be constrained to a specific value, or can be influenced by some other entity dimension.
3D modeling
When sketching is complete, a 3D part can be extruded into a volumetric model for further modeling. An extruded model creates a group along a specified
normal. Every group in SolveSpace encapsulates an action applied to the specified sketch created for every 3D operation, such as an extrusion, rotation, or translation. Created 3D models can also be further constrained with the basic tools mentioned above or combined with another one by Boolean operations.
It is also possible to draw a workplane on a specific "surface" of another 3D model; the surface is usually indicated by two line segments joined by a point.
Assembly
In order to verify a newly modeled concept in SolveSpace, users can "link" all the components and constrain them at specific positions to check whether the virtual end-product meets the original concept's design and constraints.
Libraries
SolveSpace depends upon
ANGLE
In Euclidean geometry, an angle is the figure formed by two Ray (geometry), rays, called the ''Side (plane geometry), sides'' of the angle, sharing a common endpoint, called the ''vertex (geometry), vertex'' of the angle.
Angles formed by two ...
,
OpenGL Utility Library,
zlib
zlib ( or "zeta-lib", ) is a software library used for data compression. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. zlib is also a ...
,
libpng
libpng is the official Portable Network Graphics (PNG) reference library (originally called pnglib). It is a platform-independent library that contains C functions for handling PNG images. It supports almost all of PNG's features, is extensible ...
, libdxfrw,
cairo
Cairo ( ; ar, القاهرة, al-Qāhirah, ) is the capital of Egypt and its largest city, home to 10 million people. It is also part of the largest urban agglomeration in Africa, the Arab world and the Middle East: The Greater Cairo metro ...
,
mimalloc
mimalloc (pronounced "me-malloc") is a free and open-source compact general-purpose memory allocator developed by Microsoft with focus on performance characteristics. The library is about 11000 lines of code and works as a drop-in replacement f ...
,
libsigc++
libsigc++ is a C++ library for typesafe callbacks.
libsigc++ implements a callback system for use in abstract interfaces and general programming. libsigc++ is one of the earliest implementations of the signals and slots concept implemented usi ...
and some other
C++ libraries, as well as
freetype2,
harfbuzz
HarfBuzz (loose transliteration of Persian calque ''harf-bāz'', literally "open type") is a software development library for text shaping, which is the process of converting Unicode text to glyph indices and positions. The newer version, ''Ne ...
, and
Pango for text rendering. Linux specific libraries include
gtk-3, Gio, and
X11.
Limitations
As of v2.1., SolveSpace reference lists a disclaimer on limited support for NURB-surface Boolean operations which may occasionally fail.
Due to limitations of the file format and the way models are built it's virtually impossible to combine certain operations such as intersection between parts made by different sketches.
As of v3.0 SolveSpace didn't provide functionality for chumfers/fillets.
SovleSpace may fit well for simpler
CAM models, but not for sophisticated ones.
Criticism
A 2013 article and interview with the main developer published in Libre Graphics World has praised SolveSpace for its small executable file size, advanced constraints solver, and output formats.
However, it was also criticized for some drawbacks it had at the time, such as limited support for NURBS (i.e. boolean operations) and a lack of native Linux support, the latter of which has since been rectified.
See also
*
CAD exchange formats
*
Computer-aided technologies
Computer-aided technologies (CAx) is the use of computer technology to aid in the design, analysis, and manufacture of products.
Advanced CAx tools merge many different aspects of the product lifecycle management (PLM), including design, finite ...
*
Comparison of computer-aided design software
*
FreeCAD
FreeCAD is a general-purpose parametric 3D computer-aided design (CAD) modeler and a building information modeling (BIM) software application with finite element method (FEM) support. It is intended for mechanical engineering product design bu ...
Notes
References
External links
*
*
{{CAD software
Computer-aided design
Computer-aided design software
Free computer-aided design software
Computer-aided design software for Linux
Computer-aided design software for Windows
Free software programmed in C++