Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
183 views35 pages

Solvespace Documentation: Release Latest

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 35

solvespace Documentation

Release latest

Aug 11, 2017


Contents

1 Quick Start 3

2 User Interface 5
2.1 Graphics Window and Model View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Dimension Entry and Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Property Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4 Show/Hide Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Active Workplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.6 Active Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Sketch Entities 11
3.1 Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2 Workplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.3 Polyline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Rectangle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5 Circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.6 Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.7 Tangent Arc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.8 Bezier Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.9 Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.10 Splitting and Trimming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.11 Construction Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Constraints 17
4.1 General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Failure to Solve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Specific Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Groups 25
5.1 Sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2 Sketch in New Workplane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3 Linear Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.4 Polar Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.5 Extrude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6 Known Bugs and Issues 29


6.1 Boolean Operations on Triangle Meshes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

i
6.2 Boolean Operations on NURBS Surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

7 Indices and Tables 31

ii
solvespace Documentation, Release latest

SolveSpace is a parametric 3D CAD program.


Applications include:
modeling 3d parts draw with extrudes, revolves, and Boolean (union/difference) operations
modeling 2d parts draw the part as a single section, and export DXF, PDF, SVG; use 3d assembly to verify
fit
3d-printed parts export the STL or other triangle mesh expected by most 3d printers
preparing CAM data export 2d vector art for a waterjet machine or laser cutter; or generate STEP or STL,
for import into third-party CAM software for machining
mechanism design use the constraint solver to simulate planar or spatial linkages, with pin, ball, or slide joints
plane and solid geometry replace hand-solved trigonometry and spreadsheets with a live dimensioned draw-
ing
sec-tutorials
sec-reference

Contents 1
solvespace Documentation, Release latest

2 Contents
CHAPTER 1

Quick Start

The first time SolveSpace runs, you will see an empty workplane.
To draw a line, choose the Sketch Line Segment (or Circle, or Arc, or ...) menu. Then left-click to define the
endpoints.
Hit Esc if you want to stop drawing before youve formed a closed contour.
Right-drag to pan, center-drag to rotate, and mousewheel to zoom.
To align the views rotation back to the workplane, choose ViewAlign View to Workplane.
To select a line, hover the mouse over the line (it turns yellow), and left-click (it turns red). To dimension the lines
length, choose Constrain Distance/Diameter.
To move the dimension, drag it. To change the dimension, double-click it, type a number, and hit Enter.
To learn more about SolveSpace, see the ref:tutorials, or the reference manual.

3
solvespace Documentation, Release latest

4 Chapter 1. Quick Start


CHAPTER 2

User Interface

The user interface consists of two windows: a larger window that contains mostly graphics, and a smaller window that
contains mostly text. The graphics window is used to draw the geometry, and to view the 3d model. The text window
provides information about the model, and may also be used to modify settings and numerical parameters.

Graphics Window and Model View

To pan the view, right-drag with the mouse.


To rotate the view, center-drag with the mouse. This turns the part over, so that the surfaces that used to be hidden
(because they were facing backwards, away from the viewer) become visible.
To rotate the view within the plane of the monitor, C+center-drag with the mouse.
It is also possible to pan by Shift+center-dragging, or to rotate by Shift+right-dragging. If a 3Dconnexion
six degree of freedom controller (e.g., a SpaceNavigator) is connected, then this may also be used to transform the
view of the model.
To zoom in or out, rotate the scroll wheel. It is also possible to zoom by using the View menu, or the associated
keyboard shortcuts (+ and -). Some features, including the planes, are always drawn the same size on-screen, and are
therefore not affected by zooming.
Most commands are available in three different ways: from a menu, from a keyboard shortcut, or from the toolbar.
The toolbar is displayed at the top left of the graphics window. To learn what an icon means, hover the mouse over it.
To show or hide the menu bar, choose View Show Menu Bar or press C+F12.
To show or hide the toolbar, choose View Show Toolbar.
To zoom to the extent of the part, choose View Zoom to Fit. This adjusts the zoom level so that the part fits exactly
on the screen, and then pans to center the part. The rotation of the part is not affected.
If a workplane is active, then choose View Align View to Workplane (or press w) to align the view to the workplane.
After doing this, the plane of the screen is coincident with the workplane, and the center of the workplane is at the
center of the screen. The zoom level is not affected.

5
solvespace Documentation, Release latest

In an orthogonal view, one of the coordinate (x, y, or z) axes is horizontal, and another is vertical. To orient the view
to the nearest orthogonal view, choose View Nearest Ortho View. In an isometric view, all three coordinate axes
are projected to the same length, and one of the coordinate axes is vertical. To orient the view to the nearest isometric
view, choose View Nearest Iso View.
To pan the view so that a given point is at the exact center of the screen, select that point and then choose View
Center View at Point.
The x, y, and z coordinate axes are always drawn at the bottom left of the graphics window, in red, green, and blue.
These axes are live: they can be highlighted and selected with the mouse, in the same way as any other normals. This
means that the coordinate axes are always conveniently available on-screen, which is useful e.g. when constraining a
line parallel to the x-axis.

