2008-07-16 05:45:11 +00:00
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
This is a reference manual for SolveSpace. This document is not intended
|
2008-07-18 13:31:22 +00:00
|
|
|
for new users; to learn about this program, see the video tutorials.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h2>General Navigation</h2>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
<h3>Graphics Window and Model View</h3>
|
|
|
|
|
|
|
|
To pan the view, right-drag with the mouse.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
To rotate the view within the plane of the monitor,
|
|
|
|
Ctrl+center-drag with the mouse.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
It is also possible to pan by Shift+center-dragging, or to rotate
|
|
|
|
by Shift+right-dragging.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
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.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
If a workplane is active, then choose Sketch -> In Workplane (or
|
|
|
|
press W) to align the view to the workplane. After doing this,
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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
|
2008-02-07 17:44:27 +00:00
|
|
|
are live: they can be highlighted and selected with the mouse, in
|
2008-07-18 13:31:22 +00:00
|
|
|
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.)
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Dimension Entry and Units</h3>
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
Choose View -> Dimensions in Inches/Mm 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.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
All dimensions are entered in the current display units. In most
|
|
|
|
places where a dimension is expected, it's possible to enter an
|
|
|
|
arithmetic expression ("4*20 + 7") instead of a single number.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>Text Window</h3>
|
|
|
|
|
|
|
|
The text window appears as a floating palette window. It may
|
|
|
|
be shown or hidden by pressing Tab, or by choosing View ->
|
|
|
|
Show Text Window.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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
|
2008-07-18 13:31:22 +00:00
|
|
|
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:
|
|
|
|
|
|
|
|
<img src="/pics/ref-text-window.png" />
|
|
|
|
|
|
|
|
To navigate to a group's page, click on that group's name (e.g.,
|
2008-02-07 17:44:27 +00:00
|
|
|
"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 on the word "yes" in the
|
2008-07-18 13:31:22 +00:00
|
|
|
"show" 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
|
|
|
|
group's page. It's 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.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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 display's a circle's 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
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Show / Hide Entities</h3>
|
|
|
|
|
|
|
|
As the sketch becomes more complex, it may be useful to hide
|
2008-02-13 16:13:08 +00:00
|
|
|
unnecessary information. SolveSpace provides several different
|
2008-07-18 13:31:22 +00:00
|
|
|
ways to do this.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
In the second and third line of the text window, links are
|
2008-07-18 13:31:22 +00:00
|
|
|
provided to hide and show different things. These are:
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
wrkpls -- When a new "Sketch In New Workplane" group is
|
|
|
|
created, an associated workplane is created
|
|
|
|
automatically. If wrkpls is hidden, then that
|
|
|
|
workplane is visible only when its associated
|
|
|
|
group is active. If wrkpls is shown, then the
|
|
|
|
workplane is always visible.
|
|
|
|
|
|
|
|
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 link
|
|
|
|
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 link 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 - 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 link.
|
|
|
|
|
|
|
|
shaded -- The 3d part is displayed as an opaque solid,
|
|
|
|
with lighting effects to give the impression of
|
2008-07-18 13:31:22 +00:00
|
|
|
depth. This link may be used to hide that
|
2008-07-16 05:45:11 +00:00
|
|
|
view.
|
|
|
|
|
|
|
|
faces -- 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 what's desired,
|
|
|
|
then the faces can be shown or hidden manually
|
|
|
|
with this link.
|
|
|
|
|
|
|
|
mesh -- The 3d model of the part consists of many
|
2008-02-07 17:44:27 +00:00
|
|
|
triangles; for example, a rectangular face is
|
|
|
|
represented by two triangles. Use this link to
|
|
|
|
show the triangles on the model. This is a good
|
|
|
|
way to see how fine or coarse the mesh is
|
2008-07-16 05:45:11 +00:00
|
|
|
before exporting it.
|
|
|
|
|
|
|
|
hidden-lines - With the part in a given orientation, some of
|
|
|
|
the lines in the part will be invisible,
|
2008-07-18 13:31:22 +00:00
|
|
|
because they are buried inside the solid part.
|
|
|
|
To show those lines anyways, as if the part
|
2008-02-07 17:44:27 +00:00
|
|
|
were transparent, use this link. This is useful
|
|
|
|
when drawing a sketch that lies within the
|
|
|
|
volume of the part.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
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
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
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 "show" column contains the word "yes" in green.
|
|
|
|
Click the "yes"; it now appears as a greyed "no", 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.
|
|
|
|
|
|
|
|
<h3>Active Workplane</h3>
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
SolveSpace represents all geometry in 3d; it's possible to draw
|
2008-07-16 05:45:11 +00:00
|
|
|
line segments anywhere, not just in some plane.
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
This freedom is not always useful, so SolveSpace also makes
|
2008-07-18 13:31:22 +00:00
|
|
|
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 ("wrkpl") is indicated in the top line of
|
|
|
|
the text window, at the right.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
When SolveSpace starts with a new empty file, a workplane parallel
|
2008-07-18 13:31:22 +00:00
|
|
|
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 group's associated
|
|
|
|
workplane may be activated by choosing Sketch -> In Workplane;
|
|
|
|
there is no need to select it first.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
<h3>Active Group</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
In the text window's home screen (press Escape, or choose the
|
|
|
|
link in the top left corner), the active group's line in the
|
|
|
|
list of groups has "yes" in the "actv" column. All other groups
|
|
|
|
(except g001-#references, which cannot be activated) have "no"
|
|
|
|
in that column. To activate an inactive group, click on the "no".
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
<h2>Sketch Entities</h2>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>Construction Geometry</h3>
|
|
|
|
|
|
|
|
In normal operation, the user draws line and curves in a
|
|
|
|
sketch. Those curves describe the geometry to be manufactured;
|
|
|
|
ultimately, the endmill or the laser or some other tool will
|
|
|
|
cut along those curves.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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
|
2008-07-18 13:31:22 +00:00
|
|
|
a guide, and should not actually get exported with the CAM data.
|
2008-02-07 17:44:27 +00:00
|
|
|
These lines are called construction lines.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
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
|
2008-02-07 17:44:27 +00:00
|
|
|
contribute to the geometry for export (or to the section that
|
|
|
|
will be extruded or lathed or swept).
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Datum Point</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This entity is defined by a single point.
|
|
|
|
|
|
|
|
If a workplane is active when the datum point is created,
|
|
|
|
then that datum point will always lie in the workplane. If no
|
|
|
|
workplane is active, then the datum point will be free in 3d.
|
|
|
|
(This is the same behaviour as for all points, including e.g. the
|
|
|
|
endpoints of a line segment.)
|
|
|
|
|
|
|
|
Datum points are typically used as construction geometry. The user
|
|
|
|
might place datum points in order to simplify the dimensioning
|
|
|
|
of line segments or other entities.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Workplane</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
It's almost never necessary to create workplanes explicitly.
|
|
|
|
Instead, create a new Sketch in New Workplane group.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Line Segment</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This entity is specified by its two endpoints. If a workplane is
|
|
|
|
active, then the two endpoints will always lie in that workplane.
|
|
|
|
|
|
|
|
To create the line segment, choose Sketch -> Line Segment, and
|
|
|
|
then left-click one endpoint of the line. Then release the mouse
|
|
|
|
button; the other endpoint is now being dragged.
|
|
|
|
|
|
|
|
To create another line segment, that shares an endpoint with
|
|
|
|
the line segment that was just created, left-click again. This
|
|
|
|
is a fast way to draw closed polygons.
|
|
|
|
|
|
|
|
To stop drawing line segments, press Escape, or right- or
|
2008-02-13 16:13:08 +00:00
|
|
|
center-click the mouse. SolveSpace will also stop drawing new
|
2008-07-18 13:31:22 +00:00
|
|
|
line segments if an automatic constraint is inserted. (For
|
2008-02-07 17:44:27 +00:00
|
|
|
example, draw a closed polygon by left-clicking repeatedly, and
|
2008-07-18 13:31:22 +00:00
|
|
|
then hovering over the starting point before left-clicking the
|
|
|
|
last time. The endpoint of the polyline will be constrained to
|
|
|
|
lie on the starting point, and since a constraint was inserted,
|
2008-02-13 16:13:08 +00:00
|
|
|
SolveSpace will stop drawing.)
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Rectangle</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
This entity consists of two vertical line segments, and two
|
2008-07-16 05:45:11 +00:00
|
|
|
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".
|
|
|
|
|
|
|
|
<h3>Circle</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This entity is specified by its center point, by its diameter,
|
|
|
|
and by its normal.
|
|
|
|
|
|
|
|
To create the circle, choose Sketch -> Circle, and then left-click
|
|
|
|
the center. Then release the mouse button; the diameter of
|
|
|
|
the circle is now being dragged. Left-click again to place
|
|
|
|
the diameter.
|
|
|
|
|
|
|
|
If a workplane is active, then the center point must lie in
|
|
|
|
that workplane, and the circle's normal is parallel to the
|
|
|
|
workplane's 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
|
|
|
|
circle's orientation.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Arc of a Circle</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This entity is specified by its center point, the two endpoints,
|
|
|
|
and its normal.
|
|
|
|
|
|
|
|
To create the arc, choose Sketch -> Arc of a Circle, and then
|
|
|
|
left-click one of its endpoints. 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.
|
|
|
|
|
|
|
|
Left-click again to place the other endpoint, and then 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.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
Tangent arcs may be created automatically. To do so, first select
|
|
|
|
a point where two line segments join. Then choose Sketch ->
|
|
|
|
Arc of a Circle; the arc will be created, and automatically
|
|
|
|
constrained tangent to the two line segments.
|
|
|
|
|
|
|
|
The initial line segments will become construction lines, and
|
|
|
|
two new lines will be created, that join up to the arc.
|
|
|
|
|
|
|
|
The arc's diameter may then be constrained in the usual way, with
|
|
|
|
Distance / Diameter or Equal Length / Radius constraints. This
|
|
|
|
is a simple way to round a sharp corner.
|
|
|
|
|
|
|
|
<h3>Bezier Cubic Segment</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This entity is specified by its four Bezier points: two endpoints,
|
|
|
|
and two (in general, off-curve) control points.
|
|
|
|
|
|
|
|
To create the Bezier cubic, choose Sketch -> Bezier Cubic
|
|
|
|
Segment. Then left-click one endpoint of the cubic segment.
|
|
|
|
Release the mouse button; the other endpoint of the cubic segment
|
|
|
|
is now being dragged.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Text in a TrueType Font</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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
|
|
|
|
text's position.
|
|
|
|
|
|
|
|
To create the text, choose Sketch -> Text in TrueType Font. Then
|
|
|
|
left-click the top left point of the text. The bottom right point
|
|
|
|
of the text is now being dragged; left-click again to place it.
|
|
|
|
|
|
|
|
To change the font, select the text entity. A list of installed
|
|
|
|
fonts appears in the text window; click the font name to select
|
|
|
|
it. To change the displayed text, select the text entity and
|
|
|
|
click the [change] link in the text window.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
<h2>Constraints</h2>
|
|
|
|
|
|
|
|
<h3>General</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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 Distance / 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,
|
2008-02-13 16:13:08 +00:00
|
|
|
then SolveSpace will display an error message, and a list of
|
2008-07-18 13:31:22 +00:00
|
|
|
available constraints.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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:
|
|
|
|
|
|
|
|
<img src="/pics/ref-projd-constraint.png" />
|
|
|
|
|
|
|
|
The line's 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 segment's 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.
|
|
|
|
|
|
|
|
It's 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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
Constraints are drawn in purple on the sketch. If a constraint
|
2008-02-07 17:44:27 +00:00
|
|
|
has a label associated with it (e.g. a distance or an angle), 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.
|
|
|
|
|
|
|
|
<h3>Failure to Solve</h3>
|
|
|
|
|
|
|
|
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 don't 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 it's 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:
|
|
|
|
|
|
|
|
<img src="/pics/ref-inconsistent.png" />
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
As a convenience, SolveSpace calculates a list of constraints
|
2008-02-07 17:44:27 +00:00
|
|
|
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
|
|
|
|
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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Reference Dimensions</h3>
|
|
|
|
|
|
|
|
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
|
2008-07-18 13:31:22 +00:00
|
|
|
length, then it's still possible to freely change that length,
|
2008-07-16 05:45:11 +00:00
|
|
|
and the dimension displays whatever that length happens to be. A
|
|
|
|
reference dimension does not constrain the geometry.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
<h3>Specific Constraints</h3>
|
|
|
|
|
|
|
|
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 doesn't
|
|
|
|
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 exists, and are noted below.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
<h3>Distance / Diameter</h3>
|
|
|
|
|
|
|
|
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.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Angle</h3>
|
2008-02-07 17:44:27 +00:00
|
|
|
|
|
|
|
This constraint sets the angle between two vectors. A vector
|
2008-02-13 16:13:08 +00:00
|
|
|
is anything with a direction; in SolveSpace, line segments and
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
<img src="/pics/ref-line-cross-angles.png" />
|
2008-07-16 05:45:11 +00:00
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
(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.)
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
When a new angle constraint is created, SolveSpace chooses
|
2008-07-18 13:31:22 +00:00
|
|
|
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 Supplementary Angle. A
|
|
|
|
constraint of 30 degrees on one supplementary angle is exactly
|
|
|
|
equivalent to a constraint of 150 degrees on the other.
|
|
|
|
|
|
|
|
<h3>Horizontal / Vertical</h3>
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
It's 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.
|
|
|
|
|
|
|
|
<h3>On Point / Curve / Plane</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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 result--they 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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>Equal Length / Radius</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>Length Ratio</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>At Midpoint</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>Symmetric</h3>
|
|
|
|
|
|
|
|
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;
|
2008-02-07 17:44:27 +00:00
|
|
|
in that case, it is inferred to be parallel to either the active
|
2008-07-18 13:31:22 +00:00
|
|
|
workplane's 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.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
<h3>Perpendicular</h3>
|
|
|
|
|
|
|
|
This constraint is exactly equivalent to an angle constraint
|
|
|
|
for ninety degrees.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>Parallel / Tangent</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
This constraint forces two vectors to be parallel.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
This constraint can also force a line to be tangent to a curve.
|
|
|
|
In order to do this, the line must already share an endpoint with
|
|
|
|
the curve; this would usually be achieved with a point-coincident
|
|
|
|
constraint. The constraint will force them to also be tangent
|
|
|
|
at that point.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
<h3>Same Orientation</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
This constraint forces two normals to have the same orientation.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
(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:
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
<img src="/pics/ref-parallel-normals.png" />
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
part's rotational degrees of freedom.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
<h3>Comment</h3>
|
|
|
|
|
|
|
|
A comment is a single line of text that appears on the drawing.
|
|
|
|
When the comment is created, it appears in the center of the
|
|
|
|
screen. 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.
|
|
|
|
|
|
|
|
|
|
|
|
<h2>Groups</h2>
|
|
|
|
|
|
|
|
<h3>General</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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 group's page, click on
|
|
|
|
its name in the list.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
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 group's page in the text window, and choose
|
|
|
|
[rename].
|
|
|
|
|
|
|
|
Groups that create a solid (e.g. extrudes or sweeps) have a "MERGE
|
|
|
|
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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
These groups also have a color, which determines the color of
|
|
|
|
the surfaces they produce. To change the color, click on one of
|
|
|
|
the swatches in the group's page in the text window.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
The group's 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 on the link in the
|
|
|
|
text window. This is equivalent to hovering over and clicking
|
|
|
|
the actual object in the graphics window.
|
|
|
|
|
|
|
|
<h3>Sketch in 3d</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This creates a new empty group, in which the user may draw lines,
|
|
|
|
circles, arcs, and other curves.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Sketch in New Workplane</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This creates a new empty group, similar to a new "Sketch in 3d".
|
|
|
|
The difference is that a "Sketch in New Workplane" also creates
|
|
|
|
a workplane. The workplane is created based on the entities that
|
2008-02-07 17:44:27 +00:00
|
|
|
are selected when the sketch is created. These may be:
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
A point and two line segments
|
|
|
|
|
|
|
|
The new workplane has its origin at the specified point. The
|
2008-02-07 17:44:27 +00:00
|
|
|
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).
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
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
|
2008-07-18 13:31:22 +00:00
|
|
|
+y and -z directions, or +x and +z, or any other combination.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
The new group's associated workplane is automatically set to be
|
|
|
|
the active workplane.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Step Translating</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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 group's 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
|
2008-02-07 17:44:27 +00:00
|
|
|
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.)
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
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, sweep, 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
|
|
|
|
isn't parallel to the section plane, then only the second option
|
|
|
|
will work.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Step Rotating</h3>
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
This group takes the geometry in the active group, and copies
|
|
|
|
it mutiple times along a circle.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
If a workplane is active, then it's 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.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
The step and repeat options (one side / two sides, with original /
|
|
|
|
with copy #1) are the same as for step translating 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.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Extrude</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
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
|
|
|
|
step and repeat.)
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
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
|
2008-02-07 17:44:27 +00:00
|
|
|
entirely above or entirely below the original sketch. Drag a
|
2008-07-18 13:31:22 +00:00
|
|
|
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
|
2008-02-07 17:44:27 +00:00
|
|
|
by using constraints. For example, the user might constrain the
|
|
|
|
length of one of the newly extruded edges.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
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 it's useful to extrude on two sides whenever possible.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
If a workplane is active when the group is created, then 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.
|
|
|
|
This is usually the desired behaviour.
|
|
|
|
|
|
|
|
If no workplane is active when the group is created, then the
|
|
|
|
extrude path may be in any direction. This means that a rectangle
|
|
|
|
could be extruded to form a parallelepiped. The extrusion has
|
|
|
|
three degrees of freedom. This is not typically useful.
|
|
|
|
|
2008-07-18 13:31:22 +00:00
|
|
|
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 it's possible to activate a workplane in the usual
|
|
|
|
way (by selecting it, then choosing Sketch -> In Workplane).
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Lathe</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
This group takes a flat sketch, and sweeps it around a
|
|
|
|
specified axis, to form a solid of revolution. The section
|
|
|
|
is taken from the group that is active when the lathe group
|
|
|
|
is created.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
|
|
|
To create a lathe group, first select a line segment. Then choose
|
|
|
|
New Group -> Lathe. The line segment is the axis of revolution.
|
|
|
|
|
|
|
|
The section must not intersect itself as it is swept along the
|
|
|
|
curve. If the section crosses the axis of rotation, then it is
|
|
|
|
certain to intersect itself and fail.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Sweep</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
This group takes a flat sketch, and sweeps it along an arbitrary
|
|
|
|
trajectory. The section is taken from the group that is active
|
|
|
|
when the sweep group is created. The path is taken from the
|
|
|
|
group that precedes the active group.
|
|
|
|
|
|
|
|
The section to sweep should be drawn approximately normal
|
|
|
|
(perpendicular) to the trajectory. As the section is swept,
|
|
|
|
it is maintained normal to the trajectory.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Helical Sweep</h3>
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
This group takes a flat sketch, and sweeps it along a helix. The
|
|
|
|
section is taken from the group that is active when the helical
|
|
|
|
sweep is created.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
To create a helical sweep, first select a line segment and a
|
|
|
|
point. Then choose New Group -> Helical Sweep. The line segment
|
|
|
|
is the axis of the helix, and the point determines the radius
|
|
|
|
of the helix.
|
|
|
|
|
|
|
|
To change the parameters of the helix, enter new values in the
|
|
|
|
helical sweep's page in the text window. For example, a 1/2"-10
|
|
|
|
screw thread has axial pitch 0.100" per turn (since ten turns
|
|
|
|
of 0.100" make an inch), and dRadius = 0. A flat coil has axial
|
|
|
|
pitch zero, but some dRadius. A sweep with nonzero pitch and
|
|
|
|
dRadius produces a conical helix.
|
2008-07-18 13:31:22 +00:00
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>Import / Assemble</h3>
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
In SolveSpace, there is no distinction between "part" files and
|
2008-07-16 05:45:11 +00:00
|
|
|
"assembly" files; it's always possible to import one file into
|
|
|
|
another. An "assembly" is just a part file that imports one or
|
|
|
|
more other parts.
|
|
|
|
|
|
|
|
The imported file is not editable within the assembly. It is
|
|
|
|
imported exactly as it appears in the source file, but with an
|
|
|
|
arbitrary position and orientation. This means that the imported
|
|
|
|
part has six degrees of freedom.
|
|
|
|
|
|
|
|
To move (translate) the part, click any point on the imported
|
|
|
|
part and drag it. To rotate the part, click any point and Shift+
|
|
|
|
or Ctrl+drag it. The position and orientation of the part may be
|
|
|
|
fixed with constraints, in the same way that any other geometry
|
|
|
|
is constrained.
|
|
|
|
|
|
|
|
The Same Orientation constraint is particularly useful when
|
|
|
|
importing parts. This one constraint completely determines the
|
|
|
|
imported part's rotation. (Select a normal on the imported part,
|
|
|
|
select some other normal to constrain it against, and choose
|
|
|
|
Constrain -> Same Orientation).
|
|
|
|
|
|
|
|
Import groups have a special "MERGE AS" option: in addition
|
|
|
|
to the usual "union" and "difference", they have "assemble".
|
|
|
|
The "assemble" option is identical to "union", except that
|
|
|
|
it displays a warning if the components intersect with each
|
|
|
|
other. This is useful when checking to see if the assembled parts
|
|
|
|
interfere. If the parts interfere, then a warning is displayed
|
|
|
|
underneath the "MERGE AS" line in the group's text window page.
|
|
|
|
The interfering surfaces are also highlighted in the graphics
|
|
|
|
window, in red with black stripes.
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
When an assembly file is loaded, SolveSpace loads all of the
|
2008-07-16 05:45:11 +00:00
|
|
|
imported files as well. If the imported files are not available,
|
|
|
|
then an error occurs. When transfering an assembly file to another
|
|
|
|
computer, it's necessary to transfer all of the imported files
|
|
|
|
as well.
|
|
|
|
|
2008-07-20 11:27:22 +00:00
|
|
|
<h2>Analysis</h2>
|
|
|
|
|
|
|
|
<h3>Trace Point</h3>
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
SolveSpace can draw a "trail" behind a point as it moves. This
|
2008-07-20 11:27:22 +00:00
|
|
|
is useful when designing mechanisms. The sketch shown below is
|
|
|
|
a four-bar linkage:
|
|
|
|
|
|
|
|
<img src="/pics/ref-point-traced.png" />
|
|
|
|
|
|
|
|
As the linkage is worked, the midpoint of the top link moves
|
|
|
|
along the cyan curve. This image was produced by drawing the
|
|
|
|
linkage, tracing that midpoint, and then dragging the linkage
|
|
|
|
through its full range of motion with the mouse.
|
|
|
|
|
|
|
|
To start tracing, select a point, and choose Analyze -> Trace
|
|
|
|
Point. When the point moves, a cyan trail will be drawn behind it.
|
|
|
|
|
|
|
|
To stop tracing, choose Analyze -> Stop Tracing. A dialog
|
|
|
|
will appear, with the option to save the trace as a CSV
|
|
|
|
(comma-separated value) file. To save the trace, enter a
|
|
|
|
filename. To abandon the trace, choose Cancel or hit Esc.
|
|
|
|
|
|
|
|
The trace is saved as a text file, with one point per line. Each
|
|
|
|
point appears in the format x, y, z, separated by commas. Many
|
|
|
|
programs, including spreadsheets like Excel, can read this format.
|
|
|
|
The units for the coordinates are determined by the export
|
|
|
|
scale factor. (If the export scale factor is 1, then they are
|
|
|
|
millimeters, and if it's 25.4, then they're inches.)
|
|
|
|
|
|
|
|
If the mechanism is worked by dragging it with the mouse, then
|
|
|
|
the points in the trace will be unevenly spaced, because the
|
|
|
|
motion of the mouse is irregular. A plot of x vs. y (like the
|
|
|
|
cyan trace above) is not affected, but a plot of x or y vs. t
|
|
|
|
is useless, because the "speed" along the curve is not constant.
|
|
|
|
|
|
|
|
To avoid this problem, move the point by stepping a dimension,
|
|
|
|
rather than by dragging with the mouse. Select the dimension to
|
|
|
|
be stepped; this can be any distance or angle. Choose Analyze ->
|
|
|
|
Step Dimension. Enter the new final value for that dimension,
|
|
|
|
and the number of steps; then click "step dimension now".
|
|
|
|
|
|
|
|
The dimension will be modified in multiple steps, and solved
|
|
|
|
at each intermediate value. For example, consider a dimension
|
|
|
|
that is now set to 10 degrees. The user steps this dimension to
|
2008-02-13 16:13:08 +00:00
|
|
|
30 degrees, in 10 steps. This means that SolveSpace will solve
|
2008-07-20 11:27:22 +00:00
|
|
|
at 12 degrees, then 14 degrees, then 16, and so on, until it
|
|
|
|
reaches 30 degrees.
|
|
|
|
|
|
|
|
The position of the traced point will be recorded at each
|
|
|
|
intermediate value. When the trace is exported, it represents
|
|
|
|
the position of that point, as the dimensioned link rotates with
|
|
|
|
constant angular speed.
|
|
|
|
|
|
|
|
The step dimension feature can also improve convergence. In some
|
|
|
|
difficult cases, the solver will fail to find a solution when a
|
|
|
|
dimension is changed. If the specified constraints have multiple
|
|
|
|
solutions, then the solver may also find an undesired solution. In
|
|
|
|
this case, it may be useful to try stepping the dimension to
|
|
|
|
its new value, instead of changing it in a single step.
|
|
|
|
|
2008-02-07 09:53:52 +00:00
|
|
|
<h3>Measure Volume</h3>
|
|
|
|
|
|
|
|
This feature reports the volume of the part. Depending on
|
|
|
|
the active units, the volume is given in cubic inches, or in
|
|
|
|
millilitres and cubic millimeters.
|
|
|
|
|
|
|
|
If the part contains smooth curves (e.g. circles), then the
|
|
|
|
mesh is not an exact representation of the geometry. This means
|
|
|
|
that the measured volume is only an approximation; for a mesh
|
|
|
|
that looks fairly smooth on-screen, expect an error around one
|
|
|
|
percent. To decrease this error, choose a finer chord tolerance.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
<h2>Export</h2>
|
|
|
|
|
|
|
|
<h3>Bitmap Image</h3>
|
|
|
|
|
|
|
|
This option will export a bitmap image of whatever is displayed
|
|
|
|
on-screen. It is equivalent to taking a screenshot. This option
|
2008-02-07 17:44:27 +00:00
|
|
|
is useful for producing human-readable output.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
Choose File -> Export Image. The file is exported as a PNG,
|
|
|
|
which most graphics software can open.
|
|
|
|
|
|
|
|
<h3>2d Vector (DXF)</h3>
|
|
|
|
|
|
|
|
This option will generate a 2d vector file that represents a
|
2008-02-07 17:44:27 +00:00
|
|
|
specified plane in the part. Most 2d CAM software, including
|
|
|
|
the software that ships with most laser or waterjet cutters,
|
|
|
|
will accept a DXF file.
|
2008-07-16 05:45:11 +00:00
|
|
|
|
|
|
|
Before exporting a DXF, it is necessary to specify which plane of
|
|
|
|
the part should be exported. This may be specified by:
|
|
|
|
|
|
|
|
a face:
|
|
|
|
|
|
|
|
Any surfaces coplanar with that plane face will appear in the
|
|
|
|
file. The faces must be shown before they can be selected;
|
|
|
|
click the link in the third line of the text window.
|
|
|
|
|
|
|
|
a point, and two lines or vectors:
|
|
|
|
|
|
|
|
The export plane is through the point, and parallel to
|
|
|
|
the two lines or vectors. If the two lines or vectors are
|
|
|
|
perpendicular, then they will become the x and y axis in the
|
|
|
|
DXF file. Whichever line is more horizontal in the current
|
|
|
|
view becomes the x axis, and the other one becomes the y.
|
|
|
|
|
|
|
|
This means that it's possible to rotate the exported DXF
|
|
|
|
through ninety degrees by rotating the view through ninety
|
|
|
|
degrees (in the plane of that face). Similarly, by rotating
|
|
|
|
the part around to look at the face from behind instead of
|
|
|
|
in front, the exported DXF is mirrored.
|
|
|
|
|
|
|
|
the active workplane
|
|
|
|
|
|
|
|
If a workplane is active, and nothing is selected when the
|
2008-02-13 16:13:08 +00:00
|
|
|
export command is chosen, then SolveSpace will export any
|
2008-07-16 05:45:11 +00:00
|
|
|
surfaces that are coplanar with the active workplane. The
|
|
|
|
workplane's horizontal and vertical axes become the x and
|
|
|
|
y axis in the DXF file.
|
|
|
|
|
|
|
|
The units of the DXF file are determined by the export scale
|
|
|
|
factor, which may be specified in the configuration screen.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
The exported DXF contains only line segments; all curves are
|
|
|
|
broken down into lines, with the specified chord tolerance.
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
<h3>3d Mesh (STL)</h3>
|
|
|
|
|
|
|
|
This option will generate a 3d triangle mesh that represents
|
|
|
|
the entire part. Most 3d CAM software, including the software
|
|
|
|
for most 3d printers, will accept an STL file.
|
|
|
|
|
|
|
|
The mesh from the active group will be exported; this is the
|
|
|
|
same mesh that is displayed on screen. The coordinate system
|
|
|
|
for the STL file is the same coordinate system in which the part
|
|
|
|
is drawn. To use a different coordinate system (e.g., to rotate
|
|
|
|
or translate the part), create an assembly with the part in the
|
|
|
|
desired position, and then export an STL file of the assembly.
|
|
|
|
|
|
|
|
The units of the STL file are determined by the export scale
|
|
|
|
factor, which may be specified in the configuration screen.
|
|
|
|
|
|
|
|
<h2>Configuration</h2>
|
|
|
|
|
|
|
|
<h3>Material Colors</h3>
|
|
|
|
|
|
|
|
In the text window screen for certain groups (extrude, lathe,
|
|
|
|
sweep), a palette of eight colors is displayed. This palette
|
|
|
|
allows the user to choose the color of any surfaces generated
|
|
|
|
by that group.
|
|
|
|
|
|
|
|
These eight colors are specified here, by their components.
|
|
|
|
The components go from 0 to 1.0. The color "0, 0, 0" is black,
|
|
|
|
and "1, 1, 1" is white. The components are specified in the order
|
|
|
|
"red, green, blue".
|
|
|
|
|
|
|
|
A change to the palette colors does not change the color of any
|
|
|
|
existing surfaces in the sketch, even if the color of an existing
|
|
|
|
surface no longer appears in the palette.
|
|
|
|
|
|
|
|
<h3>Light Directions</h3>
|
|
|
|
|
|
|
|
The 3d part is displayed with simulated lighting, to produce
|
|
|
|
the impression of depth. The directions and intensities of these
|
|
|
|
lights may be modified according to user preference.
|
|
|
|
|
|
|
|
The lights do not have a position; they have only a direction,
|
|
|
|
as if they were coming from very far away. This direction is
|
|
|
|
specified in 3 components, "right, top, front". The light with
|
|
|
|
direction "1, 0, 0" is coming from the right of the screen.
|
|
|
|
The light with direction "-1, 0, 0" is coming from the left of
|
|
|
|
the screen. The light with direction "0, 0, 1" is coming from
|
|
|
|
in front of the screen.
|
|
|
|
|
|
|
|
The intensity must lie between 0 and 1. A light with intensity
|
|
|
|
0 has no effect, and 1 is full brightness.
|
|
|
|
|
|
|
|
Two lights are available. If only one is desired, then the second
|
|
|
|
may be disabled by setting its intensity to zero. When the part
|
|
|
|
is rotated or translated, the lights do not move.
|
|
|
|
|
|
|
|
<h3>Chord Tolerance</h3>
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
SolveSpace does not represent curved edges or surfaces exactly.
|
2008-07-16 05:45:11 +00:00
|
|
|
Any curves are broken down into piecewise linear segments,
|
|
|
|
and surfaces are represented as triangles.
|
|
|
|
|
|
|
|
This introduces some error. The chord tolerance determines how
|
|
|
|
much error is introduced; it is the maximum distance between
|
|
|
|
the exact curve and the line segments that approximate it. If
|
|
|
|
the chord tolerance is decreased, then more line segments will
|
|
|
|
be generated, to produce a better approximation.
|
|
|
|
|
|
|
|
The chord tolerance is specified in units of screen pixels. This
|
|
|
|
means that when the user zooms in on the model, a better
|
|
|
|
approximation is produced.
|
|
|
|
|
|
|
|
The same tolerance is used for the mesh that's displayed on
|
|
|
|
screen, and for the mesh that is used to export to a file. It
|
|
|
|
may be helpful to use a large chord tolerance (2-5 pixels) while
|
|
|
|
drawing, for fast response, and then temporarily specify a small
|
|
|
|
chord tolerance (~0.5 pixels) before exporting an STL or DXF file.
|
|
|
|
|
|
|
|
<h3>Perspective Factor</h3>
|
|
|
|
|
|
|
|
To display a 3d part on-screen, it must be projected into 2d. One
|
|
|
|
common choice is a parallel projection. In a parallel projection,
|
|
|
|
any two lines that are parallel in real life are also parallel
|
|
|
|
in the drawing. A parallel projection is also known as an
|
|
|
|
axonometric projection. Isometric and orthographic views are
|
|
|
|
examples of parallel projections.
|
|
|
|
|
|
|
|
Another way to transform the image into 2d is with a perspective
|
|
|
|
projection. In a perspective projection, objects closer to the
|
|
|
|
"camera" appear larger than objects that are farther away. This
|
|
|
|
means that some lines that are parallel in real life will not be
|
|
|
|
parallel in the drawing; they will converge at a vanishing point.
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
The image below is a perspective projection. All of the square
|
|
|
|
cutouts are the same size, but the ones at the front (closer to
|
|
|
|
the viewer) are drawn larger, and the ones at the back are drawn
|
|
|
|
smaller.
|
|
|
|
|
|
|
|
<img src="/pics/ref-perspective.png" />
|
|
|
|
|
|
|
|
The next image is a parallel projection. All of the square
|
|
|
|
cutouts are the same size on the drawing. (The cutouts at the
|
|
|
|
top might look slightly larger, but that is an optical illusion,
|
|
|
|
because the eye is accustomed to seeing images with perspective.)
|
|
|
|
|
|
|
|
<img src="/pics/ref-no-perspective.png" />
|
|
|
|
|
2008-07-16 05:45:11 +00:00
|
|
|
A perspective projection will often look more realistic, and
|
|
|
|
gives a better impression of depth. The disadvantage is that
|
|
|
|
the perspective distorts the image, and may cause confusion.
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
By default, SolveSpace displays a parallel projection. To display
|
2008-07-16 05:45:11 +00:00
|
|
|
a perspective projection, set the perspective factor to something
|
|
|
|
other than zero. The distance from the "camera" to the model is
|
|
|
|
equal to one thousand pixels divided by the perspective factor.
|
|
|
|
|
|
|
|
<h3>Edge Color</h3>
|
|
|
|
|
|
|
|
The surfaces of the 3d part are shaded according to the specified
|
|
|
|
lighting. Different faces will catch the light at slightly
|
|
|
|
different angles, and will therefore appear slightly brighter
|
|
|
|
or darker. This permits the viewer to distinguish the boundary
|
|
|
|
between the faces.
|
|
|
|
|
|
|
|
Depending on the lighting, this may not provided very much
|
|
|
|
constrast. To make the edges of the part more visible, it's
|
|
|
|
possible to emphasize them with a solid-color line.
|
|
|
|
|
|
|
|
If the edge color is specified as "0,0,0", then no emphasized
|
|
|
|
edges will be drawn. If any other color is specified, then the
|
|
|
|
edges will be drawn in that color. The edge color is specified
|
|
|
|
in the same format as for the material color.
|
|
|
|
|
|
|
|
<h3>Export Scale Factor</h3>
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
Internally, SolveSpace represents lengths in millimeters. Before
|
2008-07-16 05:45:11 +00:00
|
|
|
exporting geometry to an STL or DXF file, these lengths are
|
|
|
|
divided by the export scale factor. This scale factor determines
|
|
|
|
the units for the exported file.
|
|
|
|
|
|
|
|
If the scale factor is set equal to 1, then exported files are
|
|
|
|
in millimeter units. If the scale factor is set equal to 25.4,
|
|
|
|
then the exported files are in inch units, since 1 inch = 25.4 mm.
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
SolveSpace works in a right-handed coordinate system. If the
|
2008-07-16 05:45:11 +00:00
|
|
|
scale factor is negative, then the exported file will appear in
|
|
|
|
a left-handed coordinate system (so that a right-handed screw
|
|
|
|
thread will become left-handed).
|
|
|
|
|
|
|
|
<h2>Licensing</h2>
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
As downloaded, SolveSpace does not include a license key. This means
|
2008-02-09 13:52:01 +00:00
|
|
|
that it cannot create files with more than six groups. Larger files
|
2008-02-13 16:13:08 +00:00
|
|
|
may be opened, but not modified. This light version of SolveSpace
|
2008-07-16 05:45:11 +00:00
|
|
|
is intended for evaluation, but non-commercial / personal use is
|
|
|
|
also permitted.
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
The licensed version of SolveSpace can create files with an unlimited
|
2008-07-16 05:45:11 +00:00
|
|
|
number of groups.
|
|
|
|
|
2008-02-13 16:13:08 +00:00
|
|
|
When a license is purchased, a license file ("solvespace.key")
|
2008-07-16 05:45:11 +00:00
|
|
|
will be sent via email. To activate the license, save this file
|
2008-02-13 16:13:08 +00:00
|
|
|
somewhere on your computer. In SolveSpace, choose Help -> Load
|
2008-07-16 05:45:11 +00:00
|
|
|
License... A file dialog box will appear; select the license file.
|
|
|
|
|
|
|
|
No license server or dongle is required, and licenses do not expire.
|
|
|
|
|
|
|
|
|
2008-02-07 17:44:27 +00:00
|
|
|
|
2008-02-24 10:36:32 +00:00
|
|
|
This is the introductory tutorial. We review the basic user interface,
|
|
|
|
and draw a simple 2d part. This covers rectangles, symmetry constraints,
|
|
|
|
distance/length constraints, and equal length constraints.
|
|
|
|
|
|
|
|
We draw a slightly more complex part, by combining multiple extrusions.
|
|
|
|
This introduces workplanes and Boolean ops, and several new constraints.
|
|
|
|
|
|
|
|
We look at constraints in more detail. This covers inconsistent
|
|
|
|
and nonconverging sketches (two common error conditions), projected
|
|
|
|
constraints in 3d, reference dimensions, and construction geometry.
|
|
|
|
|
|
|
|
We look at step and repeat; this takes entities, and copies them multiple
|
|
|
|
times along a line (translating) or the arc of a circle (rotating). The
|
|
|
|
details of the step are specified using constraints.
|
|
|
|
|
|
|
|
We build an assembly from multiple parts. The positions and orientations
|
|
|
|
of the parts are enforced using constraints. We run a computed
|
|
|
|
intersection check, to verify that the parts don't interfere.
|
|
|
|
|
|
|
|
We draw linkages and other mechanisms, and simulate their operation using
|
|
|
|
the constraint solver. The trajectory of certain points on the linkage
|
|
|
|
is traced and exported. We also attach a linkage to a solid model,
|
|
|
|
and animate the solid model by dragging the linkage.
|
2008-02-07 17:44:27 +00:00
|
|
|
|
|
|
|
|