SolveSpace: designing constrained parts and exporting them
SolveSpace is a constraint-based parametric 2D and 3D CAD tool. This guide proposes a rectangular plate with a hole as an exercise: sketch in a plane, dimension it, extrude, and export STL or STEP. It separates display units, internal lengths, and export scale for a check after import. The exercise is proposed for your installation; it was not built, exported, or printed for this article.
The short answer
In SolveSpace, draw the section in a workplane, dimension it, extrude, then prepare an export of the active group. Export scale divides internal millimeter lengths: 1 keeps millimeter coordinates, while 25.4 expresses inch coordinates for an STL whose units must be interpreted on import. STEP indicates millimeters even when a factor is applied. Changing only the inches/millimeters display leaves geometry unchanged. Compare imported dimensions with the model’s dimensions.
A plate with a hole as the practice part
For this hypothetical exercise, you could choose a 40 × 20 plate, thickness 3, and a diameter-4 hole, in millimeters. Its center would be 20 from a vertical edge and 10 from a horizontal edge to center it in that rectangle. These suggested values provide references to compare; they are not strength or fit recommendations. Check the resulting model in your installation before proceeding.
The official tutorials page lists an introductory tutorial covering sketches, constraints, extrusions, and Boolean operations, plus a separate tutorial on constraints and debugging overconstrained sketches. The plate exercise uses those concepts in an order proposed here. For other tools, see the pages on free CAD software and FreeCAD.
Drawing the rectangle and the circle in a workplane
According to the SolveSpace reference, the rectangle entity consists of two vertical and two horizontal line segments arranged in a closed curve. You place it with the mouse by two diagonally opposite corners. A workplane must be active when you draw it, because the workplane defines what horizontal and vertical mean. The reference also notes that you could draw the same figure by hand with four segments and the right constraints; the rectangle command is just a faster way to get the exact same thing, and its segments and points can be constrained like ordinary line segments.
The circle is defined by its center point, its diameter and its normal. Choose Sketch → Circle, left-click the center, release, then left-click again to place the diameter. When a workplane is active, the center must lie in that plane and the circle's normal is parallel to the workplane's normal, so the circle sits in the sketch plane. With no workplane active, the center is free in space and the normal can be dragged or constrained. For the plate, keep the workplane active and put the circle somewhere inside the rectangle; its exact position comes from the constraints in the next step.
Adding constraints and understanding projected dimensions
The general method in the reference is always the same: select the geometry first, then pick the constraint from the Constrain menu. The same menu item can create different constraints depending on the selection. Distance / Diameter sets a diameter if a circle is selected and a length if a line segment is selected. If the selection does not match any available constraint, SolveSpace shows an error message along with a list of the constraints that are available. For the plate, you constrain the length of two sides of the rectangle, the diameter of the circle, and the distance from the hole's center to the edges. These dimensions describe the exercise; they do not guarantee that every sketch degree of freedom is removed, including its overall position. Examine remaining constraints and the result rather than assuming the sketch is fully constrained.
Constraints are drawn in purple on the sketch. A dimension label can be dragged with the mouse, and double-clicking it opens a text box for a new value; Enter commits, Esc cancels. The reference points out that most places expecting a dimension accept an arithmetic expression instead of a single number, using sqrt, sin, cos, pi and the usual operators, with trigonometric functions taking degrees. One point deserves care: most constraints exist in both 3D and projected versions. With a workplane active, the constraint applies to the projection of the geometry into that plane. For a segment lying in the plane, the projection is the segment itself, so the distinction makes no difference. The reference illustrates the other case with a line constrained to 50 mm in actual length and 40 mm in its projection into the XY plane.
Extruding the plate on one side or two
The Extrude group takes a flat section and turns it into a solid. According to the reference, the section comes from the group that is active when the extrude group is created, usually a sketch in a workplane. A workplane must be active, and the extrude path is automatically constrained normal to it, so a rectangle becomes a rectangular prism. The extrusion has one degree of freedom, so a single distance constraint fully constrains it. In practice you drag a point on the new surface to set the direction and an approximate depth, then constrain the length of one of the newly extruded edges to fix the plate thickness exactly.
Choosing one side or two sides changes where the sketch sits inside the solid. On one side, the solid lies entirely above or entirely below the sketch. On two sides, the sketch is at the exact midpoint and the part is symmetric about its sketch plane. The reference recommends extruding on two sides whenever possible, because later dimensioning often becomes simpler when the part has symmetry. One last detail: by default no workplane is active in a new extrude group, so constraints apply in 3D, to actual length rather than a projection. That is normally what you want when dimensioning thickness.
Exporting to STL or STEP: what the scale factor does
To export a mesh of the part, the SolveSpace reference offers the Triangle Mesh option. It says this option generates a 3D mesh representing the part and that an STL file is accepted by most 3D CAM software, including software for most 3D printers. The active group’s mesh is exported in the same coordinate system in which the part was drawn. To export it rotated or translated, the reference says to create an assembly in the desired position, then export the assembly as STL. The STL vs 3MF guide covers format choice separately.
The export scale factor divides internal lengths in millimeters before export: 1 gives millimeter units and 25.4 gives inch units. The reference also says that when a model is represented as NURBS surfaces rather than only a mesh, SolveSpace can export those exact surfaces as a STEP file. It describes that transfer as introducing no error into the exported representation; this does not measure the accuracy of a printed part or the behavior of software that later imports the STEP. The STEP file indicates millimeters regardless of the factor. For STEP, the millimeter indication does not cancel a scale factor applied to lengths, so it does not by itself guarantee the intended size. Keep the selected factor with your export record.
Checking dimensions once the file is in your slicer
This is where the plate example pays off. Four separate things coexist in SolveSpace and should not be mixed up: the display unit, the internal unit, the export scale factor, and the dimensions you will read in the slicer. The reference is explicit about the first: View → Dimensions in Inches/Millimeters changes only the display, not the model. A dimension entered as 1.0 in inches shows as 25.40 after switching to millimeters. Millimeter dimensions show two decimal places and inch dimensions show three. All dimensions are entered in the current display units.
After importing the STL, compare the displayed bounding box with the dimensions you constrained. If they differ, check SolveSpace’s documented export scale factor, then check the receiving software’s import settings. The page on unitless STL files explains the case where the receiving application must interpret an STL’s units. For STEP, the reference says the file indicates millimeters; another program can still rescale the geometry. This check is about consistency between file and model, not the dimensional accuracy of a printed part.
Sources and limits
- SolveSpace - Reference
- SolveSpace - Tutorials
We organize manufacturer and community documentation; we have not measured these products ourselves. The manual for your exact model takes precedence over general guidance.
A clearer shortlist starts with your projects.
Use the free buying checklist and budget worksheet before comparing offers.