Dimension Entry and Units

Dimensions may be displayed in either millimeters or inches. Millimeter dimensions are always displayed with two
digits after the decimal point (45.23), and inch dimensions are always displayed with three (1.781).
Choose View Dimensions in Inches/Millimeters to change the current display units. This does not change the model;
if the user changes from inches to millimeters, then a dimension that was entered as 1.0 is now displayed as 25.40.
All dimensions are entered in the current display units. In most places where a dimension is expected, its possible to
enter an arithmetic expression (4*20 + 7) instead of a single number.

Property Browser

The propery browser pallette appears as a floating palette window. It may be shown or hidden by pressing Tab, or by
choosing View Show Property Browser.
The text window works like a web browser. Any underlined text is a link. To activate a link, click it with the mouse.
The links may be used to navigate to other pages in the text window. For example, the home screen is a list of groups
in the sketch:

6 Chapter 2. User Interface


solvespace Documentation, Release latest

To navigate to a groups page, click that groups name (e.g., g002-sketch-in-plane). The links may also trigger
actions in the sketch. For example, in the above screenshot, all of the groups are shown. To hide a group, click the box
in the shown column.
As a convenience, the text window will sometimes automatically navigate to a page that is likely to be relevant. For
example, when a new group is created, the text window displays that new groups page. Its always possible to navigate
to a different page, by clicking the home link at the top left corner (or pressing Esc), and following the links from
there.
When sketch entities are selected (e.g., the user has clicked on them with the mouse), information about those entities
is displayed in the text window. If a single entity is selected, then information about that entity is displayed. For
example, the window displays a circles center and radius.
If multiple entities are selected, then the text window can sometimes display information about all of them. These
cases include:
two points: the distance between the points
a point and a plane face: the distance from the point to the plane
two points, and a vector: the distance between the points, projected along the vector
two plane faces: the angle between the plane faces

Show/Hide Entities

As the sketch becomes more complex, it may be useful to hide unnecessary information. SolveSpace provides several
different ways to do this.
Along the top of the text window, a row of icons appears. These icons make it possible to hide and show different
elements in the sketch:
workplanes from inactive groups

2.4. Show/Hide Entities 7


solvespace Documentation, Release latest

When a new Sketch In New Workplane group is created, an associated workplane is created automatically. These
workplanes are either visible whenever that group is visible (item shown), or visible only when that group is both
visible and active (item hidden).
normals By default, normals are drawn as blue-grey arrows, in the direction of the normal. These normals may be
hovered and selected with the mouse, for example in order to constrain them. This icon may be used to hide
them.
points By default, points are drawn as green squares. These points may be hovered and selected with the mouse, for
example in order to constrain them. This icon may be used to hide them. If points are hidden, then they will still
appear when the mouse hovers over them, and may still be selected.
constraints and dimensions When a constraint is created, a graphical representation of that constraint is displayed
in purple. The constraints in a group are visible only when that group is active. To hide them even then, use this
icon.
faces selectable with the mouse Some surfaces on the 3d model may be selected. For example, the user can select a
plane face of the part, and constrain a point to lie on that plane. If faces are shown, then the faces will appear
highlighted when the mouse hovers over them. The user can click the mouse to select the face, as they would
for any other entity.
As a convenience, faces are automatically hidden when a new sketch group is created, and automatically shown
when a new extrusion is created. If this behavior is not whats desired, then the faces can be shown or hidden
manually with this icon.
shaded view of solid model The 3D part is displayed as an opaque solid, with lighting effects to give the impression
of depth.
This icon is used toggle that effect on or off.
edges of solid model Lines are drawn wherever two different surfaces of the solid model meet. If edges are shown
but shaded is hidden, then a wireframe display results. The display of meshes may be noticeably slower when
edges are shown. The display of NURBS surfaces will not be noticeably slower when edges are shown.
The color of the edges may be set in the line styles.
triangle mesh of solid model Use this icon to show the triangles on the model.
The 3d model of the part consists of many triangles; for example, a rectangular face is represented by two
triangles.
This is a good way to see how fine or coarse the mesh is before exporting it.
hidden lines With the part in a given orientation, some of the lines in the part will be invisible, because they are buried
inside the solid part. To show those lines anyways, as if the part were transparent, use this icon. This is useful
when drawing a sketch that lies within the volume of the part.
In addition to the above options, it is possible to hide and show entire groups. If a group is hidden, then all of the
entities (line segments, circles, arcs, points, etc.) from that group are hidden. The solid model is not affected; if
a hidden group contains a circle that is extruded to form a cylinder, then the cylinder will remain visible.
To hide a group, go to the home screen in the text window, by pressing Esc or choosing the link at the top left.
A list of groups is displayed, along with their visibility. If a group is visible, then the checkbox in the shown
column is checked. Click the checkbox; it now appears unchecked, and the group is hidden. The show/hide
status of groups is saved in the part file. If a part is imported into an assembly, then entities that were visible in
the part file will be visible in the assembly, and entities that were hidden will be hidden.

