Quick answers to the questions and problems users hit most often. Looking for step-by-step fixes? See Fixing common problems in the guide.
No questions match your search. Try fewer words, or ask on GitHub.
A macOS menu-bar app suite for designing and printing wrap-around wire/cable labels, originally built to print Brady M610/M611 labels directly from Vectorworks ConnectCAD circuit exports. It now also supports custom designs and printing from your own CSV/XLSX data.
The four apps split responsibilities so only one privileged piece talks to the printer. VectorLabel Engine is the menu-bar hub that owns the USB printer and prints; Auto Print watches your export folder and shows the print window; Template Designer and Custom Designer create labels. They coordinate through a shared queue/status folder, and the designers/Auto Print auto-start the Engine when needed.
macOS 14 (Sonoma) or newer, on an Apple Silicon Mac (the apps are arm64-only). The installer still lets you continue on an older macOS but warns it may not work correctly. No extra software is required for end users — the USB library (libusb) is bundled inside the app.
Download the latest signed release from the Downloads page and run the guided .pkg installer, which installs all four apps. Then launch VectorLabel Engine to get the menu-bar icon.
On first launch, VectorLabel's setup screen — the same screen that offers supply groups — lets you choose which sample (starter) templates to install into your Templates folder. The sample templates are now built into the app itself; the installer no longer copies them (earlier versions' .pkg did), so they come from the app on first launch instead.
The Engine checks GitHub for new VectorLabel releases. On first launch it asks how often to check — on every launch, every N days (the pre-selected default, every 7 days), or manually only — and you can change that any time in Preferences → Updates. When a newer version is found, a popup lists the changes between your installed version and the new one — every version in between, pulled from the project changelog — and offers 'Update Now' (downloads the installer to ~/Downloads and opens it), 'Remind Me Tomorrow', and 'Don't Update' (skips that version only; a newer release prompts again). Preferences → Updates also has a 'Check for Updates Now' button and shows the same what's-changed list with its own Update Now button, and the menu bar has a 'Check for Updates…' row.
Yes. Turn on the launch-at-login toggle in Preferences ▸ Advanced ▸ App Behaviour and the Engine (the menu-bar app) starts every time you log in to your Mac. macOS may ask you to approve it under System Settings ▸ General ▸ Login Items.
Vectorworks shows one menu item per command plug-in, so VectorLabel ships two: 'Export Selected Circuits to VectorLabel' (exports only your current selection) and 'Export All Circuits to VectorLabel' (exports every ConnectCAD circuit on the active design layer, ignoring the selection). Install each by pasting its script (export_selected.py / export_all.py) into its own New Command in the Plug-in Manager.
The Template Designer builds REUSABLE, data-bound templates (.vltmp) that the Print window later fills from your wire data and prints in bulk. The Custom Designer makes ONE-OFF labels (.vlcus), can bind its own CSV/Excel data, and prints directly from its own window. The canvas and editing tools are identical; the Custom Designer adds a print header and a Database pane.
Right-click (Control-click) the app or .pkg in Finder and choose Open, then confirm Open in the dialog. That's the one-time override a double-click doesn't give you. If it's still blocked, go to System Settings → Privacy & Security and click 'Open Anyway'. Official notarized releases from the GitHub Releases page should open normally; if a notarized release is blocked, re-download it (a partial download breaks the signature).
No. Released apps bundle libusb inside, so end users just install the signed .dmg/.pkg. Homebrew (libusb + pkg-config) is only needed if you're building the app yourself from source in Xcode.
No — it's macOS only. It's built as native macOS apps and uses macOS USB facilities to reach the printers. There is no Windows or Linux version.
The Engine (the background app that does the printing and watching) puts an icon in the top-right menu bar. If it's missing, the Engine isn't running — launch VectorLabel. A crowded menu bar can also push the icon off-screen; launching VectorLabel a second time is designed to surface the Preferences window so you still have a way in. Reaching Preferences also re-parks a usable on-screen window.
It re-reads the supply loaded in that printer on demand — the same action as the print window's "Detect supply" button — and shows a spinner while it runs. Each printer row in the Engine's menu-bar popover has one. It's hidden for offline printers, and it politely declines while that printer is mid-print.
The Engine (menu-bar app) owns the printers and does all printing. Auto Print is the print window that opens for exports. Template Designer and Custom Designer build label layouts. The designers and print window hand jobs to the Engine — if the Engine isn't running, nothing prints.
Launching the sibling designer apps only works when you've installed the full packaged suite (the .pkg/.dmg). If you're running a single dev build, the launcher has nothing to open. Install the full suite release.
The export is silent on success (no confirmation dialog), so it may have worked even if you saw nothing. Check ~/Documents/VectorLabel/Exports/<YourVWFileName>/ for a new dated CSV. For the print window to auto-open you need the Engine running and Preferences → Export → 'Auto-open print window when export is detected' turned on, with the Watch Folder pointing at the same place the scripts write (default ~/Documents/VectorLabel).
The 'Export Selected' command needs ConnectCAD circuits selected first; 'No objects selected' means nothing was selected, and 'No ConnectCAD circuits found in selection' means you selected non-circuit objects (the count of skipped objects is shown). 'Export All' ignores selection but only exports circuits on the ACTIVE design layer — make sure you're on the right layer.
The 'Export All' command only looks at the active design layer — circuits on other layers are excluded. Also, only objects the script recognizes as ConnectCAD circuits are exported; other objects are skipped (the skip count is shown). And old exports are auto-pruned (default keep-15 per project), so a missing older file may simply have been pruned.
By design. A successful export is silent — no dialog in Vectorworks. The confirmation you're looking for is the VectorLabel print window opening on your Mac. Vectorworks only shows an alert when there's a problem (nothing selected, or no circuits found).
No. It exports only the ConnectCAD circuits on the ACTIVE design layer. Switch to the layer you want before running it. To pull from multiple layers, run it once per layer (or select across layers and use 'Export Selected').
Drag a box (marquee) around them on the canvas, or Shift-click / Cmd-click them in the Objects list. Hold Shift, Cmd, or Ctrl while dragging the marquee to ADD to the current selection. Arrow keys nudge the whole selection; Delete removes it.
It rotates the design canvas 90 degrees so you can lay the label out in the other orientation. For continuous tape it swaps landscape and portrait; for die-cut it shows a portrait canvas while the printer keeps the physical label size and rotates your design onto it. Brady printing now auto-orients die-cut designs to the loaded cassette (see "Do labels automatically print the right way round?" under Printing), so this button is the manual override for when you want something different. The rotation is saved with the label.
Those hatched strips are the printer's unprintable margins, and they appear in the designers only — the print window's preview shows just the printable area (with a note when its dimensions come from the loaded cassette). The white canvas is still exactly the printable area; the hatching sits outside it, and the dashed outline is the physical edge of the label or tape. The Custom Designer follows the selected live printer (a loaded cassette that reports its printable area, like the M611's, overrides the built-in tables). In the Template Designer, pick the target model in the "⎙ Printer" dropdown next to the Supply button — "None" hides the overlay, and the choice is saved with the template. The "▧ Margins" button next to the grid controls hides or shows the overlay; it's remembered between sessions.
The overlay live in the real designer: the white canvas is the wrap's printable panel; the hatching is the rest of the physical label.
Yes. From either designer's "Open…" dialog, pick a Brady ".BWT" or Brother P-touch ".lbx" file and it is auto-converted into a new VectorLabel design that opens in its own new tab — your current label is left untouched. The converters decode a subset of objects (text, geometry, and for Brother also barcodes and lines); anything not converted is listed in an "Import note". A Brady file with no readable text fields won't import.
Yes. When you open a Brady ".BWT" or Brother ".lbx" file, VectorLabel matches it to a catalog supply automatically — a Brady label to the Brady M6 supply group (by part number, then by size) and a Brother label to the Brother P-touch tape group (by tape width) — so it opens at the right size and orientation. If it can't confidently match, the supply picker opens showing the imported label's dimensions and asks you to choose which supply it should print on.
Yes — the designers and the Print window are tabbed. Click the + on the tab bar for a new document; opening or importing a file opens it in its own new tab without disturbing what you already have. Opening a file that's already open doesn't make a duplicate — the window just switches to its existing tab (in the Print window, a re-export or Reprint of an already-open data file lands on its tab and refreshes it). Each tab keeps its own canvas, selection, zoom, undo history and bound data. A dot (•) before a tab name means it has unsaved changes, and ‹ › arrows appear at the ends of the bar when there are more tabs than fit. In the Print window, each Vectorworks export arrives as its own tab.
The importers are reverse-engineered and decode only some object types. Brady .BWT recovers text and geometry but reports barcodes/images/shapes as warnings; Brother .lbx recovers text, barcodes, and lines but reports images/groups/unsupported barcodes. Check the "Import note" dialog after importing for the list of items that need attention.
Yes. The shapes toolbar now has a triangle and a polygon (3–12 sides) alongside the rectangle, ellipse, and circle. A rectangle has a corner-radius setting for rounded corners, and rectangle / ellipse / circle / triangle / polygon each have a solid-fill option. They move, resize, and rotate like every other object. Brother P-touch imports now bring rectangles, rounded rectangles, ellipses, and polygons across instead of dropping them.
Give a text object, barcode, or table cell a source of "Date/Time" — the same place you'd pick a data field — then choose a format from the presets. It renders the current date and/or time at print time. Formats include separator-less numeric ones — YYYYMMDD (20260704), MMDDYYYY (07042026), DDMMYYYY (04072026) — plus MM/DD/YYYY, YYYY-MM-DD, "Mon DD, YYYY", and several time formats.
Turn on the text object's auto-scale in the designer so long values shrink to fit a single line — with auto-scale on, the whole value always fits and is never truncated with a "…". Or turn on word-wrap to flow onto multiple lines, turn on both (the text wraps and shrinks until every wrapped line fits), or make the text box wider. Only with auto-scale and wrap both off is overflowing text clipped with an ellipsis. On continuous tape you can instead lengthen the label with the designer's 'fit length to content' action.
Yes. With both turned on, the text wraps onto multiple lines and shrinks to the largest size at which every wrapped line fits the box — so long values stay readable instead of being clipped. The designer canvas, the print preview, and the printed label all agree on the result.
A template's size comes from the supply it's assigned to. Check which part number it points at (and that part's printable dimensions in Edit Supplies). Continuous supplies use the template's chosen printed length; die-cut supplies use a fixed height from the catalog — so the template is probably assigned to a different or edited supply than you expect. Reassign it to the correct supply.
Per cable end: device name and tag, socket name/tag/signal, connector, room, rack and rack U, plus the other end's device/socket/connector. Per circuit: number, cable, signal, circuit count, cable length (entered and calculated), number display, cable type, cable outside diameter, and circuit type. Each circuit produces a Source row and a Destination row.
Each circuit is exported as a Source row and a Destination row (marked in the _Side column), because a wrap label is usually applied near each end of the cable, and each end shows its own device/socket/connector plus a reference to the other end.
Select the text box, click "Field" under "Text source", and pick the column from the dropdown — or drag a column header from the Records panel (Template Designer) or Database pane (Custom Designer) onto the text box. For computed values, choose "Formula" and write an expression starting with "=" (functions include IF, LEFT, RIGHT, MID, LEN, UPPER, LOWER, TRIM).
Use the Custom Designer. In the bottom "Database" pane click "Choose data file…" and pick a CSV or Excel (.xlsx) file, bind canvas fields to columns, then use the print header's "Print" control (All / Selected / Range) to choose rows and Print. It prints one label per row.
Select the text box and click Field, then pick the data column from the drop-down. The box will show that column's value and change for every label. The fastest way is to drag the column header from the Records panel (or Database pane in the Custom designer) straight onto the label — drop it on an existing box to bind it, or on an empty spot to create a new field-bound box.
In the Custom Designer, open the bound data file's dropdown (the file-name button in the Database toolbar) and turn on Auto-sync. The bound data then reloads automatically whenever that file changes on disk — no manual refresh. While auto-sync is on, in-app editing of the data is hidden so an edit can't be overwritten mid-sync; the toolbar shows an "Auto-sync enabled · editing disabled — click to disable" button. A one-time "Refresh from source" reload lives in the same dropdown menu.
The Custom Designer's "first row is headers" tick is now a tick plus a row number (default 1). Set the number to the row that actually holds your column names — say 10 — and everything above it is hidden. Works for both CSV and Excel files.
In the Custom Designer, when you bind an .xlsx workbook that has more than one worksheet (tab), a picker asks which worksheet to use as the print data — instead of silently taking the first sheet. To change it later, open the data-file button's dropdown in the Database toolbar and choose "Redefine tab…" to reopen the same picker. The chosen tab is saved in the .vlcus document, so reopening the label and "Refresh from source" both re-read the same worksheet. Single-sheet workbooks and CSV files behave exactly as before — no picker.
The bound data file is a menu button in the Database toolbar: it shows the file name with a dropdown to Replace the file, Export the current data, or Clear the binding, plus "Refresh from source" and "Auto-sync". The toolbar wraps neatly when the window is narrow.
Exactly eight: IF, LEFT, RIGHT, MID, LEN, UPPER, LOWER, and TRIM. Plus the operators & (join text), = (equals), <> (not equal), parentheses for grouping, and quoted "text". There is no arithmetic, no CONCATENATE, no FIND/SUBSTITUTE, and no number formatting.
Two common causes: the formula doesn't start with = (so it's treated as literal text — but if it looks blank, the result evaluated to empty), or there's a syntax error (errors render as an empty string rather than a message). Open the Formula editor (Editor ⤢) and watch the Live preview while stepping through records to see what's happening.
Use =IF(Number<>"",Number&IF(Cable<>""," - "&Cable,""),IF(Cable<>"",Cable,"")). This prints "N044 - RIO 1 PRI" when both exist, just the number or just the name when only one exists, and nothing when both are empty. This is the exact formula used in the built-in template.
QR Code, Data Matrix, Aztec Code, PDF417, Micro QR, Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Interleaved 2 of 5, and Codabar. QR and Micro QR also let you set error correction (L/M/Q/H). Set the barcode's data the same way as text: Static, Field, or Formula.
QR Code, Data Matrix, Aztec Code, and Micro QR are always drawn square and centered no matter the box shape. The linear codes (Code 128, GS1-128, Code 39, Code 93, EAN-13/8, UPC-A/E, Interleaved 2 of 5, Codabar) and PDF417 stretch to fill whatever width and height you give the box.
With the barcode selected, use the Error correction drop-down. QR offers L — 7%, M — 15%, Q — 25%, and H — 30%. Higher levels survive more damage but hold less data in the same size. Micro QR offers L/M/Q, and PDF417 offers Level 0 through Level 8. Data Matrix, Aztec, and the 1-D codes have no user-selectable error-correction setting.
Yes, if you set its source to Field or Formula. Each barcode is regenerated fresh from its own data row at print time, at full printer resolution, so a field-bound barcode is correct and sharp on every label.
That code prints blank on the affected label rather than printing a garbage barcode. Other labels with valid values still print normally. Check the preview to catch rows whose values don't fit the symbology's rules.
Known alpha issue: the app downscales from a high-res master to the printer's native resolution (about ×3 Brady, ×5 Brother), and a 2-D code's modules must line up with that step or they blur into one black rectangle. Make the 2-D code bigger so its modules survive downscaling, or use a linear barcode like Code 128 for small marks. Square codes (QR/Data Matrix/Aztec/Micro QR) stay square; linear and PDF417 can stretch.
That means the record's value can't be encoded by the chosen barcode type (e.g. letters in a numeric-only symbology, or a wrong digit count for UPC/EAN). The print window flags those rows ('A barcode on this label can't encode this record — it will print blank') and the preview shows 'This record can't be encoded as <type>'. Switch to a more permissive symbology like Code 128, or fix the source data. ('Barcode engine unavailable' instead means the renderer didn't load — relaunch.)
Blank = the data can't be encoded by that symbology (a data problem; the app warns you). Solid black = a 2-D code's modules are too small to survive the downscale and merge together (a sizing problem; make the code bigger). They have different fixes.
All of these must be true: a template is selected, at least one label is selected to print, the chosen printer's status is Ready (green), and there is no pre-flight error (printhead open / invalid supply / invalid ribbon). Fix whichever is missing — for example, tick some rows, pick a Ready printer, or clear the printer error and press Re-detect.
One at a time sends each label as its own job, so you get per-label progress and a Cancel button (in-flight labels finish, the rest are dropped). Full job sends everything at once — it's fastest, and on the M611 it starts printing immediately, but it can't be interrupted once sent, so no Cancel button is shown for it. Both run at full speed. Set this per printer in Preferences ▸ Printers ▸ Per-Printer Settings.
Cancel appears only for jobs that can actually be cancelled. One-at-a-time prints keep the Cancel button — in-flight labels finish and the rest are dropped. A full-job batch is sent to the printer in one shot and can't be interrupted, so no Cancel button is shown for it.
It means the printer (M611) stopped reporting progress mid-job (for example the connection dropped), so the menu-bar job status — and the Custom Designer's print header — show a literal "unknown" instead of a made-up advancing count. A stalled job shows "unknown" for about its estimated print time and is then marked printed. Progress is never faked. ("Printer paused" is different — see the next question.)
You paused the printer on the device itself mid-print. The menu-bar job status and the Custom Designer print header show "Printer paused" in orange, and the job is held open: it resumes live tracking when you resume the printer, completes only on the printer's real complete signal, and can be cancelled while paused. This is hardware-verified on the M611 in one-label-at-a-time mode; it's implemented for full-job mode too but not separately verified there. The distinction: "Printer paused" means you stopped the printer; "unknown" means the printer stopped reporting — the Engine never invents progress in either case.
The Cut dropdown sets it: Every Label, End of Job, or None. If you leave it alone, continuous tape defaults to cutting after every label and die-cut stock cuts once at the end of the job. The M610/M611 cutters are full-cut only. Note that the Brother drivers are only partially hardware-verified, and "None" on Brother is one of the paths not yet confirmed — test it on your unit first.
Yes. Press Reprint on the job in the menu bar's Recent Prints list; the Print window reopens with the same file, selection, range, and filter/sort. If the original export file has been pruned, you can choose "Reprint Without Editing" to re-send the original rendered labels. A Custom Designer job reopens in the Custom Designer with the full print setup it was printed with — the print range (All / Current / Selected / Range) and its bounds, which rows were ticked, the record being previewed, the database filter, sort and search, and the printer — while loading the current saved version of the label file if you've edited it since. An auto-sync data refresh no longer resets that print selection. This applies to prints made in v1.9.0 or later.
Yes. The print window's label preview shows the label in the same orientation as the template — including continuous labels and 90°-rotated die-cut labels — so it matches what actually prints and what the designer shows.
Yes. On both Brady printers (M610 and M611), every die-cut label is fitted against the printable-area rectangle the loaded cassette itself reports, so the design lands on the label the right way — wire wraps, raised panels, any supply, including custom supplies you added yourself. Orientation never consults the supply catalog, so editing the supply library can't affect printing. If the printable area and the design are both square (an ambiguous case), the printer's reported orientation is kept, and the designer's ⟳ 90° button remains the manual override. Continuous tape is unchanged.
In the Custom Designer and the Print window, every tab keeps its own printer selection. Opening a label (or picking a template) auto-selects a printer whose loaded supply matches; if none match, the most recently used printer is chosen. A printer you pick by hand always wins and is remembered for that tab.
It's a checkbox in the Print bar that feeds a blank lead label before your job to advance or clear the supply. For die-cut it feeds one label (cut per your cut setting); for continuous it feeds 1 inch and always cuts. It only appears when the selected printer supports it — the Brady M610 and M611 do, Brother P-touch doesn't — and the setting is remembered separately for each printer.
Use per-printer calibration: Preferences → Printers, print the calibration grid, then nudge the Horizontal/Vertical offset (in printer pixels) until the grid is square. There's a reset-to-zero button. Offsets are saved per printer serial. Calibration and other printer settings are now shared across the whole suite, so setting it once in the Engine also affects prints from the print window and the designers, and works for network and Brother printers, not only USB Brady. If the shift is actually cropping, check the supply-match indicator (red ⚠) — calibration won't fix a wrong-size supply.
It means the cassette/tape physically loaded doesn't match the supply your template was built for, so the label may print misaligned or cropped. A green ✓ means they match. Load the matching supply (or choose a template/supply that matches what's loaded) and click Re-detect. Supply status also refreshes automatically about every 30 seconds while printers are idle and immediately when the print window opens; nothing is polled while a job is printing. Note network printers can't auto-detect the loaded supply.
By default continuous tape is cut after every label and die-cut stock is cut once at the end of the job. Override it per job with the 'Cut' dropdown in the print window. There's also a feed/lead-label option to clear or advance the supply before printing. Caution: M610 cut bytes are still not hardware-verified, and the Brother drivers are only partially hardware-verified ('never cut' hasn't been confirmed) — test cutting on a small batch first.
Not fully, in alpha. On the Brady M610 the exact cut byte sequences are unverified on hardware, and on the Brother classic models (whose drivers are only partially hardware-verified) suppressing the cut ('never') is a path not yet confirmed — the job terminator may still feed and cut. The M611 is more validated. Test on your specific unit before a production run.
That's fixed: Brother P-touch text now prints at the weight the preview shows, and this particular fix is hardware-verified. If you're on an older version, update. Note the Brother drivers overall are still only partially hardware-verified — that alpha caveat hasn't changed.
Plug a USB printer (Brady M610, Brother PT models) in and the Engine detects it; use Preferences → Printers → Scan USB if needed. For a network Brady M611, add it by host/IP in Preferences → Printers and click Add.
Go to Preferences ▸ Printers ▸ "Add network printer", type the printer's IP address, and pick its model from the dropdown (the model chooses the driver). For Brady M611 it connects on raw TCP 9100; for a Wi-Fi Brother choose PT-E550W. You can also use Scan ▸ Scan network to find Brady printers automatically.
Use per-printer calibration in Preferences ▸ Printers. Click "Print calibration grid", compare it to the label edges, then enter Horizontal and Vertical offsets in pixels and reprint until it's square. Offsets are saved per printer serial and applied to every job. Use Reset to zero them.
This is an alpha. The Brady M611 is the most thoroughly hardware-validated. The Brady M610 works but some details (like cut bytes) are not fully verified. All three Brother P-touch drivers (PT-E550W, PT-P750W, PT-E560BT) are partially hardware-verified — individual functions have been confirmed on real printers, but not every function or end-to-end path yet — so verify orientation, cutting, and media detection on your own unit before relying on them.
Make sure the Engine is running, then open Preferences → Printers and use Scan → Scan USB. Power-cycle the printer, reseat the cable, and try a different cable/port (some are charge-only). Both the M610's and M611's USB IDs are hardware-confirmed, so a printer that still isn't found usually means a cable, power, or device-claim problem — an M611 can also be added over the network instead.
Preferences → Printers. Either Scan → 'Scan network (subnet)' to auto-discover, or type the printer's IP in the 'Add network printer' field, pick the model, and click Add. The model you pick decides which driver is used. The Brady M611 is found automatically; a Brother Wi-Fi model is guessed as PT-E550W by the scanner because it can't be positively identified over the network.
A network-connected printer is print-only — it can't read the loaded cassette over the network. So there's no live loaded-supply readout and the automatic die-cut→continuous remap won't trigger. Use a continuous template, or connect over USB, when you need supply auto-detection.
No. Although the unit is Bluetooth-capable, only USB is implemented for it — there is no Bluetooth transport. It prints over USB. (The 'W' models print over USB or Wi-Fi/network.)
Click the "Supply" button in the top bar to open "Choose a label supply", then click your part in the list. Die-cut supplies are fixed size; continuous tapes let you set a "Length" (inches) in the top bar (or click "⤢ Fit" to fit the length to your content). If a printer is connected, "Use currently installed" jumps to the loaded cassette's supply.
The label currently loaded in the printer doesn't match the size/part number your template needs, so the print could be misaligned or cropped. Load the correct supply and press Detect supply, or click "Print anyway" in the confirmation if you're sure. The check uses the real loaded label size and part number reported by the printer, and supply status refreshes automatically about every 30 seconds while printers are idle and immediately when the print window opens (nothing is polled while a job is printing).
Open Preferences ▸ Printers ▸ Label Supplies ▸ "Edit Supplies…". You can add categories and supplies, set each supply's size and type (die-cut or continuous), and add part numbers with quantities/roll lengths, a Rotate 90° option, and buy links. Changes sync live into the Print and Designer windows.
Preferences → Printers → Edit Supplies…. Pick the right printer group and add/edit a supply: category, size, part number, roll length/quantity, 90° rotation, and an optional buy link. Your additions are preserved across app updates. (The supply catalog is fully user-editable — no code needed.)
No. On the Brady printers, a die-cut label's print orientation comes from the printable-area rectangle the loaded cassette itself reports — the supply catalog is never consulted for orientation, so editing the supply library can't change how a job lands on the label. That also means supplies you add yourself auto-orient just like the built-in ones.
Yes. In Edit Supplies, every supply size shows an inch field and a mm field side by side — type into either and both update. Roll length shows feet and metres together the same way, so you can enter whatever unit the supplier printed and read off the other. (Preferences ▸ Printers ▸ Edit Supplies…) Elsewhere in the app you can also type a mm value like 12,7 or 3mm straight into an inch field and it converts — see the units questions under "Files & settings".
Some seeded Brother TZe part numbers (especially the 3.5 mm one) are best-effort placeholders that haven't been hardware-confirmed. Correct them in Preferences → Printers → Edit Supplies…. Brother support overall is alpha and only partially hardware-verified.
Each part number has its own "Buy link" field in Preferences → Printers → Edit Supplies…. The Buy button simply opens whatever URL is stored there. Brady (M6) parts come pre-filled with a Brady part-number search link, so nothing changes for them — but you can edit it or paste your own supplier's URL. A part whose Buy link is blank shows no Buy button at all; Brother P-touch tapes ship blank for now, so they have no button until you add a link.
It's a helper for installing the bundled label-supply groups. It opens automatically after an install finishes — both a fresh install and an in-place upgrade of the running Engine — and you can reopen it any time from Preferences ▸ Printers ▸ "Set Up Supply Groups…". It lists the bundled ("available") groups and your ("existing") groups. Each available group can be set to Don't install, Install New, or Install & Replace — it defaults to Replace when a same-named group already exists, otherwise Install New (choosing Install New against an existing name adds a numbered copy, e.g. "Brady M6 2"). Existing groups each have a Delete tick, and an "Install all & clear existing" preset wipes your groups and installs a clean factory set.
Yes. Engine ▸ Preferences ▸ Advanced ▸ Units lets you pick Inches or Millimetres, and the choice applies live across the whole suite — the designer rulers, every dimension field, the print previews, and the supply readouts. The Template and Custom Designer rulers also have a small in/mm toggle in the top-left ruler corner. Labels are always stored the same way internally, so switching units is display-and-entry only and never changes a saved template.
Yes. Any dimension field accepts fractions (1/8", 1 1/4), other units (3mm), and arithmetic — .25"-1/8" gives 0.125", and 10+5 gives 15 mm — with the result converted to the field's current unit. It works in inches or millimetres, and a comma decimal like 12,7 is accepted. This covers the designers' object / position / size / table fields and the supply editor. Font size (points), line and stroke weights, %, degrees, and plain counts stay as-is — they aren't physical label measurements.
Yes. ⌘S saves and ⌘⇧S is Save As in both designers (in the Template Designer they save the template). In the Custom Designer, "Save Label" now saves straight to the open .vlcus file with no dialog, and a separate "Save as…" button saves a copy to a new file. A brand-new label, or one opened from a Brady .BWT or Brother .lbx import, still prompts the first time so an import is never overwritten.
When the Custom Designer opens — and on each new "+" tab — a start dialog offers your 5 most recent labels to reopen, plus Browse… and New blank label. Opening a label reuses the blank tab (no leftover "Untitled" tab), and reopening a label that's already open just switches to its tab instead of duplicating it. Each file dialog also remembers its own last folder.
Your templates and exports live under ~/Documents/VectorLabel/ (Templates/ and Exports/<project>/). The apps' internal print queue and status live under ~/Library/Application Support/VectorLabel/ipc/. Preferences are stored in macOS UserDefaults.
To ~/Documents/VectorLabel/Exports/<YourVectorworksFileName>/, in a file named <YourVectorworksFileName>_export_YYYYMMDD_HHMMSS.csv. Each Vectorworks project gets its own subfolder and each export is timestamped.
The 15 most recent per project folder. Older ones are deleted automatically based on the date stamp in the filename (not the file's modification date), so it stays correct even with cloud sync or restores. Files that aren't VectorLabel exports are never deleted.
Template Designer templates (.vltmp) save to ~/Documents/VectorLabel/Templates/. When the save dialog appears, navigate to that folder. Custom Designer labels save as .vlcus wherever you choose, and they embed a copy of any bound data so reopening or reprinting recreates the exact label.
Templates: ~/Documents/VectorLabel/Templates/. Exports: ~/Documents/VectorLabel/Exports/<VWFileName>/ (one folder per project). Recent print history is kept for reprinting (clear it in Preferences → Recent). Old exports are auto-pruned to the newest 15 per project by default, using the date code in the filename. Use 'Open Export Folder' (⌘E) from the menu bar to jump there.
The original CSV export was pruned or moved out of the Exports folder. You can still reprint the original labels as-printed, but you can't re-edit them because the source data is gone. If you need to edit, re-export from Vectorworks.
Yes. If the cloud service keeps the file online-only, VectorLabel downloads it first: a small 'Downloading…' popup with a Cancel button appears, and when the download finishes the open continues on its own. This works everywhere a file can be chosen — data sources, templates, imports, images, and Finder double-clicks. Cancelling returns you to where you were.
Yes — Preferences → Export changes the Watch Folder, and Preferences → Templates changes the templates folder. But if you move the watch folder, make sure the Vectorworks scripts still write into it; by default they write to ~/Documents/VectorLabel/Exports/, so a mismatched watch folder means the Engine won't see new exports.
That message ('Could not open printer (permissions?)') almost always means another process is holding the device — for example the macOS system print driver or a second copy of the Engine. Quit any legacy VectorLabel.app and make sure only one Engine is running.
No — this is alpha. The Brady M611 is hardware-validated. The Brady M610's cut behavior is noted as still unverified. All three Brother P-touch drivers are implemented and partially hardware-verified — individual functions have been confirmed on real printers, but not every function or end-to-end path yet.
v1.9.0 landed a large batch of stability fixes: imported and edited work is less likely to be silently lost, corrupt or malformed import files no longer crash the app, and on the hardware-validated Brady M611 the printed orientation is now consistent across back-to-back jobs. Update to the latest release. If you still hit a crash or lost work, report it in-app so it's sent with your logs.
Just launch VectorLabel Engine again. A second launch detects the live Engine, nudges it to re-show its icon, and opens Preferences as a reliable on-screen entry point.
Most often: VectorLabel AutoPrint wasn't running when you exported (it only reacts to new files created while it's live, and it does not scan old files at launch), or the 'Auto-open print window when export is detected' preference is turned off. Also confirm your selection/layer actually contained ConnectCAD circuits. The detection has a short delay, so wait a moment.
Brady M610/M611 are the main target over USB (M611 also network). Both Brady USB IDs are hardware-confirmed (the M611's was validated on a real unit). Brother PT-E550W, PT-P750W, and PT-E560BT are implemented, pass offline tests, and are PARTIALLY hardware-verified — individual functions have been confirmed on real printers, but orientation, cutting, USB claim, and media detect are not yet all confirmed on every model. See docs/PTOUCH-DRIVER-STATUS.md for the live per-model status.
That's the classic one-job-hang failure mode. It happens if the wrong (classic) dialect is sent to the E560BT, which speaks a different dialect — it then hangs until power-cycled. The app routes by USB product ID to avoid this, but it's the known canary for a routing bug. Power-cycle the printer; if it recurs, report it with your build number. Note the Brother drivers are only partially hardware-verified.
The easiest way is in-app: every error alert has a "Report…" button, and the Engine menu bar has "Report a Problem…" (below "Check for Updates…") for anything else. Describe what happened and it's sent PRIVATELY to the developer — reports include the app version/build, macOS and hardware info, current printer status, and the app's recent log (kept in ~/Library/Logs/VectorLabel/). The first report asks your name and email (phone optional) and remembers them; a crash is offered for reporting on the next launch. You can also use the feedback form on this site (no GitHub account needed) — it goes to the same place; include the build number and short commit hash from the menu-bar footer, your printer model and connection type, the loaded supply part number, and the exact text of any alert. If it's about M610 cutting, any Brother model, or M611 USB detection, mention that — those are the least-verified alpha areas.