Artful Twister — User Guide
Artful Twister can be used to simulate one or a series of wood lathe spindle cuts.
You have seen all those fancy off-centre, twisted, inside-out woodturning projects out there. You have given up on wrapping your head around how anyone sane comes up with those designs and plans their work. You might even have considered using a CAD program to come up with your designs - and gave up overcoming the learning curve.
You're not alone.
Enter Artful Twister. Set your blank size, play around with offset mounting points, do some cuts, drill a hole. Or go wild and simulate an inside-out turning. When you've finished your design, print off the cut template(s) and head over to your lathe.
Have fun!
Carsten - aka Artful Penguin.
P.S. A couple of notes on this app:
- It's quite capable of spitting out designs that are either physically impossible to turn, or require the turner to wear a bomb disposal suit to stay safe. You are responsible for the design you bring to the lathe.
- It's designed for use on a laptop/desktop computer with a pointing device. It runs on tablets and smartphones, but you won't enjoy the experience.
- 1. The workspace
- 2. Blank properties
- 3. The profile editor
- 4. Viewport (render area)
- 5. Showing off your work (showcase view)
- 6. Offset turning (multiple mounting points)
- 7. Using multiple profiles
- 8. Drilling a hole
- 9. Layered wood
- 10. Inside-out turning
- 11. Saving and sharing
- 12. Your account
- 13. Export and import
- 14. Help tooltips
- 15. Other menu items
1. The workspace#↑
The window has three regions:
| Region | Purpose |
|---|---|
| Profile editor (top-left) | The 2D curve of the active turning |
| 3D viewport (bottom-left) | Live preview of the workpiece |
| Settings panel (right) | Blank, profiles, exports, and feature toggles |
Click into a region to make it active — a faint blue frame marks which one is currently receiving keystrokes.
You open the feature menu by clicking in the top-left of the settings panel. Most features of the program are initiated from this menu.
The account button (top-right) handles sign-in, your saved models, email changes, and your personal preferences.
2. Blank properties#↑
The first task for any project is to define the blank. Blank settings are shown in the settings panel.
- Shape —
Cylinderfor round stock,Boxfor square or rectangular stock. - Length — distance between centres along the lathe axis.
- Diameter (cylinder) or Width / Height (box) — the cross-section.
- Wood — pick a colour for the blank. Several preset wood tones are listed; Custom… opens a colour picker for anything else. The chosen colour is also used as the first layer's colour if you later switch on Layered wood, so toggling between modes won't lose it.
Changes apply instantly. Dimensions are limited to a length of 20-1000mm and diameter/height/width of 10-500mm.
It is possible to change the blank settings at any time, but doing so after you have started editing cut profiles will probably lead to unintended side-effects.
3. The profile editor#↑
The profile editor shows the active turning as a curve over the workpiece axis. The X axis runs along the length of the work; the height of the curve at each point is the radius at that position. The bottom of the editor is the spindle axis (radius 0); the top is the maximum radius the blank can reach.
X = 0 marks the spindle-axis position at the headstock end when the blank is mounted in both centre holes. When a profile is mounted on an offset hole, its axis enters the blank slightly past X = 0, so the editor's range can extend a little to the left (and thus have a negative X-coordinate).
Imperial overlay#
This app does everything in millimetres (mm).
If you're used to thinking in imperial units, there is a bit of help to be found in the Imperial overlay option in the menu. When this feature is on, a ruler with approximate inch markings appears alongside the mm measurements in the profile editor.
The same ruler will appear in exported drawings (see below) if the export is done while the feature is turned on.
If you are logged in, you can set a personal default in Account ▸ Preferences ("Imperial overlay default on"). The toggle is then preset accordingly in when you sign in or open a model.
Even when the imperial overlay is used, it's still all mm under the hood. Tick positions aren't exact, they snap to the nearest mm.
Using the editor#
Depending on the shape of the blank, the "Profile menu" referenced below will appear either to the left of the curve editor, or at the very top of the editor.
The profile menu has these items:
- Show / Hide coordinates — show or hide the small numbers floating above each point in the editor.
- Pull points — only appears when one or more control points sit beyond the editor's top edge (typically because you've shrunk the blank). Pulls every out-of-range point back onto the edge, so they're reachable again.
- Reset — start the profile from scratch with 5 equidistant control points at full radius with straight lines. Asks for confirmation first.
- Use Bézier curves / Use standard curves — toggle the curve mode (the label shows what it'll switch to).
When a profile is locked (see Locking a profile, below), the Pull points, Reset, and curve-mode items disappear and the editor no longer responds to point edits — only Show / Hide coordinates stays available.
You can add and delete control points as described below. The only exceptions are the two end points, which must always be present.
There are two modes for editing curves, Standard or Bézier. Standard is the default for a new model. Bézier curves are a bit more complicated to work with.
Note: If you want to use Bézier curve editing, you should still read through the standard editing features below to understand how curve editing works in general.
Standard curve editing
In standard mode, you start out with a set of control points and straight lines. Points and lines start at the outer edge of the blank. By pulling a control point downward and to the sides, you create a cut profile into the blank that follows the lines.
After left-clicking or dragging a handle, it stays selected (yellow). You can then nudge the point using arrow keys for precise control. Click outside any point or line to completely deselect all points.
Initially, all lines are straight. If you want a smooth curve around a control point, then shift-click both lines on either side of the control point.
The order of control points is monotonic: You will not be able to move a control point sideways in such a way that it moves past another point.
These actions are available in standard mode:
| Gesture | Result |
|---|---|
| Click on the curve | Insert a new point |
| Drag a point | Move it (interior points stay between their neighbours; endpoints can move freely along X) |
| Click a point or handle | Select it (stays selected until you click elsewhere) |
| Arrow keys | Nudge the selected point or handle by 1 mm in the arrow direction |
| Right-click an interior point | Delete it. The two endpoints cannot be deleted. |
| Shift-click on a segment | Flip between straight line and curve |
Bézier curve editing
If you want more fine-grained control over the profile, or just prefer working that way, you can switch to editing Bézier curves.
Note: You can shift from standard curve editing to Bézier curve editing at any time without any loss of detail. Going the other way also works - sort of, most of the time. You should probably stay in Bézier mode once you have activated it.
Bézier curve control points have an extra two handles each (except for endpoints, which only have one). Each of the extra handles can be moved to refine the curvature of the corresponding line segment ending at the control point.
When you drag a control point or a handle, it stays selected (yellow). You can then nudge the point using arrow keys for precise control. Click outside any point, handle or line, to completely deselect all points and handles.
As for standard mode, the order of control points for Bézier curves is monotonic: You will not be able to move a control point sideways in such a way that it moves past another point. Furthermore, left-side handles cannot be moved to the right past the control point and vice-versa.
Those restrictions are in place to prevent you from creating S-shaped profile segments (i.e. places where parts of a segment passes underneath another segment part). The restrictions are not perfect, and you might still manage to create an S-shape. If you do so, something will render, but it's pretty well undefined what that something is.
These actions are available in Bézier curve editing mode:
| Gesture | Result |
|---|---|
| Click on the curve | Insert a new point |
| Drag a point | Move it (interior points stay between their neighbours; endpoints can move freely along X) |
| Click a point or handle | Select it (stays selected until you click elsewhere) |
| Arrow keys | Nudge the selected point or handle by 1 mm in the arrow direction |
| Right-click an interior point | Delete it |
| Shift-click on a segment | Flip between straight line and curve |
| Drag a handle (Bézier) | Reshape the segment |
| Shift-drag a handle (Bézier) | Mirror the companion handle for a smooth join |
| Right-click a handle (Bézier) | Reset the handle to its automatic position |
4. Viewport (render area)#↑
Below the editor, a real-time render of the blank, the cuts, and the lathe hardware. The workpiece is aligned with the active profile's axis. The cuts shown are the sum of cuts from previous up to (and including) the current profile.
Camera#
- Left-drag — orbit.
- Right-drag — pan.
- Scroll wheel — zoom.
Viewport menu#
A small menu in the top-left of the viewport groups the display options.
View — independent toggles:
| Option | Effect |
|---|---|
| Hardware | Show or hide the lathe metalwork |
| Envelope | Translucent cylinder showing the full sweep of the uncut blank — useful for seeing how far an off-axis profile reaches |
| Orthographic | Switches the camera between perspective and a flat projection that shows true proportions |
Render — pick how the workpiece is drawn. This is a trade-off between speed and quality:
| Mode | When to use |
|---|---|
| Standard | Default. Fast and good enough for centred or mildly off-axis shapes. |
| Advanced | Slower (editing may feel sluggish), but handles some cases that the Standard rendering can't. Use if Standard shows visual glitches, especially on very off-axis cuts. |
| Experimental | An extra rendering mode that handles some cases that the other render modes can't handle, but has some issues of its own. Try this when the others fail. |
Reset — resets the view parameters to the default settings.
When using the hole drilling feature, standard rendering is not available and you will be forced to use either advanced or experimental render modes.
5. Showing off your work (showcase view)#↑
The menu's Showcase option opens a full-screen view of the workpiece, slowly rotating so you can admire it from every angle.
- Hold the left mouse button to pause the rotation and look around manually; release to resume.
- Spacebar toggles a sticky pause.
- Reset (top-left) returns the view to the start of the animation.
- Close (top-right) or Esc exits.
The actual workpiece on the lathe doesn't move while the showcase plays — what you see is a copy.
If you're in inside-out mode, an extra Showcase inside-out item appears in the menu. Where the standard showcase option will just show the finished product, this other option gives you a nice animation of how cuts are applied and segments flipped.
6. Offset turning (multiple mounting points)#↑
Every profile mounts between centres on the headstock and tailstock by default. To turn off-axis features (cabriole legs, eccentric pommels, multi-axis decorative work), enable Extra centre points from the menu.
Once enabled, the Mockup display and Centre points settings appear in the settings panel. Use these to define rings of holes offset from the spindle axis.
Each ring has:
| Field | Meaning |
|---|---|
| Colour | A marker colour assigned at creation, shown on the mockup and in the 3D view |
| Count | Number of holes in this ring (0–12) |
| Radius | Distance from the spindle axis |
| Rotation | Where the first hole sits, in degrees (0 = straight up) |
On the mockup, Rings are labelled A, B, C, … in the order they appear. Individual holes are A1, A2, … going counter-clockwise from the rotation start. Use the up/down arrows on a setting to reorder rings; references in profiles update automatically.
The mockup represents the mounting points as seen looking at the headstock end of the blank. Each headstock point has a corresponding point with the same name opposite it on the tailstock end.
7. Using multiple profiles#↑
A profile is one curve plus its mounting axis (which centre points it's mounted on). Profiles live under the Profiles section of the settings pane. For a multi-step process in which you change mounting points as you progress, each new mount is associated with a its own cutting profile.
When you have more than one profile, they apply in order. Profile 1 cuts first, profile 2 cuts what's left, and so on.
Adding, deleting, reordering#
- Add profile — creates a new profile mounted on the spindle (head = 0, tail = 0).
- Copy icon — duplicates the current profile in place; the copy becomes active.
- Up / Down arrows — change the order in which profiles cut. Hidden when there's only one profile, or on the first/last profile in the direction it can't move.
- Delete icon — remove a profile (you must keep at least one). Asks for confirmation first.
Click a profile setting to make it active — its curve shows in the editor and the 3D view focuses on its axis.
Locking a profile#
Click the padlock icon at the left of a profile's actions to lock it. A locked profile is protected from accidental edits — you can't move points, change mounting, switch curve mode, reset, or pull points. You can still reorder, copy, or delete the profile, and you can still switch to it to view its curve. Click the padlock again to unlock.
Head & tail#
Each profile has Head and Tail dropdowns listing 0 plus every defined offset hole. Picking a non-0 point tilts the profile's axis. The editor's X range stays the same regardless of which axis you're editing, so all your profiles share a common reference frame.
8. Drilling a hole#↑
Switch on Drill hole in the menu. In the settings pane, options for Drilled hole are displayed:
- Diameter — the bore.
- Depth — how far it goes in from the tailstock end.
- Apply to profile — which profile's axis the hole is bored along, and at what point in the cut sequence the hole appears in the preview. (Hidden in inside-out projects, where the hole is always bored along the post-flip axis after the remount — see Inside-out turning.)
Toggling Drill hole off keeps your settings, so you can turn it on and off without losing the dimensions.
Standard rendering mode does not support the drilled hole feature. When the feature is active, you will be forced into using advanced or experimental mode.
9. Layered wood#↑
Switch on Layered wood in the menu to build the blank from stacked laminations. A set of options Layers appears in the settings pane.
Each layer has a thickness (in mm) and a colour. Layers stack vertically; their total thickness equals the blank's height (cylinder diameter, or box height). While Layered wood is on, that value is controlled by the layer heights.
- Add layer appends a new layer on top.
- Up / Down arrows reorder the stack.
- The delete icon removes a layer (one must always remain).
Cuts through the workpiece reveal the layer pattern in the 3D preview, just like real laminated stock.
10. Inside-out turning#↑
Inside-out turning is a very different kind of project than the others available in this app: Segmented blank, turn the outside, flip the segments, turn the inside. Start it from the menu via Inside-out turning….
It's one-way: confirming the switch clears any layered wood, drilled hole, or extra centre points on the model, and locks you to exactly two profiles (pre-flip and post-flip). To return to a standard project, start a new model.
Once active:
- Segments settings replaces the Blank's cross-section options. Set the segment count (3, 4, 6, or 8) and side length. Outer reach is derived from those.
- Profiles is fixed at two profiles:
- Pre-flip — turning the assembled blank's outer surface. After the flip, this surface ends up on the inside of the final piece (forming the windows / inner walls).
- Post-flip — turning the remounted, flipped assembly's new outer surface. This is the final visible exterior.
- In each profile editor, a shaded band shows the other profile's curve — in the post-flip editor it marks where material was removed by the pre-flip cut; in the pre-flip editor it marks material that will be removed by the post-flip cut later. Use it as a visual cross-check to keep the two cuts consistent.
- A Drill hole can be enabled in inside-out mode. The bore is always added along the lathe axis after the remount, as the last action after applying the post-flip profile.
11. Saving and sharing#↑
You can use Artful Twister, even save models on the server so you can come back to them later, without ever creating a user account. This is fine while you're figuring out whether Artful Twister is something for you.
Once you start doing any kind of serious work, you should consider creating an account. An account lets you access previous models without having to save URLs, and you can share models as read-only with other people.
Model Settings#
The Model settings at the top of the settings panel shows the model's name, save status, and the available actions.
- Unsaved — the model has not yet been saved. Click Save to persist.
- Saved — once a model has been saved for the first time, the model is saved on every edit (after a brief idle, the status flips to saving… then saved). Three icons offer:
- Share — opens the share dialog (next section).
- Create duplicate — forks the model under a new name (you'll be prompted, with a sensible default).
- New model — clears the workspace and starts from defaults. If you have unsaved changes, you'll be asked to confirm first. Render mode and the editor's coordinate / Bézier toggles are kept; everything else resets.
- Read-only (someone else's model shared with view access) — the Share icon is hidden; Create duplicate and New model icons appear in its place.
The New model… action is also available in the menu at any time.
The active model is also encoded in the URL (/artfultwister/?m=<id>). Bookmarking that URL is enough to come back later from any device.
Sharing#
Click Share in the Model settings to open the share dialog. As an owner you can:
- Rename the model.
- Choose an access mode:
- Private — only you can view or edit.
- View link — anyone with the URL can view; only you can edit.
- Edit link — anyone with the URL can edit. Be careful with this one — last write wins.
- Copy the URL.
Non-owners see a read-only summary plus the Copy URL action.
Anonymous (guest) saves#
Saving without an account works exactly the same way, except the model has no owner. The save confirmation warns you that anyone with the link can both view and edit — the URL is the only access control. Sign in before saving if you want a private model.
12. Your account#↑
The user icon (top-right) opens sign-in or, when signed in, an account menu.
Sign-in & registration#
- Register — email + password (≥ 10 characters) and an optional display name. Click Generate to mint a strong random password.
- Verify your email — you'll receive a link by email; clicking it confirms your address and opens the sign-in form pre-filled.
- Forgot password — sends a reset link.
- Email me a sign-in link — passwordless option. A one-time link arrives by email and signs you in for 15 minutes.
Account menu (signed in)#
The user icon shows your initial. Click for the menu:
- My models — drawer listing your saved models with names, share modes, and last-modified time. Click a row to load it; the trash icon deletes permanently.
- Change email… — sends a confirmation link to the new address. The change only takes effect once you click that link; your current address keeps working until then.
- Preferences… — toggles for Show help tooltips and Imperial overlay default on.
- Sign out.
13. Export and import#↑
You can export to and import from various file formats. All of these functions are available through the menu.
PDF and SVG#
You're done designing, now it's time to bring your cutting profiles to the lathe, or continue working on them in a different program. The menu provides you with the following options:
- Export to PDF — Use this option to create a ready-to-print PDF file at 1:1 scale.
- Export to SVG — Create a single SVG document with all cut profiles. Print it from e.g. your browser, or refine your work further in Inkscape, Illustrator, etc.
Both of those exports produce the cutting profiles with a margin for something for your fingers to hold onto while using the template at the lathe.
If your model has additional centre points, a Centre points overview is added to the output, that you can use to lay out your centre points on the blank.
If Imperial overlay is on, an inch ruler is drawn along the bottom of each profile drawing.
If the export is of an inside-out project, measurements and angles of the segment blanks are provided in the export.
Print at 100 % scale, (not fit-to-page), and you have a usable lathe template.
Export to STL#
You can't get to your lathe, but you do have a 3D printer and can't wait to see a real-life result? Use the STL export function to create an STL file you can import into your slicer.
Note: The resulting STL file will be of a somewhat lower quality than what you normally expect from CAD software. STL export is for checking your design and dimensions, not for creating high quality 3D print models.
Importing an SVG profile#
The menu also has Import SVG. The modal accepts either a full SVG file (upload or paste) or just the raw d attribute of a <path>. Coordinates are treated as millimetres.
The path becomes a new profile in the current model, in Bézier mode, mounted on the spindle (head = 0, tail = 0). Re-point it to an offset hole afterwards if needed.
Normalisation#
- The leftmost X becomes 0.
- Y is flipped so the topmost point of the drawing becomes the largest radius (drawings are usually right-side up; we want "top of shape = outside of work").
- A right-to-left path is auto-reversed.
- X coordinates must move in one direction; otherwise the import fails with a clear message.
Blank size check#
If the imported profile is too long or too tall for the current blank:
- If it still fits the absolute maximum (length ≤ 1000 mm, radius ≤ 250 mm), a confirmation dialog lists which dimensions will grow. Click Expand and import to accept — existing profiles are extended with a horizontal run to match the new length, but no other cuts are touched.
- Otherwise the import is refused.
14. Help tooltips#↑
Almost every control in the app has a short explanation that appears when you hover over it (or focus it with the keyboard). If they get in your way once you know the layout, switch them off in Account ▸ Preferences ▸ Show help tooltips.
15. Other menu items#↑
At the bottom of the menu:
- Artful Penguin — opens the Artful Penguin home page in a new tab.
- Privacy policy — what we collect, what we don't, and your GDPR rights.
- About… — copyright, build date, the commit identifier of the running build, and the open-source libraries used.