Active Workplane

SolveSpace represents all geometry in 3d; its possible to draw line segments anywhere, not just in some plane.

8 Chapter 2. User Interface


solvespace Documentation, Release latest

This freedom is not always useful, so SolveSpace also makes it possible to draw in a plane. If a workplane is active,
then all entities that are drawn will be forced to lie that plane. The active workplane (in plane:) is indicated in the
top line of the text window, at the right.
When SolveSpace starts with a new empty file, a workplane parallel to the XY plane is active. To deactivate the
workplane, and draw in 3d, choose Sketch Anywhere In 3d.
To activate a workplane, select it, and then choose Sketch In Workplane. When a workplane is activated, the view
is aligned onto that workplane. The workplane remains active until the user chooses Sketch Anywhere in 3D, or a
different workplane is activated. If the user rotates the view, so that the view is no longer aligned onto the workplane,
then the workplane remains active.
In a Sketch in New Workplane group, the groups associated workplane may be activated by choosing Sketch In
Workplane; there is no need to select it first.

Active Group

When a new line, circle, or other curve is created, it will be created in the active group. Geometry from the active
group is drawn in white; geometry from earlier groups is drawn in brown. Later groups are hidden.
In the text windows home screen (press Escape, or choose the link in the top left corner), the active groups line in
the list of groups has a selected radio button in the active column. All other groups (except g001-#references, which
cannot be activated) have an unselected radio button in that column. To activate an inactive group, click its radio
button.

2.6. Active Group 9


solvespace Documentation, Release latest

10 Chapter 2. User Interface


CHAPTER 3

Sketch Entities

Point

This entity is defined by a single point.


If a workplane is active when the datum point is created, then that point will always lie in the workplane. If no
workplane is active, then the point will be free in 3D. This is the same behaviour as for all points, including e.g. the
endpoints of a line segment.
Points are typically used as construction geometry. The user might place datum points in order to simplify the dimen-
sioning of line segments or other entities.

Workplane

This entity is specified by a point and a normal. The point defines its origin, and the normal defines its orientation.
A workplane makes it possible to draw a section in 2D. If a workplane is active, then any entities that are drawn must
lie in that workplane.
Its almost never necessary to create workplanes explicitly. Instead, create a new Sketch in New Workplane group.

Polyline

This entity is specified by its two or more connected points. If a workplane is active, then the two endpoints will
always lie in that workplane.
To create the a polyline:
1. Choose Sketch Polyline
2. Left-click to mark the starting point of the polyline.
3. Release the mouse button. The endpoint is now being dragged.

11
solvespace Documentation, Release latest

4. To create another line segment, that shares an endpoint with the line segment that was just created, left-click
again.
5. To stop drawing line segments, press Esc or right- or middle-click with the mouse.
SolveSpace will also stop drawing new line segments if an automatic constraint is inserted.
To close a polyline into a polygon:
Hovering over the starting point before left-clicking the last time. The endpoint of the polyline will be con-
strained to lie on the starting point, and since a constraint was inserted, SolveSpace will stop drawing.

Rectangle

This entity consists of two vertical line segments, and two horizontal line segments, arranged to form a closed curve.
Initially, the rectangle is specified with the mouse by two diagonally opposite corners. The line segments (and points)
in the rectangle may be constrained in the same way as ordinary line segments.
It would be possible to draw the same figure by hand, by drawing four line segments and inserting the appropriate
constraints. The rectangle command is a faster way to draw the exact same thing.
A workplane must be active when the rectangle is drawn, since the workplane defines the meaning of horizontal and
vertical.

Circle

This entity is specified by its center point, by its diameter, and by its normal.
To create the circle:
1. Choose Sketch Circle.
2. Left-click the center.
3. Then release the mouse button; the diameter of the circle is now being dragged.
4. Left-click again to place the diameter.
If a workplane is active, then the center point must lie in that workplane, and the circles normal is parallel to the
workplanes normal (which means that the circle lies in the plane of the workplane).
If no workplane is active, then the center point is free in space, and the normal may be dragged (or constrained) to
determine the circles orientation.

Arc

This entity is specified by its center point, the two endpoints, and its normal.
To create the arc:
1. Choose Sketch Arc.
2. Left-click one of its endpoints.
3. Then release the mouse button; the other endpoint is now being dragged. The center is also being dragged, in
such a way as to form an exact semi-circle.
4. Left-click again to place the other endpoint.

12 Chapter 3. Sketch Entities


solvespace Documentation, Release latest

5. Drag the center to the desired position. The arc is drawn counter-clockwise from the first point to the second.
The arc must be drawn in a workplane; it cannot be drawn in free space.

Tangent Arc

