M-FAB
Design  ·  Nest  ·  Cut
Untitled
— No material —
Cut Setup
1Operations
2Nest
3Hold Tabs
4Align Marks
5Tool Path
6Torch Height
7Verify & Export
Click any step to jump there. Settings save automatically. Use Exit CAM at the top to return to design.
Tools
My Parts Library
◄ Click Parts ▸ in the sidebar to insert a shape, or Draw ▸ to draw your own  ·  Drag on empty space to box-select  ·  Double-click empty space to deselect
CAM LAYERS
Parts0
Pierces0
Cut Length0"
Rapid Length0"
Est. Time
Material Used
Ready to Cut
Est. Cost
Cursor: 0.000, 0.000 Zoom: 100% Parts: 0 Sheet: 48×96" Snap: ON OSNAP: ENDPT MID CTR Arrow=nudge 1/16"  |  Shift+Arrow=1/4"  |  Ctrl+Z=undo  |  Ctrl+D=dup  |  Del=delete
3D Assembly
Assembly Tools
Click = select part  |  Drag = orbit  |  Scroll = zoom  |  Right-drag = pan
Properties

Add a part from the library, then click it on the canvas to edit dimensions and holes.

PARTS 0
No parts yet. Add some from the library, drawing tools, or AI Designer.
PRESET

Select a step

Click a step on the left to configure it.

Add Single Hole

Pick a standard bolt size or enter a custom diameter, click OK, then click anywhere on the part.

Bolt Size Preset
Hole Diameter

Slotted Hole

A "stadium" hole — rectangle with rounded ends. After clicking Apply you'll click on the part to place it.

Slot Length (overall, in)
Slot Width (in)
Orientation

Slot length is the OVERALL length (centre-to-centre of the round ends + the diameter). Width = diameter of the round ends.

Hole Pattern

Centered on the selected part. Adjust offsets to shift the pattern.

Bolt Size Preset
Hole Diameter
Spacing / Bolt-circle dia
Number of Holes (Row / Bolt circle)
Center offset X
Center offset Y

👋 Welcome to M-FAB — Quick Setup

Tell M-FAB about your machine once so cuts, costs, and the readiness checks match your shop. You can change any of this later in Settings.

UNITS
MACHINE
TABLE SIZE
DEFAULT MATERIAL
Tip: after setup, run a kerf calibration coupon (Settings → Material profile) so M-FAB learns your machine's exact kerf.

Marking / Engrave Setup

How engraved labels are marked on the part. Marks always run before the cuts.

PLASMA MARKING
Dial the amperage down on the cutter for marking. THC is forced off and the torch is held at the mark height so the arc etches without severing.

Smart Holes

Small plasma holes cut rough at full feed. When on, M-FAB auto-applies clean-cut behavior to every round hole below the size threshold — no per-hole fiddling.

WHICH HOLES COUNT AS "SMALL"
A hole is "small" when its diameter is under × thickness (e.g. 1.5× = holes under 1.5 plate thicknesses). Set a fixed diameter to override that rule.
CUT BEHAVIOR
THC lock uses M66 (only when THC is in Auto mode) and is off by default until you've confirmed M66 runs on your CNC12 — a few installs reject it (error 503). Smart Holes still does feed + arc lead-in without it.
OR SKIP CUTTING ENTIRELY

Sheet & Remnants

Pick a sheet size, see how much of it you're using, and reuse your offcuts. Remnants are saved on this computer.

Smart Part Labels

Auto-mark every part with a label that scribes / etches before the cuts. Tick what to include — each line stacks on the part centre.

Labels mark in the bundled stencil font (uppercase). Configure plasma vs scribe in ⚙ Marking / engrave setup.

Machine & Sheet Settings

Saved with every project. Controls G-code output and canvas size.

SHEET SIZE
MATERIAL PROFILE
MACHINE
🛠️
Machine Setup
Re-run the quick setup: units, table size, controller, plasma cutter, THC, and default material.
PROJECT NOTES
💾
Backup & Restore Settings
Save your machine settings, materials, and calibration history to a file — or restore from one.
🧪
Self-Tests — geometry & G-code
Verify kerf side, cut order, arcs, and Centroid output. Runs in a sandbox — your project isn't touched.

Grid Settings

How the canvas grid behaves. Auto adjusts the line density with zoom; Manual locks in a fixed spacing.

Major spacing (inches)
Subdivisions (minor lines per major)

