SolveSpace
   HOME

TheInfoList



OR:

SolveSpace is a
free and open-source Free and open-source software (FOSS) is software available under a Software license, license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term ...
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
modeling A model is an informative representation of an object, person, or system. The term originally denoted the Plan_(drawing), plans of a building in late 16th-century English, and derived via French language, French and Italian language, Italian ult ...
. 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'' (film), the initial release title for the 2013 film ''Enter the Dangerous Mind'' * '' The Stanly News and Press'', a newspaper in Albemarle, North Carolina, US * "Snap" (''Duty Free'') ...
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 Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
,
SVG Scalable Vector Graphics (SVG) is an XML-based vector graphics format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sin ...
, 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 as
commercial Commercial may refer to: * (adjective for) commerce, a system of voluntary exchange of products and services ** (adjective for) trade, the trading of something of economic value such as goods, services, information or money * a dose of advertising ...
proprietary software Proprietary software is computer software, software that grants its creator, publisher, or other rightsholder or rightsholder partner a legal monopoly by modern copyright and intellectual property law to exclude the recipient from freely sharing t ...
for
Microsoft Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. A previous software package called SketchFlat, also developed by Westhues, was replaced by SolveSpace. In 2012 version 1.9 released as unrestricted
freeware Freeware is software, often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines ''freeware'' unambiguously; every publisher defines its own rules for the free ...
proprietary software. In 2013 version 2.0 released as
free and open-source software Free and open-source software (FOSS) is software available under a license that grants users the right to use, modify, and distribute the software modified or not to everyone free of charge. FOSS is an inclusive umbrella term encompassing free ...
. In 2016 version 2.1 brings support for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
and
MacOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
. According to an interview given in 2020 by a major maintainer SolveSpace aims to be
backwards compatible In telecommunications and computing, backward compatibility (or backwards compatibility) is a property of an operating system, software, real-world product, or technology that allows for interoperability with an older legacy system, or with inpu ...
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 and mechanisms that may involve force and movement. It is an engineering branch that combines engineering physics and mathematics principles with materials science, to design, analyze, ma ...
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 CSV 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 AutoCAD is a 2D and 3D computer-aided design (CAD) software application developed by Autodesk. It was first released in December 1982 for the CP/M and IBM PC platforms as a desktop app running on microcomputers with internal graphics control ...
(version 2007) is supported for opening and editing.


Exporting

SolveSpace v3.0 is able to export 2D sketches and surfaces into DXF/DWG (
AutoCAD AutoCAD is a 2D and 3D computer-aided design (CAD) software application developed by Autodesk. It was first released in December 1982 for the CP/M and IBM PC platforms as a desktop app running on microcomputers with internal graphics control ...
version 2007),
PDF Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
,
SVG Scalable Vector Graphics (SVG) is an XML-based vector graphics format for defining two-dimensional graphics, having support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium sin ...
, EPS, and
HPGL HP-GL, short for Hewlett-Packard Graphics Language and often written as HPGL, is a printer control language created by Hewlett-Packard (HP). HP-GL was the primary printer control language used by HP plotters. It was introduced with the plotteHP-98 ...
file formats. Wireframes can be exported as
DXF AutoCAD DXF (Drawing Interchange Format, or Drawing Exchange Format) is a computer-aided design (CAD) data file format developed by Autodesk to enable CAD data exchange and interoperability between AutoCAD on different computing platforms. His ...
and STEP files.
Polygon mesh In 3D computer graphics and solid modeling, a polygon mesh is a collection of , s and s that defines the shape of a polyhedron, polyhedral object's surface. It simplifies Rendering (computer graphics), rendering, as in a wire-frame model. The fac ...
es can be exported as STL and Wavefront OBJ; NURBS as STEP. SolveSpace is able to export models in STEP, STL, and
G-code G-code (abbreviation for geometric code; also called RS-274, standardized today in ISO 6983-1) is the most widely used computer numerical control (CNC) and 3D printing programming language. It is used mainly in computer-aided manufacturing t ...
for reuse in third-party CAM software.


Linking