To round off a sharp corner (for example, between two lines), we often wish to create an arc at the corner, that is
tangent to both of the lines. This will create a smooth appearance where the line and arc join. It would be possible
to draw these arcs by hand, using Sketch Arc of a Circle and Constrain Tangent, but its easier to create them
automatically.
To do so:
1. Select a point where two line segments or circles join.
2. Choose Sketch Tangent Arc at Point. The arc will be created, and automatically constrained tangent to the
two adjoining curves.
The initial line segments will become construction lines, and two new lines will be created, that join up to the arc. The
arcs diameter may then be constrained in the usual way, with Distance/Diameter or Equal Length/Radius constraints.
By default, the radius of the tangent arc is chosen automatically.
To change that:
1. Choose Sketch Tangent Arc at Point with nothing selected.
2. A screen will appear in the text window, where the radius may be specified.
It is also possible to specify whether the original lines and curves should be kept, but changed to construction lines
(which may be useful if you want to place constraints on them), or whether they should be deleted.

Bezier Spline

This entity is specified by at least two on-curve points, and an off-curve control point at each end (so two off-curve
points total). If only two on-curve points are present, then this is a Bezier cubic section, and the four points are exactly
the Bezier control points.
If more on-curve points are present, then it is a second derivative continuous (C2) interpolating spline, composed of
multiple Bezier cubic segments. This is a useful type of curve, because it has a smooth appearance everywhere, even
where the sections join.
To create the Bezier cubic spline:
1. Choose Sketch Bezier Cubic Spline.
2. Left-click one endpoint of the cubic segment.
3. Release the mouse button. The other endpoint of the cubic segment is now being dragged.
4. To add more on-curve points, left click with the mouse.
5. To finish the curve, right-click, or press Esc.
The two control points are intially placed on the straight line between the endpoints; this means that the cubic originally
appears as a straight line. Drag the control points to produce the desired curve.
To create a closed curve (technically, a periodic spline):
1. Start by creating the curve as usual, left-clicking to create additional on-curve points (see above).

3.7. Tangent Arc 13


solvespace Documentation, Release latest

2. Hover the mouse over the first point in the curve, and left-click. The curve will be converted to a periodic spline,
which will be C2 continuous everywhere, including at that first point.

Text

This entity is defined by two points, at the top left and bottom left of the text. The distance between the points
determines the height of the text; the angle of the line between them determines the orientation of the text, and their
position determines the texts position.
To create text:
1. Choose Sketch Text.
2. Left-click the top left point of the text.
3. The bottom right point of the text is now being dragged.
4. Left-click again to place it.
To change the font:
1. Select the text entity.
2. A list of installed fonts appears in the text window; click the font name to select it.
To change the displayed text:
1. Select the text entity.
2. Click the [change] link in the text window.

Splitting and Trimming

In some cases, it is desirable to draw by creating overlapping figures, and then removing the extra lines. For example,
in this case, a circle and a rectangle are drawn; the two short lines and the short arc are then deleted, to form a single
closed shape.

14 Chapter 3. Sketch Entities


solvespace Documentation, Release latest

In order to trim the extra lines, it is necessary to split the entities where they intersect. SolveSpace can split lines,
circles, arcs, and Bezier curves against each other. To do so, select the two entities to be split, and then choose Sketch
Split Curves at Intersection. This deletes each original entity, and replaces it with two new entities that share an
endpoint at the intersection. The excess lines may then be deleted as usual.

Warning: Because the original entities are deleted, any constraints on the original entities are deleted as well. This
means that the sketch may no longer be constrained as desired after splitting. If an entity is marked as construction
(via Sketch Toggle Construction) before splitting, then it will not be deleted and the constraints will persist.

Construction Geometry

In normal operation, the user draws lines and curves in a sketch. Those curves describe the geometry to be manufac-
tured; ultimately, the endmill or the laser or some other tool will cut along those curves.
In some cases, it is useful to draw a line that should not appear on the final part. For example, the user may wish to
draw a center line for a symmetric part; but that center line is only a guide, and should not actually get exported with
the CAM data. These lines are called construction lines.
To mark an entity as construction-only:
Choose Sketch Toggle Construction.
A construction entity will behave just like any other entity, except that it is drawn in green, and does not contribute to
the geometry for export (or to the section that will be extruded or lathed or swept).

3.11. Construction Geometry 15


solvespace Documentation, Release latest

16 Chapter 3. Sketch Entities


CHAPTER 4

Constraints

General

To create a constraint, first select the geometry to be constrained. For example, when constraining the distance between
two points, first select those two points. Then choose the appropriate constraint from the Constrain menu.
Depending on what is selected, the same menu item may generate different constraints. For example, the Dis-
tance/Diameter menu item will generate a diameter constraint if a circle is selected, but a length constraint if a line
segment is selected. If the selected items do not correspond to an available constraint, then SolveSpace will display an
error message, and a list of available constraints.
Most constraints are available in both 3d and projected versions. If a workplane is active, then the constraint applies
on the projection of the geometry into that workplane. If no workplane is active, then the constraint applies to the
actually geometry in free space.
For example, consider the line shown below:

17
solvespace Documentation, Release latest

