User handbook
DXNest Motion:
the mechanism constructor
From the first crank to finished graphs and export files. Every panel, every button, every field — with real screenshots and step-by-step build sequences.
What this program is
DXNest Motion is a planar mechanism constructor that runs in a browser. You draw the kinematic scheme with the mouse, the program solves it over a full crank revolution, and gives you trajectories, velocities, accelerations, graphs and drawings.
The work is always the same four actions, repeated in a loop:
- Draw it. Pick a tool in the left palette and click on the sheet. Each tool adds a complete structural group — a crank, a dyad, a slider group, a gear train.
- Set the sizes. Type exact lengths, coordinates and angles in the right-hand panel, or double-click the dimension right on the drawing.
- Let it solve. The calculation starts by itself after every change. The status bar reports the residual of the solution, for example
Residual 9.98e-8 mm. - Read the result. The animation, the Analysis tab, the Graphs window, or an export to DXF, Excel, CSV or an image.
A mechanism is defined by its dimensions, not by its coordinates. You place a point roughly with the mouse, then type the exact number — and the program rebuilds the scheme so that the number holds, without breaking the dimensions you have already fixed.
Signing in
DXNest Motion opens in an ordinary browser at the address you were given. Work starts at the sign-in screen.
- Username
- Your user name — not your display name. The line under the form says so too.
- Password
- Your password.
- Sign in
- Signs you in. Enter in either field does the same.
- Open the demo
- Demonstration mode: the whole program works, but files are turned off and the charts carry a watermark. See section 19.
The error message is the same for a wrong name and a wrong password — that is deliberate. After five failed attempts, sign-in from your address is blocked for 15 minutes: wait and try again.
Accounts are created by your organisation's administrator. If you do not have one yet, or you have forgotten your password, ask them.
After that the program asks you to sign in again, and an unsaved mechanism is lost. Save your work to a file or to server projects (sections 16 and 18).
The workspace
The window is divided into six fixed zones. They do not move and cannot be hidden — everything the program does happens in one of them.
| Zone | Where | What it is for |
|---|---|---|
| Main toolbar | top | Files, export, graphs, recalculation, dimension tools, theme, account. |
| Document tabs | under the toolbar | Several mechanisms open at once, each with its own solved cycle. |
| Tool palette | left | 15 construction tools in two families: ordinary structural groups, and gear and special assemblies. |
| Drawing sheet | centre | The scheme, trajectories, vectors, dimensions. Zoom and pan live here too. |
| Right-hand panel | right | Four tabs: Objects, Variables, Dimensions, Analysis. |
| Status bar | bottom | Solver messages and tool prompts, display switches, units. |
Main toolbar
On the left, the document and its exports; after the separator, three tools that work on the whole drawing; on the right, the theme and your account.
4.1Document and export
.json file from disk. If the current tab already has something drawn in it, the file opens in a new tab; an empty document is replaced in place. Turned off in the demo.LINKS, pairs as circles on POINTS, labels on LABELS.4.2Tools after the separator
4.3The right-hand end
Mechanism tabs
One document, one tab. Each holds its own mechanism, its own solved cycle, its own animation frame and its own selection.
- Click the name
- Switches the active document.
- Double-click
- Renames the mechanism in the tab itself: the name turns into an input field with the text selected. Enter confirms, Esc cancels, clicking away also saves. An empty name is refused and the old one stays.
- The ×
- Closes the document. The last tab cannot be closed — it is replaced by an empty document.
- The + on the right
- The same as New mechanism on the toolbar.
- The dot before the name
- Green — the mechanism is solved; grey — there is no solution yet.
The Graphs window addresses every open document at once. Keep two variants of the same mechanism in neighbouring tabs and plot their curves over each other to compare them.
Tool palette
Fifteen tools in two families, separated by a rule. The upper family holds the ordinary structural groups of linkages. The lower one holds gear transmissions and special assemblies.
The chosen tool is outlined. Hovering over a button shows its name. While a tool is armed, the status bar says which click it is waiting for.
Esc or Enter cancels a construction in progress. Pressing it again returns to Select.
A mechanism grows outward from its drive. Start with Input crank — it establishes the fixed support, the driving link and the rotation. After that every tool attaches to a kinematic pair that already exists.
6.1Family 1 — linkage groups
6.2Family 2 — gears and special assemblies
Drawing sheet
The vector sheet the scheme lives on. Everything drawn there can be selected, dragged, or edited by double-clicking.
7.1What is drawn on the sheet
O1 and P4 with their ground symbols, moving pairs A1 and P3, the links, the orange trajectory of P3, green velocity vectors, the red arc of the crank's direction, the dimensions 57.76 / 167.41 / 101.38 and the support coordinates in brackets.| Symbol | What it means |
|---|---|
| Circle with a label | A kinematic pair. The selected one is larger and highlighted. |
| Circle with hatching below | A fixed support. Its coordinates (x; y) are printed underneath. |
| Thick grey line | A link. The selected link turns orange. |
| Rectangle on a line | A block on its guide. The dashed line is the guide; the two dots on it are the travel limits. |
| Orange curve | The trajectory of a moving pair over the full cycle. |
| Green arrow | The velocity vector of a pair. |
| Red / pink arrow | The acceleration vector (switched on in the status bar). |
| Red arc near a support | The direction of rotation of the driving crank. |
| Thin circle around a support | The circle the crank pin travels on. |
| A number with witness lines | A dimension. Boxed means it is fixed (driving). Prefixed with ƒ means it is bound to a formula. |
7.2Moving around the sheet
| Action | Result |
|---|---|
| Mouse wheel | Pans the sheet. |
| Ctrl / ⌘ / Alt + wheel | Zooms under the cursor. Between ×0.25 and ×6. |
| Middle-button drag | Pans. |
| Zoom in / Zoom out | Steps of ×1.18 about the centre of the sheet. |
| Reset view | Returns the zoom and the position to their defaults. |
7.3Mouse actions on the drawing
- Click a link or a dimension
- Selects the corresponding object — it is highlighted both in the list on the right and on the drawing.
- Drag a support
- A fixed support can be dragged on the drawing itself. When you let go, the new coordinates pass through the solver: if they contradict a fixed dimension, the support returns to where it was.
- Drag a segment centre
- The centre of a pressing segment is dragged the same way; where you drop it sets both of its radii and which way it leans.
- Drag a dimension
- Any dimension can be pulled to a clearer place. It remembers that offset.
- Double-click a dimension
- Opens the box for typing an exact value (section 13.3).
- Double-click a support
- The
X/Ycoordinate box for that support. - The guide rotate handle
- Lets you turn the axis of a slider guide with the mouse; the travel is recomputed over the whole cycle.
The tool name in that readout is the complete list of states the program can be in:
| Readout | Tool | Readout | Tool |
|---|---|---|---|
Select | Selection | Gear Train | Gear train |
Input Crank | Input crank | Gear Sector | Gear sector |
Dyad | Dyad | Internal Gear | Internal gear |
Slotted Link Mechanism | Slotted lever | Moving Wheel / Fixed Rack | Wheel on a rack |
Slider Group | Slider group | Moving Rack / Fixed Wheel | Rack on a wheel |
Two-link Slider Group | Two-link slider | Eccentric Drive | Eccentric |
Relative Link | Relative link | Pressing Segment | Pressing segment |
Point on Link or Gear | Tracer point | Roller on Wheel | Roller contact |
Linear Dimension | Linear dimension | Angular Dimension | Angular dimension |
7.4Snapping and alignment
While you move the cursor during a construction, the program pulls the point to a “round” position by itself. There is nothing to configure — it always works.
O1 — a dashed guide appeared and the preview's X became exactly zero: (0; 103.42).| What snaps | To what | Catch radius |
|---|---|---|
| The point you are placing | Onto the same vertical or horizontal as any fixed support or slider travel end. Shown with a dashed guide. | 9 screen pixels |
| A dimension-tool point | Onto a kinematic pair, a support, a slider travel end, and also the centre and both ends of a rack or of a segment's flat form. The point under the cursor gets a ring around it. | 14 pixels |
| The guide angle when anchored | To multiples of 15°, when on the second step of Slider group you clicked an existing point. | always |
| The guide rotate handle | To multiples of 90° when you turn a slider axis with the mouse. | 7° |
The catch radius is in pixels, not millimetres. So the more you zoom in, the more precise snapping becomes: zoom in when you need a point placed exactly, zoom out when snapping gets in the way.
7.5Prompts on the sheet
While a tool is armed, the top-left corner of the sheet says in yellow which click is expected. The prompt changes at every step. The complete list:
| Tool | Step | Prompt on the sheet |
|---|---|---|
| Input crank | 1 | Click empty space to place the fixed pair of the input crank |
| 2 | Click to place the moving pair of the input crank | |
| Dyad | 1 | Click a kinematic pair to attach a dyad |
| 2 | Click to place the intermediate pair | |
| 3 | Click to place the fixed support of the dyad | |
| Slider group | 1 | Click a kinematic pair to attach a slider group |
| 2 | Click to place the slider and set its guide angle, or click a point to anchor the guide on it | |
| 3 (when anchored) | Click to place the block; the guide runs through the chosen point at a round angle | |
| Two-link slider group | 1 | Click a kinematic pair to attach a two-link slider group |
| 2 | Click to place the intermediate pair | |
| 3 | Click to place the slider and set its guide angle | |
| Slotted Link Mechanism | 1 | Click a moving kinematic pair to attach a Slotted Link Mechanism |
| 2 | Click to place the fixed pivot of the slotted lever | |
| Relative link | 1 | Click a kinematic pair to attach a relative link |
| 2 | Click to place the end pair of the relative link | |
| Point on link or gear | 1 | Click a link to add a point on it, or a gear wheel to add an arm |
| Gear train | 1 | Click the axle the gear train starts from |
| 2 | Click the second axle: the distance is split into two equal wheels | |
| 3+ | Click the next axle: the distance to it sizes the wheel | |
| Gear sector | 1 | Click a pair for a gear sector |
| 2 | Click to place the mating toothed element | |
| Internal gear | 1 | Click a pair for internal gear engagement |
| 2 | Click to set the ring radius: the distance from the axle is the pitch radius | |
| 3 | Click inside the ring to place the pinion: what is left of the ring radius is its own | |
| Moving wheel / fixed rack | 1 | Click a slider pair for a moving wheel and fixed rack |
| 2 | Click to place the mating toothed element | |
| Moving rack / fixed wheel | 1 | Click a slider pair for a moving rack and fixed wheel |
| 2 | Click to place the mating toothed element | |
| Eccentric drive | 1 | Click a shaft point, or empty space, to place the eccentric disc |
| 2 | Click to place the eccentric pin and set the eccentricity | |
| Roller on wheel | 1 | Click the pair that carries the roller |
| 2 | Click the pair the wheel of the roller contact sits on | |
| Pressing segment | 1 | Click the carriage pair that carries the pressing roller |
| 2 | Click the flat form the segment rolls over | |
| Linear dimension | 1 | Click the first point: a pair, a support, or a slider travel end |
| 2 | Click the second point of the dimension | |
| 3 | Move to choose aligned / horizontal / vertical and click to place the dimension line | |
| Angular dimension | 1 | Click the vertex point of the angle |
| 2 | Click a point on the first ray | |
| 3 | Click a point on the second ray | |
| 4 | Click to set the arc radius |
Every prompt ends with (Esc or Enter — cancel), and the gear train with (Esc or Enter — finish the train).
Status bar
The most important line in the program: tool prompts, solver messages and error texts all appear here. On the right are the display switches and the units.
8.1The left side — messages
| Text | What it means |
|---|---|
Blank workspace | The document is empty; nothing has been drawn yet. |
Solving… | The cycle is being solved. |
Adjusting dimensions… | The geometry is being fitted to the dimension you just typed. |
Residual 9.98e-8 mm | Success. The number is the largest closure residual over the whole cycle. Anything around 10⁻⁷ mm or smaller is normal. |
No valid solution yet | The scheme does not close — links are missing or the dimensions are incompatible. |
| A tool prompt | While a tool is armed, this says which click is expected. |
| Red text | An error. Section 22 lists the common ones. |
8.2Display switches
- Grid
- A coordinate grid on the sheet. Off by default.
- Dimensions
- Dimensions and support coordinates. Switch them off when the scheme gets crowded — it changes nothing in the calculation.
- Velocity
- Green velocity vectors at the pairs. On by default.
- Acceleration
- Acceleration vectors. Off by default, because their scale is usually much larger.
- Units
mmorinch. This changes only display and input; the file always stores millimetres.
8.3Confirmation messages
Besides errors, the status bar confirms what has just happened. These are all of them:
| Message | When it appears |
|---|---|
| Opened "…json" | A mechanism file has been opened. |
| Saved "…json" | Saved through the system “Save as” dialog. |
| Downloaded "…json". Your browser controls the download folder | The browser cannot offer a folder chooser, so the file went to downloads. |
| The current mechanism position is now the initial position (φ = 0°) | Set current position as initial was pressed. |
| N wheels in this train. Click the next axle to carry it on… | Another wheel was added to the gear train. |
| The train was started on the fixed support of the selected crank | You clicked the moving pair of a crank, so the train began at its fixed support. |
| The gear axis was placed on the fixed support of the selected crank | The same for a single gear transmission. |
| Gear pair added. Use the highlighted output pair to attach the next object | A gear transmission was added; the highlighted pair is its output. |
| The carrier turns through almost a full revolution, so a full gear wheel was inserted automatically | A whole wheel replaced the sector. |
| A wheel was placed on the moving pair and a sector on the carrier support | A sector was built on a rocking carrier. |
| Internal pair added: ring … / pinion … | An internal mesh was created; the text gives the radii and tooth counts. |
| Rolling gear and fixed rack added… | A wheel with a fixed rack was added. |
| Moving rack and fixed-axis wheel added… | A moving rack with a fixed wheel was added. |
| Eccentric drive added. Use the pin to attach the next group | An eccentric drive was added. |
| Roller contact added. Its rim clearance is in the Analysis tab… | A roller contact was added. |
| Pressing segment added. It rolls over the form without slipping… | A pressing segment was added. |
| An arm was added on the wheel… | An arm with an output pair was placed on a wheel. |
| This wheel already carries an arm… | A second attempt to put an arm on the same wheel. |
Right-hand panel
Four tabs. Objects — the mechanism tree and the parameters of whatever is selected. Variables — the equations table. Dimensions — the dimensions you added. Analysis — numbers and small charts.
9.1Object list
The tree shows the mechanism as it was built: the document at the root, structural groups below it, and inside each one its pairs, links, drives, sliders and wheels. Clicking a row selects the object both on the drawing and in the parameters panel.
- The chevron beside a group
- Collapses and expands the branch. Selecting a child from the drawing opens its group by itself.
- Hollow circle
- A kinematic pair.
- Chain link
- A link.
- Circular arrow
- A rotation drive.
- Sliders icon
- A slider group.
- Gear icon
- A toothed element or a rack.
What the panels say when they are empty
| Text | Where | What it means |
|---|---|---|
| No objects | Object list | The document is empty. Take Input crank. |
| Select an object or choose a tool | Parameters panel | Nothing is selected. Click a row in the list or an object on the drawing. |
| No variables yet. Add one and use it in any dimension, e.g. =A*cos(B) | Variables tab | No variables yet. The + button at the top right adds a row. |
| Add dimensions with the dimension tools on the left toolbar | Dimensions tab | No added dimensions yet. Use the dimension tools on the main toolbar. |
| Run an analysis first: add an input crank and valid dimensions | Graphs window | There is no solution, so there is nothing to plot. |
| No server projects yet | Private projects window | Nothing has been saved to the server yet. |
9.2Animation strip
- ▶ / ❚❚
- Plays and pauses the animation. The mechanism runs through the frames of the solved cycle.
- ↻ Reset
- Returns to frame 0.
- Position
- Every position of the cycle in degrees of crank angle. Pick one to stop at exactly the angle you need.
- Speed
- Playback speed: ×0.1, ×0.25, ×0.5, ×1, ×2, ×4. It does not affect the rotational speed used in the calculation — only what you see on screen.
- Set current position as initial
- Makes the current pose the initial one: the current angle is written into every drive, so the frame you stopped at becomes φ = 0°. Useful when the mechanism assembled in a pose other than the one you want to measure from. The status bar then confirms: “The current mechanism position is now the initial position (φ = 0°)”. The button is disabled until the mechanism has been solved.
360 by default — one per degree of crank revolution. But if the mechanism has a gear train whose ratio is not a whole number, the picture only repeats after several crank revolutions. The cycle then spans all of them, and the budget of positions is divided between them:
- no more than 4320 positions in the whole cycle;
- but never coarser than 60 positions per revolution, so the animation does not visibly step;
- at most 72 crank revolutions per cycle — a longer repeat is not attempted.
So in a complicated gear mechanism the Position list can be longer than 360 rows, while the φ axis on the graphs still shows 0…360° of one revolution.
9.3How the parameter fields work
There are three kinds of field, and they behave differently. Learn them once and every form afterwards reads the same way.
Text field
The simplest: Name and the like. The value takes effect as you type.
Drop-down list
A choice from a fixed set: Start pair, Rotation source, Symbol. The change takes effect at once and triggers a fresh solve.
Dimension field
The important one. This field does not merely store a number — it asks the solver to achieve that number.
- The padlock beside the caption
- Switches the dimension between floating (open padlock) and driving (closed). The solver may not change a driving dimension and fits everything else to it; on the drawing it is boxed. The button's own tooltip says it plainly: “Fixed dimension — click to make floating”.
- The ▲ ▼ arrows
- Nudge the value by one step. The step follows the units: 1 mm, 0.01 inch or 1°. The button tooltip shows the exact step.
- ↑ / ↓ in the field
- The same as the arrows, from the keyboard. If you have already typed something, the step is taken from what you typed.
- Enter
- Applies what you typed.
- Esc
- Restores the previous value without applying anything.
- A leading
= - Binds the field to a formula. The field then shows the expression itself (
=R*2.9) and the stepper arrows disappear — the formula owns the value now, and stepping it would silently break the binding. - Red outline
- What you typed does not read as a number or an expression, or it is below the allowed minimum (a link length cannot be 0, for instance).
- Red text under the field
- The number was read, but the mechanism will not assemble at that value. A Calculate feasible range button appears alongside it to work out the interval where the value is possible.
Double-clicking a dimension on the scheme opens a small box with the same abilities (section 13.3). Both routes lead to the same solver — use whichever is closer.
9.4Parameters by object type
The form depends on what is selected. Common to all of them: a Name field at the top and a red Delete selected button at the bottom (except for the document root).
Document — Mechanism
The only field is the mechanism name. It also becomes the tab title, the default file name when you save, and the caption in the Excel workbook.
Kinematic pair — Point
- X, Y
- Coordinates. For a fixed support this is a real dimension with a padlock. For a moving pair it is only the solver's starting guess — its true position comes from the solution.
- Fixed support
- Switches the pair between moving and fixed. Clearing it on a support releases a degree of freedom, and the mechanism may stop closing.
A point on a link has no coordinates of its own. One distance along the link defines it:
- Measured from
- Which end of the link to measure from.
- Distance from…
- The distance. A value greater than the link's length puts the point on its extension — which is exactly how a rigid overhang is drawn.
Link — Link
- Start pair / End pair
- The pairs the link joins. Changing them re-hangs the link on other points.
- Length, mm
- The link length — the main dimension of a mechanism. With the padlock closed it becomes driving.
- Relative to
- The link this one's angle is measured from. None — the angle is free and only the length holds the link.
- Angle to parent
- Appears as soon as a parent link is chosen: the angle between this link and its parent. Together with the length it pins the position completely — this is how rigid overhangs and rockers are defined.
If the link is an arm on a wheel (from the wheel axle to an output pair), the form changes: Length is the radius the pair is held at, and Angle to …, ° is where the arm stands on the wheel. The arm turns with the wheel and keeps that spot; turning the field moves the arm alone, leaving the teeth meshed.
Drive — Driver
- Base pair / Moving pair
- The fixed axle and the pin that turns about it.
- Length
- The crank radius. It is edited as the length of the paired link, so the two values cannot drift apart. If the drive belongs to an eccentric disc, the field is called Eccentricity λe and edits the disc's eccentricity — again, the two cannot drift apart.
- RPM
- Rotational speed in revolutions per minute. It scales the velocities and accelerations in every result.
- Initial angle, °
- The angle from the horizontal to the crank at position 0°.
- Rotation direction
- Counter-clockwise (+) or Clockwise (−).
- Show rotation direction arrow
- Whether to draw the red direction arc beside the support.
Slider group — Slider
- Sliding pair
- The pair that slides in the guide.
- Guide origin
- Free coordinates — the guide stands at its own coordinates. Choose a pair instead and the guide passes exactly through it and travels with it.
- Origin X / Origin Y
- The point the guide axis runs through (when it is not anchored).
- Axis angle
- The angle of the guide axis to the horizontal.
- Stroke (travel)
- The block's travel over the cycle. This is a dimension too: fix it and the program fits the rest of the geometry to the stroke you asked for.
- End 1 / End 2
- The coordinates of the two travel limits. Each can be fixed separately — a convenient way to specify a press “from” and “to”.
- Symbol
- How to draw it: Block slider or Roller between guides. This affects the symbol only — the kinematics are identical.
Rack — Rack
- Carrier pair
- The pair that carries the rack. For a moving rack this is the slider pair; a fixed rack is bolted to the frame and has no such field.
- Length
- The rack's length. Drawing only — the mesh is computed along the line, not along the segment you see.
- Tooth pitch
- The tooth pitch. It must match the mating wheel, or the teeth will visibly disagree on the drawing.
- Centre X / Centre Y
- The coordinates of the rack's midpoint. These are full dimensions with padlocks — a rack is positioned exactly like a slider guide.
- Axis angle
- The rack's angle to the horizontal.
- The note line
- Reminds you that the centre and both ends of a rack can be picked by the dimension tools, so its position can be driven by a dimension.
Structural group — Group
- Name / Type
- A free caption and the group's kind. Both are just text for the tree and the exports.
- Attached pair
- The pair the group hangs on. Changing it moves the whole group to another place in the mechanism.
- Points / Links
- How many pairs and links the group contains.
- Slider guide
- If the group contains a block, the whole set of its guide fields is repeated here — no need to hunt for the slider in the tree.
9.5Deleting objects
Delete selected removes whatever is selected. But a mechanism is not a list: everything in it holds on to everything else, so deleting always takes with it whatever no longer makes sense. The rules are:
| What you delete | What actually goes |
|---|---|
| A group | All of its pairs, links, drives, sliders, slotted levers, wheels, racks, segments, eccentrics and rollers. Plus anything that relied on its pairs. Plus any added dimensions that referred to the deleted points. |
| A wheel, rack, segment, eccentric or roller | The whole group it belongs to. These objects do not exist on their own — they are their group, so deleting one deletes it entirely. |
| A kinematic pair | The links that rested on it, and the drives, sliders, slotted levers, segments and rollers that used it. A wheel whose axle it was also goes — without a centre there is no wheel. |
| A wheel's output pair (the pin) | Only that pair and its arm. The wheel survives, and so does the train meshed with it — the pin is one attachment on the wheel's body, not the wheel itself. |
| A link | Only the link. The pairs at its ends stay. |
| An added dimension | The dimension together with its fixed state and its formula binding. |
The program has no undo button. Before a large rework, save the mechanism to a file or to server projects — that is your point of return.
Building a mechanism
A mechanism grows from its drive. Every tool attaches to a kinematic pair that already exists and adds a complete structural group — links, pairs and labels included.
Clicking a tool arms it. The status bar says which click is expected. Esc or Enter aborts the construction; pressing it again returns to Select. While you move the cursor, a translucent preview of what will be added is drawn on the sheet.
10.1Input crank — the drive
The first tool in any mechanism. It adds three things at once: the fixed support O1, the moving pair A1, and a rotation drive.
- Click Input crank in the palette. The status bar says: “Place the moving pair to set the crank length and direction”.
- The first click places the fixed support.
- The second click places the crank pin. The distance between the clicks becomes the crank length, the direction becomes its initial angle.
The support of the first crank always becomes the point (0; 0), wherever you clicked, and the angle you drew becomes the current animation position rather than the initial angle. The second and later drives stay exactly where they were placed and record the offset that keeps them there.
Limit: the pin must be at least 10 mm from the support, or the status bar says “Place the crank pair at least 10 mm from its support”.
10.2Dyad
Two links and an intermediate pair, closed onto a new fixed support. With a crank this makes the classic four-bar linkage.
- Arm Dyad and click an existing kinematic pair to attach the group to (usually
A1). - The second click is where the intermediate pair goes — at least 20 mm from the attachment pair.
- The third click is where the new fixed support goes.
If the intermediate pair and support you chose do not let the mechanism assemble through the crank's full revolution, the group is not added. Move one of the two points: usually you need a shorter crank or a longer coupler.
10.3Slider group
A connecting rod and a block on a straight guide. This already makes a slider-crank mechanism.
- Arm Slider group and click the pair the rod attaches to.
- The second click places the block. The direction from the pair to the click sets the guide angle.
Anchoring the guide to an existing point
The guide can be seated exactly on an existing pair or support. Then there are three clicks:
- The pair the rod attaches to.
- Click an existing pair or support — the guide origin lands exactly on it, and the axis snaps to multiples of 15° as the cursor moves.
- The third click only picks the block's position along that line.
10.4Two-link slider group
The same thing but with an intermediate pair: first a short link from the parent pair, and only then the rod with its block.
- Click a pair that belongs to an existing link — this tool cannot attach to a pair that is joined to nothing.
- The second click places the intermediate pair (at least 15 mm away).
- The third click places the block and its guide angle.
The block has to be far enough for the rod to reach it in every position of the cycle. The program works out the minimum and prints it in the message — just click further out.
10.5Slotted Link Mechanism
The crank pin slides in the slot of a lever that rocks (or turns) about its own fixed support.
- Arm Slotted Link Mechanism and click the moving pair that will become the sliding block.
- The second click places the lever's fixed pivot.
A slotted link has no parameters form of its own — it is made of ordinary objects. The lever is a link and is edited as one; the block is an ordinary pair; the pivot is a fixed point. The whole group appears as one row in the tree.
10.6Relative link
A single rigid link from an existing pair to a new point. Used for overhangs, rockers and any rigid extension.
- Arm Relative link and click the starting pair.
- The second click places the far end of the link.
10.7Point on link or gear
The simplest and the most useful tool: it places a point rigidly tied to a link or a wheel, so you can read its trajectory, velocity and acceleration.
- Arm Point on link or gear.
- Click the link itself (not a pair), or the body of a gear wheel.
P5 in the middle of the coupler traces its own coupler curve.A point on a link adds no equations and removes no degrees of freedom. Place as many as you like, anywhere along the link — even beyond its end, on the extension: that is exactly how a rigid overhang is drawn.
The same tool on a wheel makes an arm
Click the body of a gear wheel instead of a link and the program adds not just a point but an arm: a link from the wheel axle to a new pair. That pair turns with the wheel and carries the next group — this is how motion is taken off a gear transmission.
P4 at radius 21.37 turns with the wheel. The arm's radius and angle are edited in its parameters.A second click on the same wheel will not add a second arm: the program highlights the existing pair and says “This wheel already carries an arm. Attach the object to the highlighted pair.” To move the arm, change its length and angle in the parameters rather than adding a new one.
Gear transmissions
Four meshing tools and one shared field that decides everything: Rotation source — where a wheel gets its rotation from.
11.1Gear train
One tool builds a train of any number of wheels, and the whole train stays one object in the list. Wheels are not defined by radii — they are defined by centre distances, that is, by where you click.
- Arm Gear train and click the axle the train starts from: a fixed support, or a pair moving on an arc about a fixed support.
- Click where the second axle goes. The distance is split into the two initial pitch radii.
- Every further click adds one more wheel: the distance to it minus the previous wheel's radius gives the new radius.
- Enter or Esc finishes the train.
Clicking an axle that already carries a wheel continues the train from it. So a drive wheel that feeds two directions is simply two runs of the tool, and there is never a duplicate wheel to delete afterwards.
Limits: a wheel can only go on a fixed axle. Clicking a moving pair gives “That pair moves, so no wheel can be mounted on it”. Clicking an axle that already carries a wheel from another train asks you to change its Rotation source instead.
11.2Gear sector transmission
A transmission between a moving pair and the support it swings about: a sector on the support, a wheel on the moving pair, and an output pair on the wheel that carries the next group.
- Arm Gear sector transmission and click a pair that moves on an arc — the rocker of a four-bar, for instance.
- The second click sets the direction the mating element takes.
P5 on it.A sector only suits a rocking motion. If the carrier turns fully, the program inserts a complete wheel instead and says so in the status bar: “The carrier turns through almost a full revolution, so a full gear wheel was inserted automatically”.
11.3Internal gear transmission
A ring with internal teeth and a pinion inside it. This is the one transmission whose size does not follow from the distance between two axles, so it is drawn the way it is dimensioned: the rim first, then the pinion within it.
- Arm Internal gear transmission and click the ring's axle.
- The second click sets the ring radius. The status bar tells you the minimum that still leaves room for a pinion.
- The third click places the pinion axle inside the rim: whatever is left of the ring radius becomes the pinion's own.
11.4Rack transmissions
Both rack tools attach only to a slider pair — build a slider group first.
Moving wheel / fixed rack
- Arm Moving wheel / fixed rack and click the slider pair.
- The second click chooses which side of the wheel receives the fixed rack.
P4 turns with it.Moving rack / fixed wheel
- Arm Moving rack / fixed wheel and click the slider pair — the rack goes on it.
- The second click sets where the fixed wheel's support stands beside the rack.
11.5Parameters of a toothed element
- Toothed element
- Gear wheel, Pinion, Gear sector or Internal ring gear. It changes only how the element is drawn and which fields are offered.
- Centre pair
- The pair the wheel's axle sits on.
- Output pair
- The pair on the wheel that carries the next group, if there is one.
- Rotation source
- The key field — see the table below.
- Engagement
- For a mesh with another wheel: External engagement — the wheels turn opposite ways; Internal engagement — both turn the same way.
- Pitch radius / Teeth
- The pitch radius and the tooth count. The radius is a full dimension with a padlock.
- Sector start / span, °
- For a sector: where the toothed arc begins and how wide it is.
- Eccentricity / Eccentricity angle
- Offset of the wheel's geometric centre from its axle — for non-circular and eccentric wheels.
- Phase, °
- The wheel's initial rotation angle.
- Arm angle to…
- Replaces Phase when there is an output pair: the angle the arm stands at on the wheel. Turning it moves the arm on the wheel, not the wheel — so the teeth stay meshed.
- Output pair radius
- Appears with an output pair: the radius the pair is held at. If an arm link carries the pair, this field edits that link's length and is named after it.
- Gear ratio (automatic)
- For a mesh: the ratio computed from the pitch radii. Read-only.
- Rotation multiplier
- For a drive from a link: how many times faster the wheel turns than the link. A negative value reverses it.
- Direction
- For a fixed wheel: the sign of rotation,
1or−1.
Below the fields are note lines that explain the wheel's current state: how it is driven and what ratio applies, plus two important warnings that appear when they matter:
- The axle is held by the mesh. If the wheel sits on an axle that only the mesh holds apart, changing either pitch radius carries the axle to the new centre distance, and dragging the axle swings it round the mating wheel instead of away from it.
- The arm angle. Explains where Arm angle is measured from, and that turning it moves the arm on the wheel rather than the wheel. Fix it to keep that angle while other dimensions are driven.
Rotation source — what turns the wheel
| Value | What it means |
|---|---|
| Fixed angle (no rotation) | The wheel does not turn — it just sits on the drawing. |
| Link: … | The wheel is keyed to a link and turns with it. This is how a driving wheel is chosen. |
| Meshed gear: … | The wheel meshes with another. The ratio comes from the pitch radii automatically. |
| Roll along rack: … | The wheel rolls along a fixed rack. |
| Driven by rack: … | A moving rack turns this wheel. |
When the source changes, the wheel's current angle is preserved, so the picture does not jump. Press Play to see the result.
Eccentric, roller contact, pressing segment
Three special assemblies, each with its own physics: a disc with a pin, a clearance gauge between two rims, and a cylindrical sector that rolls over a flat form.
12.1Eccentric drive
A disc on a shaft with a pin on the eccentricity radius. The pin is an ordinary moving pair, and it is what carries the next group.
- Arm Eccentric drive.
- The first click is the shaft. Clicking an existing pair mounts the disc on that shaft and takes its rotation from whatever already turns it. Clicking empty space creates a new support with its own drive.
- The second click places the pin: the distance is the eccentricity, the direction is the disc's initial angle.
O1, the disc, pin E1 and the eccentricity dimension.- Shaft pair
- The shaft the disc sits on.
- Pin pair
- The pin on the eccentricity radius — an ordinary moving pair that carries the next group.
- Rotation source
- Where the disc takes its rotation: its own drive, the link it is mounted on, or a wheel on the same shaft.
- Eccentricity λe
- The radius the pin sits at. A full dimension with a padlock.
- Initial angle
- The disc's angle at φ = 0°.
- Disc radius (drawing)
- The disc radius for drawing only. It has no effect on the kinematics — reduce it if the disc hides the scheme.
- RPM
- Appears when the disc has its own drive: the shaft speed in rev/min.
- Rotation direction
- Also for its own drive only: counter-clockwise or clockwise.
The pin stays exactly where the drawing has it: the program rewrites the initial angle so the picture does not change. If you hand the disc over to a wheel or a link, the drive it was placed with is removed — the shaft is turned by something else now.
12.2Roller on wheel
Measures the clearance between a roller rim and a wheel rim through the whole cycle. The radii are fitted so that the rims touch exactly at the closest approach.
- Arm Roller on wheel and click the pair that carries the roller.
- The second click is the pair the wheel is mounted on.
- Roller pair
- The moving pair that carries the roller.
- Wheel pair
- The pair the wheel sits on.
- Roller radius r
- The roller's radius.
- Wheel radius R
- The wheel's radius.
- Engagement
- Roller outside the wheel (R + r) — the roller runs on the outside of the rim, so the centre distance is the sum of the radii. Roller inside the wheel (R − r) — the roller runs inside the rim and the distance is the difference.
- Contact
- Measured — reports the clearance only — the pair constrains nothing and cannot redefine the mechanism. Rigid — holds the rims in contact — it holds the centre distance like a link and costs one degree of freedom.
- The note lines
- The contact centre distance, the clearance in the current position, and the closest approach over the whole cycle. A rigid contact adds a reminder that it costs one equation.
The clearance series is in the Analysis tab (the Roller sub-tab), in the Graphs window, and in the XLSX export.
12.3Pressing segment
The working member of a flat-cylinder die-cutting press: a cylindrical sector rolls over the flat form without slipping while the carriage roller, seated in its concave guide, drives it along.
- First build the drive that moves the carriage — usually a crank with a slider group.
- Arm Pressing segment and click the carriage pair that carries the pressing roller. It must be a moving pair, not a support.
- The second click is on the flat form the segment has to roll over.
segment-press-drive.json: crank r = 40 mm, rod l = 120 mm, segment R = 250 mm.Why the segment adds no degree of freedom
Two contacts define its pose completely:
- Centre pair
- The pair that is the segment's centre. Its position is not given by coordinates — it is given by the two radii below.
- Carriage pair (pressing roller)
- The moving carriage pair that carries the pressing roller.
- Centre X / Centre Y
- The coordinates of the segment centre. Not ordinary coordinates: across the form the number goes into the working radius R, along the form into the guide radius R₁. Both follow the point you ask for.
- Working radius R
- The working radius — the radius it rolls on.
- Arc span, °
- The angular length of the segment's arc.
- Roller guide radius R₁
- The radius of the concave guide the roller sits in.
- Roller radius r₁
- The carriage roller's radius.
- Shell thickness
- Wall thickness — drawing only.
- Body start angle, °
- Where the drawn body of the segment begins.
- Form length
- The length of the flat form.
- Form angle
- The form's inclination to the horizontal.
- Form centre X / Y
- The coordinates of the form's midpoint. Positioned exactly like a slider guide, and can be driving dimensions in the same way.
- Segment side of the form
- Three values: None — free rolling, Left of the form axis (above a level form), and Right of the form axis (below a level form).
- Anti-slip rack
- Drawn along the form or Hidden. Drawing only.
- The note lines
- A reminder of
γ = S / R, the roller offsetR₁ − r₁, the segment heighth = R(1 − cos(span/2))in millimetres and as a fraction of R, and the swing over the current carriage stroke.
The contact normal would then be perpendicular to the form, and the carriage could not drive the segment at all. The tool seats the roller off the bottom of the guide automatically.
The segment centre can be dragged with the mouse or typed into the coordinate box on a double-click. Across the form that coordinate is the working radius R, along the form it is the guide radius R₁; both follow the point you ask for.
The segment's angular displacement, velocity and acceleration are in the Analysis tab (the Segment sub-tab), in Graphs, and in the XLSX export.
Dimensions
A dimension is not a caption, it is a control. A fixed dimension becomes driving: the solver may no longer touch it and rebuilds the rest of the geometry so that it holds.
13.1Dimensions the program places itself
These appear on the drawing automatically and are not “added” anywhere — they belong to the objects themselves:
| Dimension | Belongs to | Double-clicking opens |
|---|---|---|
| Link length | every link | the Length field |
| Block stroke | a slider group | the Stroke field |
| Guide angle | a slider group | the Angle field |
| Travel-end coordinates | a slider group | a pair of X / Y fields |
| Support coordinates | every fixed support | a pair of X / Y fields |
13.2Added dimensions
Two tools on the main toolbar place your own dimensions between any points of the drawing. Both stay armed after each dimension, so a whole drawing is dimensioned in one run; Esc ends the run.
Linear dimension
- Arm Linear dimension.
- Click the first point: a kinematic pair, a support, or a slider travel end.
- Click the second point.
- Click where the dimension line should run. Its position decides what kind of dimension it is — aligned, horizontal or vertical, the way dimensioning works in AutoCAD.
Angular dimension
- Arm Angular dimension.
- Click the vertex of the angle.
- Click a point on the first ray, then on the second.
- The last click sets the arc radius.
O1. The angular dimension is in brackets — it is always informative.Every added dimension collects in the Dimensions tab, where you can rename it, change its reference points, its measuring mode and its value.
- Name
- The dimension's caption in the list.
- From / To
- The two reference points. For an angle: Vertex, Ray 1, Ray 2.
- Measure
- Distance (aligned), Horizontal (ΔX), Vertical (ΔY).
- Value
- The value. With the padlock closed the dimension becomes driving and the mechanism is fitted to it. If a dimension cannot be driving, the field shows the value in brackets as a reference.
- The bin
- Deletes the dimension together with its fixed state and its formula.
13.3The dimension box
Double-clicking any dimension on the drawing opens a small box right beside it.
- The value field
- A number in the current units. A formula can be typed instead — any string starting with
=(section 14). - Fixed (driving) dimension
- Makes the dimension driving. It is boxed on the drawing at once.
- OK
- Applies it. While the fitting runs, the box shows “Calculating dimensions…”.
- Cancel / Esc
- Cancels and aborts the fitting.
- Enter
- The same as OK.
13.4When a dimension is impossible
If the mechanism will not assemble at the value you asked for, the box does not close: it shows the reason and offers to work out the range in which the value is possible after all.
What to do:
- press Calculate feasible range — the program probes values and reports the interval where the dimension is achievable;
- type a different number;
- unlock another dimension to give the solver more freedom.
13.5How many dimensions can be fixed
As soon as the mechanism has even one driving dimension, a balance line appears above the parameters form:
“Fixed dimensions need N floating parameter(s); M of K are floating” — the fixed dimensions require N free parameters, and M out of K are still free.
While M ≥ N the line is calm. Once there are too many fixed dimensions it turns a warning colour: the solver has nothing left to move, and the next dimension will not go through. Unlock something less important.
13.6Dragging dimensions
Any dimension can be picked up with the mouse and pulled somewhere it does not get in the way. It remembers that offset, and the rest of the dimensions stay where the program put them. For an angular dimension, dragging changes the arc radius.
Variables and formulas
An equations table in the SolidWorks manner. Declare a variable and any dimension can be bound to it with an expression.
R = 55 and L = R*2.9.- +
- Adds a row. The name is filled in automatically: A, B, C…
- Name
- The variable name. Letters, digits and underscores only; the first character must be a letter.
- Formula
- The expression. It may reference other variables.
- Value
- The computed value.
errmeans the expression cannot be read or forms a cycle. - The bin
- Deletes the row.
14.1What an expression may contain
| Category | Available |
|---|---|
| Arithmetic | + − * / ( ), powers via pow(a,b) |
| Trigonometry (in degrees) | sin cos tan asin acos atan |
| Other functions | sqrt abs min max pow |
| Unit suffixes | mm cm m in deg rad — for example 2.5in, 30deg |
| Variable references | any name from the table |
| Lengths by pair labels | a link length can be written through the labels of its pairs: =P3P4 |
14.2Binding a dimension to a formula
In any dimension field — in the parameters panel or in the box on the drawing — type an expression that begins with an equals sign:
=R*2.9 // coupler length = 2.9 crank radii
=A*cos(B) // cosine in degrees
=max(L,120) // never shorter than 120 mm
=R*3.ƒ before the number.Change the single number R in the table and the whole mechanism rescales with it. It is the fastest way to check several sizes of the same drive without moving a single point.
Analysis and graphs
A solve produces the whole cycle — 360 positions by default. The Analysis tab shows numbers beside the scheme; the Graphs window draws large kinematic diagrams.
15.1The Analysis tab
At the top, the Charts heading and the number of positions in the cycle. The download button beside it exports the CSV of the current sub-tab.
Below it, the sub-tab switch. Point and Link are always there; Segment and Roller appear only when the mechanism contains those objects.
Then a picker for which pair or link to show, a block of instantaneous values at the current frame, the small charts, and a table over the whole cycle.
Anatomy of a small chart
- X axis
- Always a full revolution: labelled
0°and360°at the ends. - Y axis
- Auto-scaled; only the minimum and maximum of the series are labelled.
- The dashed vertical
- The current animation frame. Run the animation and the line follows it.
- The coloured marks on top
- The legend: which series are drawn.
- The ⤢ button
- Open in Graphs window — opens the same curves in the large graph window. Clicking the chart itself does the same.
- The ⤓ button
- Save SVG — saves this small chart as a vector file.
Which chart is where
| Sub-tab | Charts |
|---|---|
| Point | Coordinates (x, y) and Velocity and acceleration (v, a) |
| Link | Link angle (φ), Angular velocity (ω), Angular acceleration (ε) |
| Segment | Angular displacement γ, Angular velocity, Angular acceleration |
| Roller | Rim clearance and Centre distance |
| Sub-tab | Series | CSV columns |
|---|---|---|
| Point | x, y — coordinates; v — velocity; a — acceleration | angle_deg, x_mm, y_mm, v_mm_s, a_mm_s2 |
| Link | φ — link angle; ω — angular velocity; ε — angular acceleration; length | angle_deg, fi_deg, omega_rad_s, epsilon_rad_s2, length_mm |
| Segment | γ — segment angle; ω, ε; travel | angle_deg, gamma_deg, omega_rad_s, epsilon_rad_s2, travel_mm |
| Roller | rim clearance; centre distance | angle_deg, gap_mm, centre_distance_mm |
The table at the bottom lists every position of the cycle. The current frame's row is highlighted — run the animation and the highlight follows. The table scrolls on its own, independently of the panel.
15.2The Graphs window
The Graphs button on the main toolbar opens the large kinematic-diagram window.
- Expand the node you need in the tree on the left.
- Click a parameter — the curve appears on the field and its colour lights up beside the name.
- Add as many curves as you like; a counter of selected items appears on the node.
B: displacement y and velocity v. The abscissa is the crank angle φ from 0 to 360°.- The title field
- The diagram's name. It is printed on the graph itself and carried into the exported picture.
- Settings
- Opens the axis and grid settings.
- PNG / JPEG / SVG
- Saves the diagram as a picture. Active only when at least one curve is selected.
- Shift minimum displacement to 0
- Shifts displacement curves so that their minimum sits at zero — handy for comparing strokes of different points.
- Closing
- The × in the top-right corner, or a click on the backdrop outside the window.
With several tabs open, the tree shows the parameters of every document, grouped by mechanism name. Curves from two variants then land on the same field and can be compared directly.
Export
Seven formats: the mechanism itself, the drawing, tables and data series.
| Format | From | What is inside |
|---|---|---|
| JSON | Save mechanism as JSON | The complete mechanism: geometry, groups, fixed dimensions, formulas, variables. The only format that opens back. |
| SVG | Export image → SVG | A vector drawing of the current frame in the current theme. Editable in any vector program. |
| PNG / JPEG | Export image | A raster drawing of the current frame. |
| DXF | Export DXF | One frame in AutoCAD R12 format. Layers: LINKS for the links as lines, POINTS for the pairs as circles (supports larger), LABELS for the labels. |
| XLSX | Export Excel | A workbook with a contents sheet and one sheet per pair, link, segment and roller. Each sheet holds a table over the whole revolution and a chart for every parameter. |
| CSV | the download button in the Analysis tab | One series from the current sub-tab; the columns are in the table in section 15.1. |
An image export takes the program's current theme. A drawing on a light sheet comes out light, on a dark sheet dark. For black on white in print, switch the theme with the sun button first.
DXF, Excel and Graphs require a solved mechanism — until the status bar shows a residual, those buttons stay disabled. All file operations are turned off in the demo.
The mechanism file
A mechanism is stored as one JSON text file. It is readable by a person, fits into version control, and restores the document completely — fixed dimensions and formulas included.
17.1The top level
{
"name": "Rehei toggle press — eccentric drive",
"settings": { "steps": 360, "inputSpeedRpm": 60, "units": "mm", "playbackSpeed": 18 },
"points": [ … ], // kinematic pairs and supports
"links": [ … ], // links
"drivers": [ … ], // rotation drives
"sliders": [ … ], // slider guides
"slottedLinks": [ … ], // slotted levers
"gears": [ … ], // toothed elements
"racks": [ … ], // racks
"segments": [ … ], // pressing segments
"eccentrics": [ … ], // eccentric discs
"rollers": [ … ], // roller contacts
"groups": [ … ], // structural groups for the tree
"attachedPoints": [ … ], // points on links
"extraDimensions": [ … ], // added dimensions
"variables": [ … ], // the variables table
"paramLocks": { … }, // which dimensions are driving
"formulas": { … }, // which dimensions are bound to formulas
"dimensionOffsets": { … } // where dimensions were dragged to
}
Every length is stored in millimetres and every angle in degrees, whatever units you chose on screen. The Units switch affects only input and display.
17.2The records inside the arrays
points — kinematic pairs
{ "id": "O1", "label": "O1", "x": 148.052668, "y": 134.463405, "fixed": true }
id is the internal key every other record refers to. label is the caption on the drawing. fixed says whether it is a support. For a moving pair the coordinates are only a starting guess.
links — links
{ "id": "L1", "label": "Eccentric rod AE", "a": "E", "b": "A", "length": 105.0, "mass": 1 }
a and b are the ids of the pairs at the ends. length is in millimetres.
drivers — rotation drives
{ "id": "D1", "label": "Eccentric shaft", "basePointId": "O1", "pointId": "E",
"length": 45.0, "phaseDeg": -39.126927, "direction": 1, "rpm": 60 }
direction: 1 counter-clockwise, -1 clockwise. phaseDeg is the crank angle at position 0°.
sliders — slider guides
{ "id": "S1", "label": "Plate guide", "pointId": "B",
"originPointId": "O2", "originX": 0.0, "originY": 0.0, "axisDeg": 90.0, "offset": 0.0,
"travelMin": 344.651664, "travelMax": 399.163891, "guidePadding": 24, "symbol": "block" }
originPointId is the pair the guide is anchored to (empty when it stands at its own coordinates). travelMin / travelMax are the travel limits along the axis. symbol is block or roller.
gears — toothed elements
{ "id": "GR9", "label": "Drive gear 9", "kind": "wheel", "centerPointId": "O9",
"pitchRadius": 90.0, "teeth": 36, "toothModule": 5.0,
"motion": { "type": "link", "linkId": "L0", "ratio": 1.0, "phaseDeg": 0.0 } }
kind: wheel, pinion, sector, ring. motion.type: fixed, link, gear, rollingRack, drivenRack — the same choices as the Rotation source field.
eccentrics — eccentric discs
{ "id": "EC1", "label": "Eccentric drive", "centerPointId": "O1", "pinPointId": "E",
"eccentricity": 45.0, "discRadius": 81.0,
"motion": { "type": "driver", "driverId": "D1", "phaseDeg": 0.0 } }
rollers — roller contacts
{ "id": "RL1", "label": "Roller on wheel", "pointId": "A", "wheelPointId": "O1",
"radius": 14.5, "wheelRadius": 45.5, "contact": "external", "rigid": false }
rigid: false — the contact only measures the clearance; true — it holds the centre distance like a link.
segments — pressing segments
{ "id": "SG1", "label": "Pressing segment", "centerPointId": "C", "carrierPointId": "B",
"radius": 250, "innerRadius": 214.987, "rollerRadius": 18, "spanDeg": 100, "thickness": 18,
"startDeg": -140, "originX": 60, "originY": -60, "axisDeg": 0, "side": 1,
"surfaceLength": 420, "showRack": true, "rackPitch": 12 }
radius is the working radius R, innerRadius the guide radius R₁, rollerRadius the roller radius r₁. originX/Y, axisDeg and surfaceLength describe the flat form.
racks — gear racks
// a fixed rack
{ "id": "RK1", "label": "Fixed gear rack",
"originX": 128.4, "originY": -61.2, "axisDeg": 0,
"length": 320, "pitch": 8, "fixed": true, "toothSide": -1 }
// a moving rack on a slider
{ "id": "RK2", "label": "Moving gear rack", "pointId": "P3",
"originX": 128.4, "originY": -61.2, "axisDeg": 0,
"length": 320, "pitch": 8, "fixed": false, "toothSide": 1 }
Only a moving rack has pointId — the pair that carries it. originX/Y and axisDeg give the midpoint and the inclination. toothSide (1 or −1) is which side of the axis the teeth are drawn on.
slottedLinks — slotted levers
{ "id": "SL1", "label": "Slotted lever", "pointId": "A1",
"pivotPointId": "P3", "leverPointId": "P4", "leverLinkId": "L2" }
pointId is the block sliding in the slot; pivotPointId is the lever's fixed support; leverPointId and leverLinkId are the lever's far end and the lever link itself.
attachedPoints — points on links
{ "id": "AP1", "pointId": "P5", "linkId": "L2", "from": "a", "distance": 74.17 }
from is which end of the link to measure from ("a" or "b"), distance is the distance along it. A value greater than the link's length puts the point on the extension. The point itself remains an ordinary record in points — this record only ties it to the link.
extraDimensions — added dimensions
{ "id": "ED1", "label": "Dimension 1", "a": "point:O1", "b": "point:P4",
"axis": "x", "offsetMm": 62 }
{ "id": "ED2", "label": "Angle 2", "kind": "angle",
"vertex": "point:O1", "a": "point:A1", "b": "point:P4", "offsetMm": 48 }
Reference points are written as keys: point:<id>, slider:<id>:endA, slider:<id>:endB, plus the centre and ends of a rack or of a segment's form. axis is "x", "y" or absent (an aligned dimension). offsetMm is how far the dimension line was pushed out, or the arc radius for an angle.
variables — the variables table
[ { "name": "R", "expr": "55" },
{ "name": "L", "expr": "R*2.9" } ]
groups — structural groups
{ "id": "G1", "label": "Eccentric drive", "kind": "Eccentric drive",
"pointIds": ["O1","E"], "linkIds": [], "driverIds": ["D1"],
"sliderIds": [], "eccentricIds": ["EC1"] }
Groups do not affect the calculation — they only build the object tree and let a whole group be deleted in one action.
paramLocks and formulas
"paramLocks": { "link:L1:length": true, "point:O2:x": true },
"formulas": { "link:L2:length": "R*2.9" }
A dimension key is the object type, its id and the parameter name. These two dictionaries are what store which dimensions are driving and which are bound to formulas. The most common keys:
| Key | Which dimension |
|---|---|
link:<id>:length | Link length |
point:<id>:x / :y | Fixed support coordinate |
slider:<id>:originX / :originY | Guide origin |
slider:<id>:axisDeg | Guide angle |
slider:<id>:stroke | Block stroke |
slider:<id>:endA.x … endB.y | Travel-end coordinates |
gear:<id>:pitchRadius | Wheel pitch radius |
gear:<id>:phaseDeg / :armAngleDeg | Wheel initial angle / arm angle |
eccentric:<id>:eccentricity | Disc eccentricity |
attached:<id>:distance | Position of a point on a link |
extra:<id>:distance | An added dimension |
dimensionOffsets — where dimensions were dragged
"dimensionOffsets": { "link:L1:length": 34.5, "extra:ED1:distance": -60 }
Stores the places you dragged dimension lines to. It has no effect on geometry at all — only on how the drawing looks.
settings — document settings
| Field | Default | What it means |
|---|---|---|
steps | 360 | How many positions to compute per crank revolution. |
inputSpeedRpm | 60 | The default rotational speed for new drives. |
units | "mm" | The units the document was last displayed in. |
playbackSpeed | — | The animation playback speed, if it was changed. |
The docs/examples/ folder holds complete mechanisms that open with the Open button: the Rehei toggle press in several assemblies, and the pressing-segment drive.
Server projects
Your own library of mechanisms stored on the server and visible only to your account. Every database query checks the owner, so other people's projects cannot be reached.
- Project name
- The project name, up to 160 characters. It also becomes the mechanism name.
- Save current
- Writes the active document to the server. Saving under an existing name updates that record.
- Refresh
- Re-reads the list — useful if you work from two devices.
- Open
- Loads the project and closes the window.
- Delete
- Removes the project from the server. You are asked to confirm — it cannot be undone.
It is convenient storage on the server, not an archive. For long-term keeping, export the mechanism to a JSON file: it depends neither on your account nor on the server being up.
Demo mode
The Open the demo button on the sign-in screen opens the full program on a shared account — no password, and nothing to hand out to a visitor.
Everything works in the demo: every drawing tool, the solver, the animation, the graph window. There are exactly two differences.
Files are turned off
Opening and saving JSON, the image, DXF, Excel and CSV exports, and the server projects are unavailable. The buttons stay visible but disabled, and the server refuses those requests for a demo session as well.
Charts carry a watermark
Every chart — in the Graphs window and the small charts in the side panel alike — carries a diagonal DXNest Motion mark, so it appears on any screenshot too.
If there is no Open the demo button on the sign-in screen, the demo mode is turned off on that installation.
Light and dark
The sun/moon button at the right of the toolbar switches the whole program between the dark DXNest palette and the light drafting one. The choice is remembered.
Switch to the light theme before exporting SVG or PNG: the drawing comes out black on white and drops straight into a report with no further work.
Keyboard and mouse
The controls are deliberately few: everything is done with the mouse, and the keyboard is needed only to end a construction and to confirm what you typed.
21.1Keys
| Key | Where | What it does |
|---|---|---|
| Esc | on the drawing | Aborts the construction in progress. Pressing it again returns to Select. |
| Enter | on the drawing | The same as Esc. For a gear train and the dimension tools, this is how a run is finished. |
| Enter | in an input field | Applies the value. It does not interrupt a construction. |
| Esc | in an input field | Restores the previous value. |
| ↑ / ↓ | in a dimension field | Nudges the value by one step: 1 mm, 0.01 inch or 1°. |
| Esc | in the dimension box | Cancels the entry and aborts the fitting. |
| Esc | in a tab name | Cancels the rename. |
In a browser running full screen, Esc is claimed by the browser itself to leave full screen, and the page never receives it. Enter always gets through.
21.2Mouse
| Action | Result |
|---|---|
| Left click | Selects an object, or performs the next step of the armed tool. |
| Double-click a dimension | The box for typing an exact value. |
| Double-click a support | The X / Y coordinate box. |
| Double-click a tab | Renames the mechanism. |
| Drag a support | Moves it; the result passes through the solver. |
| Drag a dimension | Moves the dimension line somewhere clearer. |
| Mouse wheel | Pans the sheet. |
| Ctrl/⌘/Alt + wheel | Zooms under the cursor. |
| Middle-button drag | Pans. |
Errors and limits
Every solver and tool message appears in the status bar at the bottom. Below are the common ones and what to do about them.
22.1Messages from the construction tools
| Message | Cause and remedy |
|---|---|
| Click a kinematic pair to attach… | You clicked empty space. The tool only attaches to an existing pair — click the circle. |
| Place the crank pair at least 10 mm from its support | The crank is too short. Click further from the support. |
| Place the intermediate pair at least 20 mm from the attachment pair | The same for a dyad — move the points apart. |
| The selected intermediate pair and support cannot assemble through the full motion | The dyad will not assemble over the whole revolution. Move the intermediate pair or the support; usually you need a longer coupler or a shorter crank. |
| That slider position is too close for the full motion. Place it at least N mm… | The block is too close. The program works out the minimum and prints it in the message. |
| Click a kinematic pair that belongs to an existing link | A two-link slider group only attaches to a pair that is part of a link. |
| Select a fixed support or a pair moving on an arc around a fixed support | A gear train and a sector can only go on an axle: a fixed support, or a pair travelling on an arc. |
| That pair moves, so no wheel can be mounted on it | A train wheel can only go on a fixed axle. Click a support, or empty space where a new one will appear. |
| That axle already carries a wheel… | There is already a wheel on that axle. To mesh with it, change its Rotation source to the last wheel of your train. |
| Give the ring a pitch radius of at least N mm | The internal ring is too small — there is no room left inside for a pinion. |
| Attach the rack transmission to a slider pair | Rack transmissions only attach to a slider pair. Build a slider group first. |
| The pressing roller has to sit on a moving pair, not on a support | A pressing segment attaches to a moving carriage, not to the frame. |
| Click an existing link, or a gear wheel, to add a point on it | A tracer point goes on the body of a link or a wheel, not on a pair. |
| Click a point of the mechanism: a kinematic pair, a support, or a slider travel end | The dimension tool only accepts real points of the drawing. |
22.2Messages from the solver
| Message | Cause and remedy |
|---|---|
| No valid solution yet | The scheme does not close. Check that every group is attached and that the dimensions are compatible. |
| No assembly found for this value. Change the value or make more dimensions floating | The dimension you asked for is unreachable. Press Calculate feasible range, type a different number, or unlock another dimension. |
| The balance line turned a warning colour | There are more driving dimensions than free parameters. Unlock one. |
| A message about the document being too large | The mechanism exceeded the calculation limits — see below. |
22.3Why a large mechanism takes longer
The cost of a solve grows much faster than the number of points. Here is what that looks like in practice for a full cycle of 360 positions:
| Points in the mechanism | Solve time, s |
|---|---|
| 5 | 0.2 |
| 30 | 3.1 |
| 65 | 14.1 |
| 105 | 31.5 |
So that one oversized mechanism cannot take all the resources, the calculation has ceilings:
- no more than 200 kinematic pairs and 1000 elements in a document;
- no more than 20 seconds for one cycle.
If a limit is exceeded, nothing “hangs” — a readable explanation appears in the status bar. For scale: the largest ready-made example has 13 points, so in ordinary work these limits never get in the way.
Remove tracer points you no longer need, or split the machine into two documents in neighbouring tabs — the Graphs window will still collect their curves onto one field.
Worked example
One mechanism from an empty sheet to a finished export — so you can see how all the sections become a single sequence of actions.
The task. A slider-crank drive with a stroke of exactly 200 mm and a crank radius of 60 mm. You need the block's velocity graph and a table in Excel.
23.1Draw it roughly
- Take Input crank. Click somewhere in the left part of the sheet — that is the support. Click up and to the right, about half a hand away — that is the crank pin. The length does not matter yet.
- Take Slider group. Click the pair
A1(the crank end), then click to the right at the level of the support — the block goes there, and the guide lies along the line you have just drawn. - The status bar should show
Residual …e-8 mm. The mechanism has assembled.
It is wasted effort. Click roughly — you will type the exact numbers in the next step, and the program will rebuild the scheme itself.
23.2Set the exact dimensions
- Double-click the crank dimension on the drawing. Type
60, tick Fixed (driving) dimension, press OK. The dimension is now boxed — it is driving. - Double-click the block's stroke dimension. Type
200, fix it too, OK. The program will fit the connecting-rod length so that the stroke is exactly 200 mm. - Select the slider group in the object list and set Axis angle to exactly
0so the guide lies horizontally.
If a number is refused, read the red text under the field and press Calculate feasible range: the program will tell you between which values it is possible.
23.3Set the motion
- Select the drive (Input 1) in the object list.
- Set RPM — say
120. - Check Rotation direction and, if needed, Initial angle.
23.4Check the motion
- Press Play in the animation strip. Watch the mechanism go through a whole revolution without stalls or jumps.
- Stop and step through the Position list to the extreme positions.
- If you need to measure from a different pose, stop on it and press Set current position as initial.
23.5Read the result
- Analysis tab → Point sub-tab → pick the block in the list. The coordinates, velocity and acceleration at the current frame are right there.
- Click the Velocity and acceleration chart — the Graphs window opens with those curves already selected.
- Add other curves from the tree on the left if you need them, and save the diagram with PNG or SVG.
23.6Finish and hand it over
- Place the dimensions you need with Linear dimension and Angular dimension, and drag them to clear places.
- Switch to the light theme if the drawing is going to print.
- Export image → SVG — the drawing for the report.
- Export Excel — a workbook with tables and charts over the whole revolution.
- Save mechanism as JSON — the mechanism itself, so you can come back to it.
Rough with the mouse → exact dimensions by number → set the motion → check with the animation → read the results → dimension and export. Trying to draw precisely with the mouse from the start is the most common way to waste time.
Index: where things are
A quick lookup by intent. On the left what you want to do, on the right where it is in the program and which section describes it.
| I want to… | Where it is | Section |
|---|---|---|
| Start a new mechanism | Palette → Input crank | 10.1 |
| Add a four-bar linkage | Palette → Dyad | 10.2 |
| Add a slider | Palette → Slider group | 10.3 |
| Make a slotted lever | Palette → Slotted Link Mechanism | 10.5 |
| Get the coupler curve of a point | Palette → Point on link or gear | 10.7 |
| Build a gear train | Palette → Gear train | 11.1 |
| Change what turns a wheel | Wheel parameters → Rotation source | 11.5 |
| Take motion off a wheel | Point on link or gear on the wheel body | 10.7 |
| Add an eccentric | Palette → Eccentric drive | 12.1 |
| Measure the clearance between rims | Palette → Roller on wheel | 12.2 |
| Set an exact link length | Double-click the dimension, or the Length field | 9.3, 13.3 |
| Fix a dimension so it stops drifting | The padlock beside the field, or Fixed (driving) dimension | 9.3, 13.3 |
| Set an exact block stroke | Slider parameters → Stroke (travel), then fix it | 9.4 |
| Find out why a dimension is refused | The Calculate feasible range button | 13.4 |
| Tie two dimensions together | Variables tab + an =… expression in the field | 14 |
| Place a dimension on the drawing | Toolbar → Linear dimension | 13.2 |
| Measure an angle | Toolbar → Angular dimension | 13.2 |
| Move a dimension out of the way | Drag it with the mouse | 13.6 |
| Change the rotational speed | Drive parameters → RPM | 9.4 |
| Change the direction of rotation | Drive parameters → Rotation direction | 9.4 |
| Start measuring from another pose | Set current position as initial | 9.2 |
| Stop at a particular angle | The Position list | 9.2 |
| See a velocity graph | Analysis tab, or the Graphs button | 15 |
| Compare two variants of a mechanism | Two tabs + the Graphs window | 5, 15.2 |
| Get a table of numbers | The download button in Analysis (CSV), or Export Excel | 15.1, 16 |
| Put the drawing into a report | Export image → SVG, with the light theme on first | 16, 20 |
| Hand the drawing to a CAD program | Export DXF | 16 |
| Keep the mechanism long term | Save mechanism as JSON | 16, 17 |
| Save it on the server | Private projects → Save current | 18 |
| Hide clutter of dimensions | Status bar → clear Dimensions | 8.2 |
| Show accelerations | Status bar → Acceleration | 8.2 |
| Switch to inches | Status bar → Units | 8.2 |
| Zoom in on the drawing | Ctrl + wheel, or the buttons in the corner of the sheet | 7.2 |
| Abort a construction | Esc or Enter | 21.1 |
| Delete a group I do not need | Select it → Delete selected | 9.5 |
| Rename a mechanism | Double-click the tab | 5 |
| Show the program without an account | Open the demo on the sign-in screen | 19 |