SolveSpace can link its own , STL and IDF 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 mathematical space (or object) is informally defined as the minimum number of coordinates needed to specify any point within it. Thus, a line has a dimension of one (1D) because only one coo ...
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 Normal(s) or The Normal(s) may refer to: Film and television * ''Normal'' (2003 film), starring Jessica Lange and Tom Wilkinson * ''Normal'' (2007 film), starring Carrie-Anne Moss, Kevin Zegers, Callum Keith Rennie, and Andrew Airlie * ''Norma ...
. 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 can refer to a number of concepts relating to the intersection of two straight Line (geometry), lines at a Point (geometry), point. Formally, an angle is a figure lying in a Euclidean plane, plane formed by two R ...
,
OpenGL Utility Library The OpenGL Utility Library (GLU) is a computer graphics library for OpenGL. It consists of a number of functions that use the base OpenGL library to provide higher-level drawing routines from the more primitive routines that OpenGL provides. It ...
,
zlib zlib ( or "zeta-lib", ) is a software library used for data compression as well as a data format. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compre ...
,
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 ( ; , ) is the Capital city, capital and largest city of Egypt and the Cairo Governorate, being home to more than 10 million people. It is also part of the List of urban agglomerations in Africa, largest urban agglomeration in Africa, L ...
, mimalloc,
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 implement ...
and some other
C++ C++ (, pronounced "C plus plus" and sometimes abbreviated as CPP or CXX) is a high-level, general-purpose programming language created by Danish computer scientist Bjarne Stroustrup. First released in 1985 as an extension of the C programmin ...
libraries, as well as freetype2,
harfbuzz HarfBuzz (loose transliteration of Persian language, Persian calque ''harf-bāz'', literally "open type") is a software library for supporting text shaping, which is the process of converting Unicode text to glyph indices and positions. The ne ...
, and
Pango Pango (stylized as Παν語) is a text (i.e. glyph) layout engine library which works with the HarfBuzz shaping engine for displaying multi-language text. Full-function rendering of text and cross-platform support is achieved when Pango is use ...
for text rendering. On Linux Solvespace uses gtk-3.


Limitations

As of v2.1., SolveSpace reference lists a disclaimer on limited support for
NURB Non-uniform rational basis spline (NURBS) is a mathematical model using basis splines (B-splines) that is commonly used in computer graphics for representing curves and surfaces. It offers great flexibility and precision for handling both analyt ...
-surface Boolean operations which may occasionally fail. As of v3.0 SolveSpace didn't provide functionality for chamfers/ fillets on top of 3D solid body. However there is a way to make it manually. As for 2D sketch there is a way to create fillets as a tangent arc at corner point. SolveSpace may fit well for simpler
CAM Cam or CAM may refer to: Science and technology * Cam (mechanism), a mechanical linkage which translates motion * Camshaft, a shaft with a cam * Camera or webcam, a device that records images or video In computing * Computer-aided manufacturin ...
models, but not for sophisticated ones. There is no extrude along the path.


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 Non-uniform rational basis spline (NURBS) is a mathematical model using basis splines (B-splines) that is commonly used in computer graphics for representing curves and surfaces. It offers great flexibility and precision for handling both analy ...
(i.e. Boolean operations) and a lack of native Linux support, the latter of which has since been rectified. On the other hand NURBs operations are parallel, instead of single-threaded.


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 product lifecycle management (PLM), including design, finite elem ...
*
Comparison of computer-aided design software The table below provides an overview of notable computer-aided design (CAD) software. It does not judge power, ease of use, or other user-experience aspects. The table does not include software that is still in development (beta software). For al ...
*
FreeCAD FreeCAD is a general-purpose Solid_modeling#Parametric_modeling, 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 mecha ...


Notes


References


Publications

* Angelo, L. D.; Leali, F.; Stefano P. D. (May 2016)
Can Open-Source 3D Mechanical CAD Systems Effectively Support University Courses?
''International Journal of Engineering Education''. 32 (3 (A)): 1313-1324 * Konapala, A.; Koona, R. (October 2016)
Development of Web based Tool Path Generator (W-TPG)
''International Journal of Current Engineering and Technology''. 6 (5): 1784-1791. * Axelsson, M. T. (May 2017). Open source CAD - discover the best CAD packages for your next maker project. ''
Linux Format ''Linux Format'' was the UK's first Linux-specific magazine, and as of 2013 was the best-selling Linux title in the UK. It was also exported to many countries worldwide. It was published by Future plc (which produces a number of other computer ma ...
''. 223: 26-27. * Rosendahl, M. (2017)
Constraint representation of 2-dimensional models with respect to avoiding cycles


'. 14 (1): 117-126. * Beuchat, B., & Scalisi, A. (January 11, 2019)
Cellulo Learning Activity
emester project report CHILI Lab, EPFL, Lausanne, Switzerland. * Frazelle, J. (June 2021)
A New Era for Mechanical CAD
''
ACM Queue ACM ''Queue'' (stylized ''acmqueue'') is a bimonthly computer magazine, targeted to software engineer Software engineering is a branch of both computer science and engineering focused on designing, developing, testing, and maintaining softwar ...
''. 19 (2): 5-17.
Fundamentals of 3D Food Printing and Applications
(2018). Great Britain: Elsevier Science. * Biron, M. (2018)
Thermoplastics and Thermoplastic Composites
Great Britain: Elsevier Science.
Advances in Human Factors of Transportation: Proceedings of the AHFE 2019 International Conference on Human Factors in Transportation
July 24-28, 2019, Washington D.C., USA. (2019). Germany: Springer International Publishing.
Advances in Mechanism and Machine Science: Proceedings of the 15th IFToMM World Congress on Mechanism and Machine Science.
(2019). Germany: Springer International Publishing. * Staple, D. (2023)
Robotics at Home with Raspberry Pi Pico: Build Autonomous Robots with the Versatile Low-cost Raspberry Pi Pico Controller and Python.
(n.p.): Packt Publishing.


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++