The lines length is constrained in two different ways. The upper constraint, for 50 mm, applies to its actual length.
The lower constraint, for 40 mm, applies to the length of its projection into the XY plane. (The XY plane is highlighted
in yellow.) The dotted purple lines are drawn to indicate the locations of the line segments projected endpoints.
In normal operation, the user activates a workplane (or a workplane is activated automatically, for example by creating
a Sketch in New Workplane group). The user then draws an entity, for example a line. Since a workplane is active, the
line is created in that workplane. The user then constrains that line, for example by specifying its length. Since the
workplane is still active, the constraint actually applies to the projection of the line segment into the workplane.
In this case, the projected distance is equivalent to the 3d distance. If the line segment lies in the workplane, then
the projection of that line segment into the workplane is just that line segment. This means that when drawing in a
workplane, most of this can be ignored.
Its possible to use projected constraints in more complex ways, though. For example, the user might create a line
segment in workplane A, and constrain its projection into workplane B.
Constraints are drawn in purple on the sketch. If a constraint has a label associated with it (e.g. a distance or an angle),

18 Chapter 4. Constraints
solvespace Documentation, Release latest

then that label may be repositioned by dragging it with the mouse. To modify the dimension, double-click the label; a
text box will appear on the screen, where the new value can be entered. Press Enter to commit the change, or Esc
to cancel.

Failure to Solve

In some cases, the solver will fail. This is usually because the specified constraints are inconsistent or redundant. For
example, a triangle with internal angles of 30, 50, and 90 degrees is inconsistent the angles dont sum to 180, so the
triangle could never be assembled. This is an error.
A triangle with internal angles constrained to 30, 50, and 100 degrees is also an error. This is not inconsistent, because
the angles do sum to 180 degrees; but its redundant, because only two of those angles need to be specified.
If the sketch is inconsistent or redundant, then the background of the graphics window is drawn in red (instead of the
usual black), and an error is displayed in the text window:

As a convenience, SolveSpace calculates a list of constraints that could be removed to make the sketch consistent
again. To see which constraints those are, hover the mouse over the links in the text window; the constraint will appear
highlighted in the graphics window. By deleting one or more of the constraints in that list, the user can make the sketch
consistent again.
A different type of error occurs when the solver fails to converge. This may be a defect in the solver, or it may occur

4.2. Failure to Solve 19


solvespace Documentation, Release latest

because impossible geometry was specified (for example, a triangle with side lengths 3, 4, and 10; 3 + 4 = 7 < 10). In
that case, a similar error message is displayed, but without a list of constraints to remove to fix things. The problem
can be resolved by removing or editing the constraints, or by choosing Edit Undo.

Specific Constraints

To get help on a specific constraint, choose its menu item without first selecting any entities. An error message will be
displayed, listing all of the possibilities.
In general, the order in which the entities are selected doesnt matter. For example, if the user is constraining point-
line distance, then they might select the point and then the line, or the line and then the point, and the result would be
identical. Some exceptions exist, and are noted for each resp. type of constraint.

Distance/Diameter

This constraint sets the diameter of an arc or a circle, or the length of a line segment, or the distance between a point
and some other entity.
When constraining the distance between a point and a plane, or a point and a plane face, or a point and a line in a
workplane, the distance is signed. The distance may be positive or negative, depending on whether the point is above
or below the plane. The distance is always shown positive on the sketch; to flip to the other side, enter a negative value.

Reference Dimensions

By default, the dimension drives the geometry. If a line segment is constrained to have a length of 20.00 mm, then the
line segment is modified until that length is accurate.
A reference dimension is the reverse: the geometry drives the dimension. If a line segment has a reference dimension
on its length, then its still possible to freely change that length, and the dimension displays whatever that length
happens to be. A reference dimension does not constrain the geometry.
To convert a dimension into a reference dimension:
Choose Constrain Toggle Reference Dimension.
A reference dimension is drawn with REF appended to the displayed length or angle. Double-clicking a reference
dimension does nothing; the dimension is specified by the geometry, not the user, so it is not meaningful to type in a
new value for the reference dimension.

Angle

This constraint sets the angle between two vectors. A vector is anything with a direction; in SolveSpace, line segments
and normals are both vectors. (So the constraint could apply to two line segments, or to a line segment and a normal,
or to two normals.) The angle constraint is available in both projected and 3D versions.
The angle must always lie between 0 and 180 degrees. Larger or smaller angles may be entered, but they will be taken
modulo 180 degrees. The sign of the angle is ignored.
When two lines intersect, four angles are formed. These angles form two equal pairs. For example, the pictured lines
interesect at 30 degrees and 150 degrees. These two angles (30 and 150) are known as supplementary angles, and they
always sum to 180 degrees.

20 Chapter 4. Constraints
solvespace Documentation, Release latest

