What each strategy does, what its parameters mean, and how the twin sets the cutting data. The numbers the twin gives are estimates from its physical models.
The parameters below are the ones a feature takes in a job (the program_generate tool's features). Lengths are in millimetres, angles in degrees.
A pocket's area is its shape less its islands, offset inwards by the tool's radius. It is cleared layer by layer, each layer no deeper than the depth of cut (ap). The strategy (strategy) sets the path in a layer:
| Strategy | Path | Use it for |
|---|---|---|
rings (default) | Offsets of the area from its deepest spot out to the wall, each ae apart | Most pockets |
zigzag | Straight passes to and fro at angle, ae apart | Open, shallow areas |
adaptive | A path that keeps the tool's engagement near ae everywhere | Deep pockets, harder materials |
A pocket with a fit finishes its walls at size in a pass of its own. See Fits.
Adaptive clearing cuts with a small radial engagement at a deeper ap. Its links move clear of the material, and it falls back to rings where the area is too narrow for it.
A finishing pass wraps the tool much further around a wall's inner corner than along a straight wall. Where it wraps more than 1.2 times as far, that part of the wall is cut in steps first (corner_steps, on by default; off when the feature gives its own finish_ap, unless it also gives corner_steps: true; corner_steps: false turns it off).
With rest: true, a pocket clears only what the tools before it left standing: the corners and narrow parts a larger tool could not reach. Studio works out what is left from the earlier pockets in the same program, or from the twin's workpiece when it has one.
A contour (side: outside, inside or on) follows an outline a layer at a time, climb milling. outside and inside offset the outline by the tool's radius; on follows it as it is.
Tabs (tabs: count, width and height) leave short bridges at the bottom, so that a part cut out stays in place. A tab is 1 mm high unless you give its height; where the cut is 1 mm deep or less, it is half the depth high.
A slot (x0, y0, x1, y1, width) is cut with the strategy:
layers (default): the slot's middle at the full tool width in layers, then out to its width on each side;trochoidal: small loops along the slot, each step further on. The tool is engaged over a short arc only, so it can cut deeper in one pass. The slot must be wider than the tool.An end mill does not plunge into solid material. Each layer starts with:
entry);The answer says, for each operation, how it went in first.
Holes at points, depth deep, are drilled with the controller's cycles. A hole deeper than three times the drill's diameter is pecked, 1.5 times the diameter a peck, unless peck gives another. The cycle's retract plane is 1 mm over the top.
A hole of diameter d larger than the end mill is cut round a helix, then finished at size at the bottom. The hole can be at most twice the tool's diameter; larger holes are pocketed (shape: circle).
A reamer (reamer 6 H7) of the hole's fit enters at its feed and leaves at the same feed, with no rapid out of the hole. The hole must be drilled before it in the same job, 0.05–0.6 mm smaller, or marked predrilled. The reamer's speed is a quarter of the end mill's cutting speed for the material, its feed per revolution 2.5 times the drill's.
A thread mill goes down the bore, then cuts the thread from the bottom up round a helix of one pitch a turn: right hand counter-clockwise (climb milling), left hand clockwise. The thread is named (thread: M8, M8x1, 1/4-20 UNC, G1/4) or given by d and pitch. Tapered pipe threads (1/4 NPT, Rc1/4) are cut round their cone, each turn in 48 arcs.
groove cuts a ring groove into a bore's wall (for a circlip or an O-ring, or a light trap) with a T-slot cutter: a disc on a thinner neck. The cutter goes down the bore's centre to the groove, moves out to 0.1 mm from the wall and goes round a full turn (climb milling) for each step into the wall, then comes back to the centre and up. The job gives the groove's diameter d, the bore's diameter bore, the groove's lower edge depth and its height width (by default the disc's thickness; a higher groove is cut in passes from the bottom up). It is refused when the tool in the spindle is not a T-slot cutter, when the disc does not go down the bore with 0.2 mm to spare, when the groove is deeper than the disc reaches past its neck, and when the groove is not larger than the bore.
width. The width is limited by the cone.depth.max_depth flattens wide areas at that depth.To engrave on a curved surface, give surface: the name of a mesh from geometry_import. Each stroke is sampled every 0.2 mm, the tool is set onto the mesh and goes depth below where it touches; on a slope a V-bit touches on the uphill side first, so nowhere is cut deeper than depth. A stroke beyond the mesh is refused.
Perlage, the watchmakers' pattern of overlapping spots, is perlage: an end mill as wide as a spot goes down to depth (0.2 mm at most) at each point of a grid inside an outline, waits dwell seconds (0.2 by default) and lifts 0.3 mm above the face to go to the next. The rows are staggered by half the pitch (by default 0.65 of the tool's diameter), each spot covering part of the one before. margin keeps the spots' centres that far inside the outline.
A mesh is roughed in levels (rough3d), each level cleared adaptively. It is then finished (finish3d) with:
| Strategy | Path |
|---|---|
parallel | Passes in one direction across the part |
waterline | Level contours, for steep walls |
steep_shallow (default) | Waterline on the steep areas, parallel on the shallow ones |
pencil | Along the inner corners, after the others |
rest_from finishes only what an earlier tool left.
Rest roughing: with rest_from (the larger end mill or bull-nose that roughed before, by its specification or its tool number), rough3d cuts only what that tool left, such as the gaps between ribs it could not reach; rest_allowance is the allowance it left (by default this pass's own).
Studio starts from the material's data for the tool's kind: the cutting speed range and the feed per tooth. Values you give in cutting (rpm, feed, ap, ae, finish_ap) are kept as you give them. The other values are set with the twin's models.
The twin's chatter model computes the stability lobes for the tool in its holder: the depth of cut that stays stable at each spindle speed. The lobes lie only where the model of the tool and the machine puts them, so Studio does not aim at a lobe's peak: for each speed it takes the least stable depth within 10 % of it, chooses a speed within 0.7 to 1.8 times the one the material gives, and cuts at most 80 % of that depth.
With verification on, Studio runs the program on a fresh twin. When the run shows chatter, a load too high or a tool deflecting too much, Studio changes the program and tries again:
Each version tried is saved. A long program is tried behind the call, and its report comes later (run_status). The answer says what changed and why.
parallel, rest machining and several setups are in the Maker edition and up; nesting and the program optimizer are in the Pro edition.Past these limits Studio does not write the program. It says why, and what to change.
| What | Limit |
|---|---|
| Setups in a job | 8 |
| Nesting | 16 kinds of part, 200 copies of each |
| A mesh (STL, 3MF, OBJ, glTF) | 5 million triangles; the file up to 1 GB |
| An SVG, DXF or text file | 64 MB; a DXF drawing up to 2 million segments |
| Adaptive clearing | The walk's grid holds about 1.5 million cells. A pocket the size of the MC-1's travel clears with a 3 mm end mill; with a 1 mm one, use rings or zigzag, or a larger stepover. |
A job can have up to 32000 features; holes alike go as one feature with their points. The operation list, the reasons and the closed loop's repairs cover the first 64 features; a later feature that chatters is reported, not repaired. The setup sheet lists the first 64 operations and says so.
The program check and the setup sheet read up to 2 million moves. An arc counts as its short chords: about 50 for a full circle of 3 mm radius, about 220 for one of 50 mm. Past that, they say where they stopped. The setup sheet still gives the whole program's time, but not the operations' times or the tools' heights after that line. The trial run in the twin checks the whole program.
How long Studio takes to write a program, measured on two cores of a desktop PC (the trial run in the twin comes after):
| Job | Time | Memory |
|---|---|---|
| 20 pockets with islands on a 180 x 130 mm plate | under 1 s | 18 MB |
| A pocket the size of the travel, adaptive, 6 mm end mill | 12 s | 47 MB |
| The same with a 3 mm end mill | 37 s | 70 MB |
| 1000 characters engraved | 12 s | 25 MB |
| 200 washers nested on a plate | 5 s | 30 MB |
| 3D roughing of a relief the size of the travel (half a million triangles), 6 mm end mill | 8 min | 240 MB |
| The same relief from 3 million triangles | 20 min | 1 GB |
| 3D parallel finishing of it, 2 mm ball end mill, 0.01 mm scallop (half a million triangles) | 4 min | 270 MB |
| The same from 3 million triangles | 18 min | 1 GB |
For 3D work:
parallel or steep_shallow, not waterline. Waterline makes many small loops there: on the relief above it moved more in the air than in the material, and its program had 2.8 million lines.