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.

Steps for the plate with a hole in SolveSpace and what to watch

StepCommand or settingWhat to watch, per the reference
Draw the outlineRectangle in an active workplaneThe workplane defines horizontal and vertical; no workplane, no rectangle
Place the holeSketch → Circle, center then diameterWith a workplane active, the circle stays in the sketch plane
Dimension the partSelect, then Constrain → Distance / DiameterSame menu item, different constraint by selection; projected when a workplane is active
Set the thicknessExtrude group, one or two sidesThe extrusion path normal to the plane is dimensioned separately from the sketch
Export for the slicerTriangle Mesh (STL) of the active groupCoordinates divided by the factor; check unit interpretation after import
Export for other CADNURBS Surfaces (STEP)Requires NURBS surfaces; declared mm even if the factor changes lengths

Frequently asked questions

Why does my SolveSpace STL come into the slicer at the wrong size?

The SolveSpace reference says the export scale factor divides lengths before export: 1 corresponds to millimeters and 25.4 to inches. Check that value, then compare the imported dimensions with the model. A mismatch alone does not identify whether the export setting or the receiving software’s interpretation caused it.

Does switching the display to inches change my part?

No. The reference states that View → Dimensions in Inches/Millimeters changes only the display units. A dimension entered as 1.0 in inches then appears as 25.40 in millimeters, but the geometry is unchanged.

Should I export STEP or STL from SolveSpace?

The reference says SolveSpace can export exact surfaces as STEP when the model is represented as NURBS, and describes that transfer as introducing no error. It says the format indicates millimeters. For a slicer, the reference says an STL file is accepted by software for most 3D printers. Choose based on the receiving application; these statements do not guarantee print accuracy.

Why do my constraints seem to apply to a projection?

The reference describes both 3D and projected constraints. With a workplane active, the relevant constraints apply to projection into that plane. An element already in the plane coincides with its projection. A new extrusion group has no active workplane by default: distinguish that context from the sketch before adding a dimension.

Where can I learn assemblies and Boolean operations?

The official tutorials page lists an introductory tutorial covering sketches, constraints, extrusions and Boolean operations, then an assembly tutorial where parts stay assembled after you modify them. Video tutorials are also available, recorded with an earlier version, so the interface may differ slightly.

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.

Keep exploring

A clearer shortlist starts with your projects.

Use the free buying checklist and budget worksheet before comparing offers.

Get the free starter kit