(Notice that in the sketch, three of the angle constraints are reference dimensions. Given any one of the angles, we
could calculate the other three; so a sketch that specified more than one of those angles would be overconstrained, and
fail to solve.)
When a new angle constraint is created, SolveSpace chooses arbitrarily which supplementary angle to constrain. An
arc is drawn on the sketch, to indicate which angle was chosen. As the constraint label is dragged, the arc will follow.
If the wrong supplementary angle is constrained, then select the constraint and choose Constrain Other Supplemen-
tary Angle. A constraint of 30 degrees on one supplementary angle is exactly equivalent to a constraint of 150 degrees
on the other.

Horizontal/Vertical

This constraint forces a line segment to be horizontal or vertical. It may also be applied to two points, in which case it
applies to the line segment connecting those points.
A workplane must be active, because the meaning of horizontal or vertical is defined by the workplane.
Its good to use horizontal and vertical constraints whenever possible. These constraints are very simple to solve, and
will not lead to convergence problems. Whenever possible, define the workplanes so that lines are horizontal and
vertical within those workplanes.

Point/Curve/Plane

This constraint forces two points to be coincident, or a point to lie on a curve, or a point to lie on a plane.
The point-coincident constraint is available in both 3d and projected versions. The 3d point-coincident constraint
restricts three degrees of freedom; the projected version restricts only two. If two points are drawn in a workplane,
and then constrained coincident in 3d, then an error will resultthey are already coincident in one dimension (the
dimension normal to the plane), so the third constraint equation is redundant.
When a point is constrained to lie on a circle (or an arc of a circle), the actual constraint forces the point to lie on the
cylindrical surface through that circle. If the point and the circle are already coplanar (e.g., if they are both drawn in
the same workplane), then the point will lie on the curve, but otherwise it will not.

4.3. Specific Constraints 21


solvespace Documentation, Release latest

Equal Length/Radius/Angle

This constraint forces two lengths, angles, or radiuses to be equal.


The equal-angle constraint requires four vectors as input: the two equal angles are the angle between each pair of
inputs. For example, select line segments A, B, C, and D. The constraint forces the angle between lines A and B to
be equal to the angle between lines C and D. If the wrong supplementary angle is chosen, then choose Constrain
Other Supplementary Angle, as for the angle constraint.
If a line and an arc of a circle are selected, then the length of the line is forced equal to the length (not the radius) of
the arc.

Length Ratio

This constraint sets the ratio between the lengths of two line segments. For example, if line A and line B have length
ratio 2:1, then the constraint is satisfied if A is 50 mm long and B is 25 mm long.
The order in which the lines are selected matters; if line A is selected before line B, then the ratio is length of A:length
of B.

Midpoint

This constraint forces a point to lie on the midpoint of a line.


The at-midpoint constraint can also force the midpoint of a line to lie on a plane; this is equivalent to creating a datum
point, constraining it at the midpoint of the line, and then constraining that midpoint to lie on the plane.

Symmetric

This constraint forces two points to be symmetric about some plane. Conceptually, this means that if we placed a
mirror at the symmetry plane, and looked at the reflection of point A, then it would appear to lie on top of point B.
The symmetry plane may be specified explicitly, by selecting a workplane. Or, the symmetry plane may be specified
as a line in a workplane; the symmetry plane is then through that line, and normal to the workplane. Or, the symmetry
plane may be omitted; in that case, it is inferred to be parallel to either the active workplanes vertical axis or its
horizontal axis. The horizontal or vertical axis is chosen, depending which is closer to the configuration in which the
points were initially drawn.

Parallel/Tangent

This constraint forces two vectors to be parallel.


In 2D (i.e., when a workplane is active), a zero-degree angle constraint is equivalent to a parallel constraint. In 3D, it
is not.
Given a unit vector A, and some angle theta, there are in general infinitely many unit vectors that make an angle theta
with A. (For example, if we are given the vector (1, 0, 0), then (0, 1, 0), (0, 0, 1), and many other unit vectors all make
a ninety-degree angle with A.) But this is not true for theta = 0; in that case, there are only two, A and -A.
This means that while a normal 3d angle constraint will restrict only one degree of freedom, a 3d parallel constraint
restricts two degrees of freedom.
This constraint can also force a line to be tangent to a curve, or force two curves (for example, a circle and a cubic)
to be tangent to each other. In order to do this, the two curves must already share an endpoint; this would usually be
achieved with a point-coincident constraint. The constraint will force them to also be tangent at that point.

22 Chapter 4. Constraints
solvespace Documentation, Release latest

Perpendicular

This constraint is exactly equivalent to an angle constraint for ninety degrees.

Orientation

This constraint forces two normals to have the same orientation.


A normal has a direction; it is drawn as an arrow in that direction. The direction of that arrow could be specified by
two angles. The normal specifies those two angles, plus one additional angle that corresponds to the twist about that
arrow.

Note: Technically, a normal represents a rotation matrix from one coordinate system to another. It is represented
internally as a unit quaternion.

