Laser Control
The direct control surface for your laser — from connection to finished job.
Laser Control is Vextrify's full control surface for GRBL diode lasers and CO2/Ruida machines: connect, create and edit objects, align to the real workpiece with the camera, set per-layer parameters, run the job, and have everything saved durably. This reference describes every visible area and control using the same names you see in the app — from the toolbar to rotary engraving.
Connecting to the machine only happens in the desktop app. Which machine TYPE (GRBL diode, CO2/Ruida, Galvo, Demo) is addressed is set in the device profile, not here.
- ⚡ Connect · {Port}
- One-click connect to the best detected laser port — the app suggests the most likely port automatically.
- Disconnect
- Ends the active connection to the machine.
- Port selector · ▾ Choose another laser
- Shows a list of plausible ports when several are possible. Non-laser ports are filtered out automatically.
- ⟳ Search for laser
- Re-scans available ports, e.g. after plugging in a new device.
- Auto-Connect
- A recognised laser automatically opens its own tab and loads its saved profile when plugged in — shown as a "Laser detected" message.
Today you manage several lasers as tabs — each with its own profile, calibration, and job, with per-laser locks so one tab never blocks another. There is one active machine connection at a time, though. Running multiple lasers firing simultaneously is on the roadmap, not shipped yet.
- Laser tab
- Switches the active machine profile. Double-click the tab to rename it.
- × Close tab
- Closes this laser's tab (the saved profile is kept).
- + Open/add laser
- Opens a dropdown of saved lasers plus "New laser …", which launches the Add-Laser wizard.
- Undo
- Reverts the last edit.
- Redo
- Restores an undone edit.
- Zoom out / 100% / Zoom in
- Controls the canvas zoom level.
- Preview
- Opens the preview/timeline with time estimate and mini-simulation.
- File menu
- Open (⌘O), Save (⌘S), Download project (.vextrify), Open project (.vextrify)."Export .rd file (USB)" only appears for Ruida devices.
- Edit menu
- Copy, Paste, Delete the current selection.
- View menu
- Hand/Pan, Wheel Zoom, Zoom to selection, Fit Output, Fit Bed, Reset view.
- Device menu
- Add laser, Search, Add manually, Import, Camera, Device Settings.
- Overflow ⋯ → Customize toolbar
- Three checkboxes show/hide groups: Device actions, File-edit, View-zoom.
- Overflow ⋯ → Settings
- Opens the Settings dialog.
- Select
- Selects and moves objects on the canvas.
- Node
- Edits individual anchor points of a vector path.Needs an editable vector path.
- Line
- Draws a straight line.
- Rect
- Draws a rectangle.
- Ellipse
- Draws an ellipse/circle.
- Text
- Inserts a text object.
- Image
- Opens a file picker to insert an image.
- SVG
- Opens a file picker to insert an SVG file.
- QR/Barcode
- Opens the QR/Barcode flyout: type (QR or Code39), content, size/height in mm, margin/quiet zone, insert button.
- Measure
- Measures distances and dimensions on the canvas.
- Weld
- Merges two or more selected paths into one.Needs at least 2 objects.
- Subtract
- Subtracts one path from another.
- Intersect
- Keeps only the overlapping area of the selection.
- Split
- Splits a combined path into its sub-paths.
- Cut line
- Creates a dividing line across the selection.
- Array
- Duplicates the selection in a grid or circular pattern.
- Tabs
- Adds holding tabs along a cut path.
- Frame
- Creates a frame around the selection.Needs a closed path.
- Camera marker
- Places a camera reference marker on the canvas.
- Move to selection
- not yet unlocked (controller-gated)The feature is built but currently locked.
The context ribbon appears once an object is selected and is organised into tabs: Transform, Image, Text, Shape, Arrange.
- Transform
- X/Y position, width/height in mm, lock aspect ratio, rotate (degrees), flip horizontal/vertical, lock, group/ungroup, align.
- Image
- Dot pattern/dither, threshold, engraving speed, min/max power, DPI↔line interval, contrast, invert, air on/off, bind recipe.Handoff buttons: Edit opens Photo Studio, SVG opens the trace/vectorize tool, plus Outline and Crop/mask.
- Text
- Text content, font, import custom font, font size in mm, letter spacing, line height, alignment, text output (fill/line/both), outline width, on path, connecting bridge (joins letters for cut-outs).
- Shape
- Corner radius, convert to path.
- Arrange
- Offset outward/inward with distance, array (grid or circular), tabs (count + width), split angle (0/45/90°), duplicate (5×/10×/20×).
- Object right-click menu
- Photo Studio, AI Studio, Upscale, Remove background, Relief Studio, Create contour, Vectorize, Mask, Convert to path, Edit nodes, Duplicate, Lock, Delete.
- Drag/resize/rotate handles
- Move, scale, and rotate the selected object directly on the canvas.
- Marquee select
- Selects multiple objects by dragging a box.
- Hand-pan
- Pans the visible canvas area.
- Wheel-zoom
- Zooms the view via the mouse wheel.
- Rulers/grid/center mark
- Show measurement aids for orientation on the canvas.
- Camera overlay
- Overlays the live camera feed onto the canvas, warped to the material via homography.
- Coordinates / units (mm or inch)
- The coordinate display follows the machine origin; units are switchable.
- Layer palette
- Numbered colour layers (like LightBurn, 01–…) plus tool layers T1/T2. Click sets the active layer.
- Bed footer metrics
- Shows Job/Frame/Transfer/Estimate plus status tiles Origin/Camera/Output/Selection and an out-of-bounds warning.
Right dock "Cuts" — a table with one row per layer.
- Mode
- Line, Fill, or Guide; image layers show the mode locked to "Image".
- Speed (mm/s)
- Sets how fast the head moves for this layer.No default value — the right value depends on material and is found by running a test.
- Power
- Sets the laser power for this layer.Ruida shows separate min + max, GRBL a single value. No default value — find it by testing.
- Passes
- Number of repeats (passes) for this layer.
- Interval (mm) + computed DPI
- Sets the line spacing in fill mode; DPI is computed automatically from it.
- Out
- Toggles whether this layer is output (run) at all.
- Show
- Toggles whether the layer is visible on the canvas.
- Air
- Toggles air assist for this layer.
All run controls here need a connected controller.
- Send (GRBL)
- Streams the prepared job directly to the machine.
- Start (Ruida)
- Runs the job live and immediately — engraves right away, nothing is stored.
- Send to laser (Ruida)
- Stores the job under a name (max 8 uppercase characters) in controller memory. The laser does not start — the operator starts it at the machine's panel.
- Pause
- Pauses the running job.
- Resume
- Continues a paused job.
- Stop
- Cancels the running job.
- Live job status & progress bar
- Shows whether a dry-run/preview is running or an actual engrave, including elapsed and remaining time.
- Blocked reasons
- Explains why nothing can start right now: not connected, no geometry on an output layer, the active device is not a GRBL profile, or an image sits on a non-output layer.
Laser dock — sets where the job starts on the machine.
- Start from
- Chooses the reference point for the job: Absolute coordinates, Current position, User origin, or Selection origin.
- 3×3 job-origin anchor grid
- Selects the job's anchor point (top-left … bottom-right) relative to the reference point.
- Selected graphics only
- Limits the job to the currently selected objects instead of the entire canvas.
- Start homing
- Triggers homing via $H for GRBL.Self-homing controllers show a "Self-Home" note instead.
Move dock — movement is always laser-off and needs a connection.
- Jog step size (mm)
- Sets how far a single jog step moves.
- X±/Y± D-pad
- Moves the head step-by-step in the chosen direction.
- Frame
- Runs the outline of the job without engraving.
- Go Origin
- Moves to the configured job origin.
- Home
- Moves the machine to its home position.
- Snap
- Grid snap on/off with adjustable spacing in mm; snapping to edges, centers, nodes, or the zero point.
- Align
- Aligns left/center X/right and top/center Y/bottom.Needs at least 2 selected objects.
- Distribute X/Y
- Distributes the selection evenly in X or Y.Needs at least 3 selected objects.
The native camera feed and calibration only run in the desktop app; the browser build degrades this functionality.
- Show overlay
- Toggles the camera overlay on the canvas.
- Start camera / Stop
- Starts or stops the live camera stream.
- Digital zoom/pan
- Zooms and pans the displayed camera image digitally.
- Capture still
- Freezes the current camera image as a still.
- Camera selector + Search cameras
- Selects a connected camera or scans for new ones.
- Bind this / Unbind
- Permanently associates a camera with this laser, or removes that binding.
- Background opacity
- Controls the transparency of the camera background image.
- Calibrate lens
- Starts the lens calibration wizard: print/save the ArUco calibration board, capture at least N of 9 positions (use the jog pad to move the head out of frame), then "Calculate" — shows the reprojection error.
- Align artboard
- Engraves a low-power marker pattern, captures a still, you click the 9 marks — solves the homography and shows "Alignment solved · error … mm".
- Update / capture background image
- Refreshes or captures the background image used for the overlay.
- Export
- Exports the current camera/background image.
- Clear image
- Removes the currently stored background image.
Material dock.
- Active recipe summary
- Shows the currently assigned recipe, including a compatibility warning if it doesn't match the machine.
- Assign
- Assigns a saved recipe to the current layer/job.
- Save
- Saves the current parameters as a new recipe.
- Material Test
- Creates a real test object on the canvas to help find the right settings.No values are pre-filled — the result depends on the material.
- Interval Test
- Creates a real test object to determine the right line interval/DPI.
- Import
- Imports recipes from outside, including a conflict list for name clashes.
- Photo Note
- Attaches a production note with a photo to the recipe.
Queue dock.
- Estimated total time + pure engrave time
- Shows the calculated total job time and the share that is pure engraving time. This is an internal calculation/estimate, not artificial intelligence.
- Mini-simulation play/pause
- Plays a live simulation of the job's run order.
- Speed 2×–32×
- Controls the playback speed of the simulation.
- Travel-move toggle
- Shows or hides travel moves in the simulation.
- Time-split bar
- Visualises the time share of pure engraving, acceleration overhead, and travel moves.
- Speed-vs-time "optimum" hint
- Shows a calculated hint for where speed-versus-time is most favourable.
- Per-layer job manifest
- Lists the parameters for every layer in this job.
- CSV / Variable / Expand / Proof
- Variable-data tools: CSV import, variable fields, Expand to preview every variant, Proof to run a single variant.
- Serial-number generator
- Generates sequential serial numbers for variable jobs.
- Date generator
- Generates date values for variable jobs.
- CSV column picker
- Chooses which CSV column maps to which text field.
Device dock.
- Output release
- The safety gate before real firing: a locked profile shows "⚠ Output locked — release"; after confirming, it shows "✓ Output released · laser can fire" with a "Lock" option.
- Device editor
- Device name, controller (GRBL / Ruida CO2 / Galvo / No Output), origin (front/back, left/right), width/height, camera, connection (Serial-USB/Ethernet/USB-Controller/File transfer/No output), homing (before each job/on connect/manual/not supported), power scale S-Max.
- Machine limits · safety
- Max mm/s, acceleration in mm/s², min/max %, scan offset in mm, "Hard-enforce limits".Ruida only: "Read from controller" — reads bed and limits directly, no motion involved.
- Device list
- Add, search, add manually, import, export, edit, set as default, remove.
- Artboard from machine
- Syncs the canvas with the machine dimensions and checks for mismatches.
Settings dialog, organised into tabs.
- Editor
- Switch to select after drawing, mouse-wheel zoom + direction, hand/pan behavior.
- Units & grid
- mm/inch selector, grid spacing, snap targets, nudge step sizes for arrow/shift/alt.
- Display
- Rulers, 10 mm grid, center mark, camera overlay on/off.
- Import/export
- Bed-change scaling: keep mm, fit selection, or fit job.DXF import and SVG DPI detection are still coming — not yet available.
- Camera
- Preview frame rate (fps), overlay tint (full colour/black and white).
- Download project (.vextrify)
- Saves a portable, editable project file containing objects, layers, and layer parameters.
- Open project (.vextrify)
- Loads a previously exported .vextrify project.
- Durable auto-save
- Settings, device profiles, material recipes, lens calibration, camera binding, auto-connect ports, and rotary configuration are all saved durably and restored on launch — they survive reinstall and an OS reset.
- Storage warning
- Shows "Project too large for local storage — please export" when local storage overflows.
Hardware-gated — only visible/active with a connected rotary axis.
- Enable
- Turns on rotary mode for this job.
- Connection
- Chooses whether the rotary axis replaces the Y axis or runs as its own A axis.
- Type
- Chooses between a roller or chuck setup.
- Object diameter
- Enter the workpiece diameter; circumference is computed from it.
- Mirror output (rotary)
- Mirrors the output for the rotary setup.
- Roller diameter
- Enter the drive roller diameter.
- mm per revolution
- Calibration value for converting rotation to feed distance accurately.
- Test · one revolution
- Runs a single test revolution to check calibration.
| GRBL | CO2 / Ruida | |
|---|---|---|
| Send job | Send (streamed) | Start (live) + Send to laser (storage) |
| .rd export | — | File export (USB stick) |
| Power per layer | single value | min + max |
| Homing | $H | often self-homes on power-up |
| Read controller | — | Read from controller (bed & limits) |
- Always run a Frame pass first — it takes seconds and prevents misplacement.
- Lens calibration survives a reinstall; after moving the camera, only the artboard homography needs to be re-solved, not the lens parameters.
- Each laser tab is independent: its own profile, calibration, and job — locks never apply across tabs.
- On Ruida, "Start" runs the job live immediately, while "Send to laser" only stores it — the laser only fires once someone starts it at the panel.
- The time-split view in the preview shows where you're losing time to travel moves versus engraving, so you can reorder objects to save time.
- Export clean .rd, LightBurn, or EZCAD files when a job needs to run on a different machine.