Tip: The grid snap (1/16") is independent of these display settings — change it in the status bar.

Display Sizes

Adjust the text size of each UI region independently. Changes apply live as you click + / − and persist next time you open the app.

Properties panel (right side)
px
Sidebar (Tools + Parts Library)
px
Top toolbars (buttons + labels)
px
Status bar + canvas hint
px

Tip: Defaults are 12 / 12 / 12 / 11 px. The Reset button restores those.

Rotate Selected Part(s)

Rotation is around the bounding-box center of all selected parts. When multiple parts are selected, they orbit the group center together (like a CAD app). Each shape converts to a custom outline.

Custom Angle (degrees)

Scale Selected Part

Multiplies all dimensions. 1.0 = same size, 0.5 = half, 2.0 = double.

X Scale factor
Y Scale factor

Array Selected Part

Create evenly-spaced copies in a grid or around a circle.

Columns (X count)
Rows (Y count)
X spacing (in)
Y spacing (in)

Align to Sheet

Snap the selected part to a location on the sheet.

Margin from edge (in)

Export G-code

Generate a CNC12-ready .nc file for your active material.

Active Material
Estimated Cut Time
—:—
Calculating…
Path Stats
Calculating…
Rapid speed (G0):
ipm
Pre-flight Checks
Checking…

Cut Text

Convert text into plasma-cuttable letters. Stencil fonts are recommended — they have built-in bridges so the insides of letters like O, A, D won't drop out.

Text
Font
Letter Height (in)
Letter Spacing (in)
Curve Smoothness

Cross-Lap Joint

Two slot lines captured — about to cut both plates.

Slot Width (mating plate thickness)

Each plate gets a slot the width of the OTHER plate's thickness. The two plates can then slide together at the slot line so they interlock at a right angle — perfect for X-supports, dividers, and stands.

T-Joint Slot

Slot will be cut where you drew the line.

Slot Width (mating part thickness)
TAB STYLE

Tip: "End Tabs" leaves a small tab at each end of the mating part's edge. "Multi-Tab" alternates tabs and gaps along the length — great for stronger T-joints. Slot width should equal the thickness of the part going through.

Pattern Tracer

Snap a phone photo of your cardboard pattern on a known grid (cutting mat, graph paper, etc.). The app will convert it to a cuttable shape.

Step 1 — Upload Photo(s)
Click here or drag up to 4 photos
JPG, PNG, HEIC. Top-down photos work best.
Step 2 — Grid Calibration
Grid spacing
Calibrate scale: Click on the photo at two points that you know the distance between (typically two grid intersections one square apart). The app will use that to compute pixels-per-inch.
No photo selected yet.
Step 3 — Outline Detection
Pattern contrast
Threshold 128
Slide the threshold until the cyan outline traces your cardboard. Lower = picks up darker pixels, higher = lighter pixels. If nothing or too much gets detected, try the other contrast mode.
Calibrate the photo first, then click Detect Outline.

AI Designer

Describe the part you want, drop reference photos, optionally use your current canvas as a starting point. AI returns SVG path data, which drops onto your sheet as an editable shape.

Step 1 — Describe the part
Tip: include dimensions in inches, hole sizes, material thickness, and any fillets/corners. Be specific.
Step 2 — Reference photos (optional, up to 3)
Click or drag up to 3 photos here
Reference sketches, similar parts, photos of what you want
Step 3 — Use current canvas as starting point (optional)
Use this for "finish this design" or "add features to this part" type requests. The AI gets both a snapshot image of your sheet AND the underlying coordinate data.
Step 4 — Generate
Clipboard flow: Click "Copy Prompt", paste into Claude.ai (attach reference images there too), then paste the AI's SVG response below.
Awaiting input.

Auto-Nest Parts

Rearranges your parts on the sheet to minimize material waste. The algorithm tries different rotations and finds the tightest packing. Original part positions are saved so you can undo.

Nest which parts?
Spacing between parts (in)
Margin from sheet edge (in)

Tip: Parts with bend lines, text engraving, or hole patterns that must face a specific way: select the part, then in the Properties panel check Lock orientation so the nester won't rotate it.

Hold Tabs

Tiny bridges that keep each cut part attached to the parent sheet so it doesn't fall through the slats while cutting. The torch lifts briefly at each tab. Snip them off later with a grinder.

Tabs per part
Tab width (in)
Apply to

Tip: Auto-placed tabs go on the bottom half of each part so the part doesn't tip after the cut completes. You can also click anywhere on a cut path (with the Tool Path preview open) to add a custom tab, or right-click an existing tab to remove it. (Click-to-place ships in Phase 16C.)

Alignment Marks

Small + crosses scribed at user-picked positions before the main cuts. Drop them at the corners of where your tubing or plate should sit. Run the program; if the marks land on the stock as expected, your alignment is good. If not, hit pause, nudge the stock, and resume.

Cross size (half-arm)in (a 0.20" arm = 0.40" total)

Tip: Place 2-4 marks at the corners of where your stock should sit. After the marks are scribed the program pauses (if enabled) so you can compare the marks to your tube edges. If misaligned, adjust the stock and continue — the real cuts run AFTER you press cycle-start.

OFFLINE Looking for the bridge…
0/90PSI
Job Console
Status
Cut Info
ProgramJob: —
LineLine —
Position
X
in
Y
in
Z
in
Preview / DXF
path —
Machine
Jog / Manual
Step
Jog moves immediately — no Cycle Start. One press = one step.
Plasma Control
THC volts
— ipmfeed
OFFfeed hold
Feed Override
Advanced — homing, probe, MDI, bridge
HOMING
TOUCH-OFF PROBE (experimental)
STEP SAFE-Z (optional)
If set, BACK / FWD raise Z to this work height before the X/Y move.
MDI COMMAND
BRIDGE
Same PC: http://localhost:8787 — separate design PC: http://<machine-pc-ip>:8787
RELAYS (power on / off via WiFi)
Machine
Air-filter fan
Air
AIR PRESSURE SENSOR (live PSI readout)
Job Console flags out-of-range air
Reads PSI from a sensor over the network. Plain-number or JSON response; the endpoint must send an Access-Control-Allow-Origin header so the page can read it.
Switches mains power via relays. The machine relay is NOT an E-stop — keep your physical E-stop wired.

Bend Calibration — your press brake

Textbook K-factors get close; your brake, die, and steel decide the truth. Cut a strip, bend it at the nick marks, measure, and every future bend uses YOUR number.

Material:
STEP 1 · CUT A TEST STRIP
Strip flat length (in)
Strip width (in)
Inside bend radius to test (in)

Generates bend_calibration.nc — a strip with a tiny nick on each edge at the centerline. Cut it, then bend 90° exactly at the nicks.

SAVED CALIBRATIONS

Fold Designer

Design the FINISHED bent part: legs + bend angles, like bending a piece of wire. Watch it fold in 3D, then generate the exact flat pattern with bend lines — deductions included.

LEGS — OUTSIDE DIMENSIONS
Angles are the included angle between legs (90° = square corner). ▲/▼ flips which way the bend goes.
SIDE PROFILE
FOLDED PREVIEW — drag to spin

Calibrate Kerf ·

The kerf is the actual width of metal removed by your plasma cut. It varies by amperage, feed rate, torch height, and consumable wear. Calibrating tunes the program to YOUR machine so cut parts come out to exact dimensions.

STEP 1 · GENERATE THE TEST CUT
The program will create kerf_calibration.nc — a 2"×2" outer square with a 1" round hole. Current settings used:
  • Current kerf:
  • Feed rate:
  • Pierce delay:
  • THC:
CALIBRATION HISTORY

Through-Bolt Hole

Drills a matched hole on each of the two flanges of a bent part so a bolt can pass through both sides after bending. The part must have at least two parallel bends (a U-shape, for example).

Hole Diameter
Distance from base (in)
Position along bend (in)

Tip: Distance from base is how high above the workbench the bolt will sit after the part is bent. The tool finds the part's two parallel bend lines and drops matched holes on each flange so they line up.

Fillet / Chamfer Corners

Rounds every sharp corner of the selected part (Fillet) or cuts a straight bevel across each (Chamfer). Use this to remove stress concentrations and snag hazards. The maximum size is automatically clamped so corners don't overlap.

Radius / Bevel Size (in)

Offset Outline

Makes a new version of the outline, grown or shrunk by the given distance. A negative value also works (flips direction).

Offset Distance (in)

Settings — Backup & Restore

Save your machine settings, material library, calibration history, CAM presets, and UI preferences to a single .ppb-settings.json file you can stash in OneDrive, copy to another computer, or share with a friend who has the same plasma cutter.

Currently in your settings:
Export Settings
Pick what to include, then save the file.
Import Settings
Restore from a .ppb-settings.json file. You'll be asked to confirm before anything is overwritten.

Reference Image

Loads a picture as a background layer that sits behind your parts. Use the Polyline or Arc tools on the left panel to trace over it. The image is not cut — it's only a reference. Coming next: PDF support, on-canvas drag-to-position handles, rotation, and click-two-points calibration.

Accepts PNG, JPG, GIF, BMP, WebP, and PDF (page 1 is used). After loading, you'll be able to set its real-world size and opacity.

Set Known Distance

You clicked two points on the image. They're currently apart on the canvas. What's the real-world distance between them?

Real distance

Shape · Quick-edit