For example, the picture below shows two workplanes, whose normals are constrained to be parallel:
..image:: images/ref-parallel-normals.png
Because the normals are parallel, the planes are parallel. But one plane is twisted with respect to the other, so the
planes are not identical. The line on the left is constrained to be horizontal in the leftmost plane, and the line on the
right is constrained to be horizontal in the rightmost. These lines are not parallel, even though the normals of the
workplanes are parallel.
If we replace the parallel constraint with a same orientation constraint, then the two workplanes become identical,
and the two horizontal lines become parallel.
This is a useful constraint when building an assemblies; a single same orientation constraint will fix all three of the
imported parts rotational degrees of freedom.

Comment

A comment is a single line of text that appears on the drawing. To create a comment, select Constrain Comment,
and then left-click the center of the new comment. To move the comment, drag it with the mouse. To change the text,
double-click it.
The comment has no effect on the geometry; it is only a human-readable note. By default, the comment is shown in
the same color as the constraints; but a comment may be assigned to a custom line style, in order to specify the line
width and color, text height, text origin (left, right, top, bottom, center), and text rotation.
If a comment is created within a workplane, then the text will be drawn within the plane of that workplane. Otherwise,
the text will always be drawn facing forward, in the plane of the screen.
By default, comments are hidden when their group is inactive, the same as for all other constraints. If a comment is
assigned to a custom style, then that comment will be shown even when its group is inactive, as long as the style (and
the group, and constraints overall) is shown.

4.3. Specific Constraints 23


solvespace Documentation, Release latest

24 Chapter 4. Constraints
CHAPTER 5

Groups

To view a list of groups, go to the home page of the text window. This is accessible from the link at the top left of the
text window, or by pressing Esc. To view a groups page, click its name in the list.
All groups have a name. When the group is created, a default name (e.g., g008-extrude) is assigned. The user may
change this name; to do so, go to the groups page in the text window, and choose [rename].
Groups that create a solid (e.g. extrudes or lathes) have a solid model as option, which is displayed in the page in
the text window. The group can be merged as union, which adds material to the model, or as difference, which cuts
material away.
The union and difference operations may be performed either as triangle meshes, or as exact NURBS surfaces. Triangle
meshes are fast to compute and robust, but they require any smooth curves to be approximated as piecewise linear
segments. The NURBS surface operations are not as robust, and will fail for some types of geometry; but they
represent smooth curves exactly, which makes it possible for example to export a DXF in which a circular arc appears
as an exact circle, instead of many piecewise linear edges.
These groups also have a color, which determines the color of the surfaces they produce. To change the color, click
one of the swatches in the groups page in the text window.
The groups page in the text window also includes a list of all requests, and of all constraints. To identify a constraint
or a request, hover the mouse over its name; it will appear highlighted in the graphics window. To select it, click the
link in the text window. This is equivalent to hovering over and clicking the actual object in the graphics window.

Sketch

This creates a new empty group, in which the user may draw lines, circles, arcs, and other curves.
The ultimate goal is usually to draw closed sections (like a triangle, or a square with a circular cutout, or some more
complicated shape). These sections are the input for later groups. For example, an extrude group takes a flat section,
and uses it to form a solid.
If all of the entities in the group can be assembled into closed loops, then the area that the loops enclose is shaded in
very dark blue. This is the area that would be swept or extruded or lathed by a subsequent group.

25
solvespace Documentation, Release latest

Sketch in New Workplane

This creates a new empty group, similar to a new Sketch. The difference is that a Sketch in New Workplane also creates
a workplane. The workplane is created based on the entities that are selected when the sketch is created.
These may entities may be:
a point and two line segments The new workplane has its origin at the specified point. The workplane is parallel to
the two lines. If the point is a vertex on a face of the part, and the two lines are two edges of that face, then the
resulting workplane will be coincident with that face (i.e., the user will be drawing on that face).
a point The new workplane has its origin at the specified point. The workplane is orthogonal to the base coordinate
system; for example, its horizontal and vertical axes might lie in the +y and -z directions, or +x and +z, or any
other combination.
The orientation of the workplane is inferred from the position of the view when the workplane is created; the view is
snapped to the nearest orthographic view, and the workplane is aligned to that.
If a part consists mostly of ninety degree angles, then this is a quick way to create workplanes.
The new groups associated workplane is automatically set to be the active workplane.
If the entities in this group do not form closed curves, then an error message is displayed on the screen, and a red line
is drawn across the gap. An error is also displayed if the curves are not all coplanar.

Linear Array

This group takes geometry in the active group, and copies it multiple times along a straight line.
If a workplane is active when the step translating group is created, then the translation vector must lie parallel to that
workplane. Otherwise, the translation vector may go anywhere in free space.
The number of copies to create is specified by the user. To change this value, click the [change] link in the groups
page in the text window.
The copies may be translated on one side, or on two sides. If the copies are translated on one side, then the original
will appear to the left of (or above, below, etc.) all the copies. If the copies are translated on two sides, then the original
will appear in the center of the copies.
The copies may be translated starting from the original, or starting from copy #1. If the translation starts from the
original, then the translation will contain the original. So a 1-element step will always produce the input geometry in
its original location.
If the translation starts from copy #1, then the original is not included in the output. So a 1-element step makes a single
copy of the input geometry, and allows the user to translate it anywhere in space.
If the active group is a sketch (sketch in 3D, sketch in new workplane), the the sketch is stepped and repeated. In that
case the user would typically draw a section, step and repeat that section, and then extrude the step and repeat.
If the active group is a solid (extrude, lathe), then the solid is stepped and repeated. In this case, the user would draw
a section, extrude the section, and then step and repeat the extrusion.
In some cases, these two possibilities (extrude the step, vs. step the extrusion) are equivalent. If the translation vector
isnt parallel to the section plane, then only the second option will work.

Polar Array

This group takes the geometry in the active group, and copies it mutiple times along a circle.

26 Chapter 5. Groups
solvespace Documentation, Release latest

Before creating the group, the user must select its axis of rotation. One way to do this is to select a point, plus either a
line segment or a normal; the axis of rotation goes through the point, and is parallel to the line segment or normal.
If a workplane is active, then its also possible to select just a point; in that case, the axis of rotation goes through that
point, and is normal to the workplane. This means that the rotation remains within the plane of the workplane.
The step and repeat options (one side/two sides, with original/with copy #1) are the same as for Linear Array groups.
The numer of copies is specified in the same way as for step translating. If the rotated geometry has not yet been
constrained, then the copies will be spaced evenly around a circle; for example, if 5 copies are requested, then the
spacing will be 360/5 = 72 degrees.
To place the copies along less than (or more than) a complete circle, drag a point on one of the copies with the mouse;
all of the rest will follow, as the step rotation angle is modified. Constraints (for example an angle constraint, or a
point-on-lie constraint) may be used to specify the angle of rotation exactly.

Extrude

This group takes a flat section, and extrudes it to form a solid. The flat section is taken from the section of the group
that is active when the extrude group is created. This is usually a sketch in workplane, or a sketch in 3D, but could
also be a an Array.
The sketch may be extruded on one side, or on two sides. If the sketch is extruded on one side, then the new solid is
either entirely above or entirely below the original sketch. Drag a point on the new surface to determine the extrude
direction, and also to determine the extrude depth. Once the extrusion depth looks approximately correct, it may be
specified exactly by using constraints. For example, the user might constrain the length of one of the newly extruded
edges.
If the sketch is extruded on two sides, then the original sketch lies at the exact midpoint of the new solid. This means
that the solid is symmetric about the original sketch plane. Later dimensioning often becomes simpler when the part
has symmetry, so its useful to extrude on two sides whenever possible.
A workplane must be active when the group is created, and the extrude path is automatically constrained to be normal
to that workplane. This means, for example, that a rectangle is extruded to form a rectangular prism. The extrusion
has one degree of freedom, so a single distance constraint will fully constrain it.
By default, no workplane is active in a new extrude group. This means that constraints will apply in 3D; for example, a
length constraint is a constraint on the actual length, and not on the length projected into some plane. This is typically
the desired behaviour, but its possible to activate a workplane in the usual way (by selecting it, then choosing Sketch
In Workplane).

5.5. Extrude 27
solvespace Documentation, Release latest

28 Chapter 5. Groups
CHAPTER 6

Known Bugs and Issues

Boolean Operations on Triangle Meshes

When Boolean operations are performed on triangle meshes (instead of exact NURBS surfaces), the resulting mesh
quality will often be poor. An equally good mesh might have been achieved with fewer triangles, if the curves were
piecewise-linear approximated differently. Or the mesh may contain long skinny triangles.
This means that the exported STL files will not contain a high quality mesh. This is generally not a problem, but could
be in some applications. In particular, the exported mesh may no longer be exactly 2-manifold (i.e., watertight). Check
for this problem with AnalyzeShow Naked Edges.
Another consequence is that the program runs slower as the number of triangles increases. Its a good idea to draw
with a fairly coarse mesh. Before exporting, reduce the chord tolerance; the part will be regenerated with a finer mesh.

Boolean Operations on NURBS Surfaces

When Boolean operations are performed on NURBS surfaces, the mesh quality will in general be much better. But
some types of surface intersection are not handled by the current NURBS Booleans, so it may in some cases be
impossible to perform the desired operation as a NURBS Boolean.
The NURBS Booleans are also affected by the chord tolerance. Operations may fail if that tolerance is too coarse,
but the routines become slower as the tolerance gets finer. If problems occur, then it is often useful to change that
tolerance.
To improve speed and mesh quality, draw the part using fewer Boolean operations. For example, a plate with a hole
might be modeled in two different ways. The user might extrude the plate, and then cut a hole by extruding a circle
as difference. Or the user might draw a single sketch with both the outline of the plate and the hole, and extrude only
once. The latter option is preferable. The trim command (SketchSplit Curves at Intersection) may be useful while
drawing complicated sections.

29
solvespace Documentation, Release latest

30 Chapter 6. Known Bugs and Issues


CHAPTER 7

Indices and Tables

genindex
search
glossary

31

You might also like