zbCAD Documentation
2D drafting with a typed command line, object snaps, layers and associative dimensions. It opens and saves DXF and plots to scaled vector PDF, all in the browser at zbcad.com: no install, no account.
No topics match your search.
zbCAD is a 2D drafting tool modeled on the drawing conventions common to desktop CAD
software: a typed command line that accepts abbreviations, keyboard
shortcuts, and coordinate expressions like @3,2 or @5<45; object
snap to precisely pick existing geometry; layers; and associative dimensions that stay
attached to the geometry they measure. If you've used a traditional desktop CAD package before,
most of this will already feel familiar.
Everything lives in your browser tab. Drawings are saved to a local .zbCAD.json
file you download and re-open yourself, and an autosave copy is kept in the browser's own
storage so an accidental tab close doesn't lose your work.
Your drawings never leave your computer. Nothing you draw or open is uploaded — there's no server to send it to, and everything the app does happens in your browser tab, using the files you open and the browser's own storage. The one thing the page sends is a visit count to GoatCounter, which records that the page was opened and nothing that's in it.
zbCAD is built for a mouse and keyboard on a wide display; it has no touch input handling or small-viewport layout. A narrow window or a touch device shows a dismissible warning to that effect rather than silently breaking — Continue anyway skips it for anyone who wants to try regardless.
Quick start
A first drawing, from a blank page to a PDF at scale. Type the commands straight in: whatever you type goes to the command line at the bottom, and Enter runs it.
- Draw a rectangle. Type
RECand press Enter. Type0,0Enter for one corner, then@40',25'Enter for the other. That's a 40' × 25' rectangle;@means “from the last point”. - Bring it into view. Click Zoom Extents to fit the drawing to the window. Scroll to zoom and middle-drag to pan from there.
- Set the drawing scale. Type
DST, set Drawing scale to 1/4" = 1'-0", and press Apply. Dimension text and ticks are sized for paper, and this sets how big they come out in the drawing. Without it, dimension text on a building-sized drawing is too small to see. - Dimension it. Type
DLI, click the rectangle's bottom-left and bottom-right corners (the snap marker shows when you're on one), then click a little below the rectangle to place the dimension. Typing0,0,40',0and20',-6'does the same. It reads 40'-0" and stays attached to the corners if they move. - Save. Ctrl+S downloads the drawing as a
.zbCAD.jsonfile. It's also autosaved in the browser as you work. - Plot. Ctrl+P opens Plot to PDF. Pick a sheet size, set Scale to Exact scale and Drawing scale to 1/4" = 1'-0", check the preview, and press Plot for a PDF that measures true at that scale.
From here, the command line and object snap are the two things worth reading first.
The interface
The window is divided into a few fixed regions:
- Toolbar (top) — the File, Edit, View, and Inquiry groups sit in the always-visible top row beside the zbCAD logo; Select, Draw, Modify, and Annotate follow it, wrapping onto further rows as the window narrows. Buttons that start a command show its keyboard alias in parentheses, e.g. Line (L). The Auto-hide button next to the logo collapses those drawing groups away, freeing up canvas height; mouse over the bar (or Tab into it) to bring them back as an overlay without resizing the canvas underneath it. File, Edit, View, and Inquiry stay put either way, so opening a drawing or undoing never needs the overlay. This preference is remembered per browser.
- Canvas (center) — the drawing area. Left-click to pick points or select objects, scroll to zoom, middle-drag to pan, right-click or Enter to accept the current command's default action.
- Side panel (right) — a Properties section on top for editing the current selection, and a Layers section below listing every layer with its visibility, lock, and color controls, plus its linetype, lineweight, and printable toggle. Each section collapses independently with the ▸ / ◂ toggle on its own heading (an accordion within the panel). The whole panel can be resized by dragging the handle on its left edge, or collapsed entirely by clicking the handle; both the width and collapsed state are remembered per browser.
- Command line & status bar (bottom) — the text input where you type commands, coordinates, and keywords, plus toggle buttons for SNAP, ORTHO, POLAR, the active object-snap set, the drawing units, the current file name, and the live cursor coordinates.
- Inquiry panel — a small overlay that appears with the result of
DIST,AREA,ID, orLIST; close it with the × button or Esc.
Core concepts
The command line
Click a toolbar button, or click the command-line input and type a command name (or its
alias, e.g. L for LINE) and press Enter or
Space. You don't need to click into the input first — typing any single
character while the canvas has focus jumps into the command line automatically.
While a command is running, the same input accepts, in order of precedence:
- A keyword the active command is listening for (its prompt tells you which letters are live, e.g.
Cto close a polyline,Uto undo the last point). - A point, typed as
x,y,@x,y(relative to the last point), or@distance<angle(polar, relative). - A command-specific value (an angle for
ROTATE, a scale factor forSCALE, etc.). - A bare distance, applied along the direction from the last point toward the current cursor position — type a number right after picking a start point and dragging toward a direction to draw an exact length without doing the trigonometry yourself.
An unrecognized string that matches none of the above is looked up as a new command name.
TEXT's content), where a space is a literal word break instead.Entering points & distances
| Syntax | Meaning |
|---|---|
12,8 | Absolute point at x=12, y=8, in drawing units. |
@4,-2 | Point 4 right and 2 down from the last point (or the command's current base point). |
@5<30 | Point 5 units away at 30° from the last point (polar/relative). |
3.5 | A bare distance — drives along the current tracked direction from the last point. |
6", 150mm, 2m | A physical length with an explicit unit suffix, converted into drawing units automatically. |
5'6", 5'6-1/2" | Feet and inches, including mixed fractions (hyphen-separated, since a bare space is a command terminator). |
3/4, 1-1/2 | A plain or mixed fraction, interpreted in drawing units. |
A leading - negates a distance; a leading + is accepted and ignored.
Object snap
With SNAP on (the default), moving the cursor near existing geometry pulls the pick point onto a precise feature of it — essential for drawing connected geometry instead of eyeballing it. Click the snap-type readout in the status bar (next to the SNAP toggle) to choose which snap types are active:
| Type | Snaps to |
|---|---|
| Endpoint | The end of a line/arc segment or polyline vertex. |
| Intersection | Where two segments, or a segment and a circle/arc, or two circles/arcs, cross. |
| Midpoint | The midpoint of a segment or arc. |
| Center | The center of a circle or arc. |
| Quadrant | The 0°/90°/180°/270° points of a circle or arc. |
| Perpendicular | The point on a line/circle/arc that forms a right angle with the command's current base point. Only available once a command has a base point. |
| Tangent | The point on a circle/arc that a line from the current base point touches tangentially. Only available once a command has a base point, and only from outside the curve. |
| Nearest | The closest point on any segment/curve to the cursor — the fallback snap, consulted only when nothing more specific is under the pick aperture. |
When several snap points coincide on screen, the one listed first above wins, rather than whichever happens to be a pixel closer.
A polyline's curved segment counts as an arc for every snap above: its center, quadrants and tangent points are live, Midpoint lands halfway along the arc, and Nearest follows the curve rather than the straight chord across it.
Ortho & polar tracking
ORTHO (F8) constrains the next point to be exactly horizontal or vertical from the current base point. POLAR (F10) instead locks onto the nearest multiple of a chosen angle increment (45° by default — change it via the polar readout in the status bar) whenever the cursor comes close to that alignment ray; move further off the ray and the lock releases. The two are mutually exclusive — ORTHO is really polar tracking at a fixed 90° increment, so turning one on turns the other off. Both only apply to commands that opt into tracked point entry (drawing and most modify commands); commands that ask you to pick a location rather than a measured point (e.g. which side of a line to keep when trimming) ignore both.
Selection & grips
With no command running, click an object to select it, or drag a box: dragging left-to-right
selects only objects fully enclosed by the box, dragging right-to-left selects anything the
box touches. Hold Shift to add to the current selection instead of replacing it.
Delete erases the current selection. Commands that operate on a selection
(MOVE, COPY, ERASE, ...) use the same picking and
box-selection behavior at their "select objects" prompt.
Selected objects show small square grips at their defining points (endpoints, center, etc.). Click and drag a grip to reshape or reposition that point directly, without starting a command; click a grip without dragging to leave the edit live and then type or pick a destination point.
The Properties section of the side panel reflects whatever is currently selected: a layer dropdown (change it to reassign every selected object, and images, to that layer at once), and, when the selection is a single entity type, editable fields for that type's plain scalar properties — radius for CIRCLE/ARC, height/rotation for TEXT, height/width/rotation for MTEXT, plus the text content itself for TEXT and MTEXT. A mixed selection just shows the summary and the layer field; geometry that would need reshaping a whole entity (line endpoints, polyline vertices) stays grip-only. Editing a field applies it to every selected entity of that type at once.
Layers
Every object lives on exactly one layer. The layers panel lists each with a radio-style "make current" marker, an editable name, a color swatch, a visibility toggle, a lock toggle, and a delete button, over a second row carrying the layer's linetype, lineweight, and printable toggle. New objects are drawn onto the current layer, chosen from the dropdown above the panel or by clicking a layer's marker. Locked layers can't be edited; hidden layers don't render and aren't picked by selection or snap.
Assign selection to current moves the selected objects onto whichever layer
is current. Layer 0 can't be renamed or deleted, and the current layer can't be
deleted while it's current.
A layer also carries three properties that decide how its objects are drawn rather than which of them exist:
| Property | Effect |
|---|---|
| Linetype | Continuous, Dashed, Dotted, Dash-Dot, or Center. The pattern is measured in screen pixels, not drawing units, so it stays legible at any zoom instead of collapsing into a solid line when you zoom out. Plotted, the same pattern is read as a paper length — a dashed line prints 3.2 mm on, 1.6 mm off. |
| Lineweight | The standard CAD table in millimetres, 0.00 to 2.11, defaulting to 0.25. On screen the width is a fixed multiple of the millimetre value rather than something that scales with zoom, again matching CAD convention. On the sheet it is the real plotted width, and 0.00 means "as thin as the device draws". |
| Printable | The 🖨/🚫 toggle. A non-printable layer still draws on screen and can still be edited and snapped to, but is left off the plotted sheet entirely — construction lines, notes to yourself, an underlay you traced. |
Both linetype and lineweight are layer properties only; there is no per-object override. Drawings saved before these existed open as continuous, 0.25 mm, printable layers and look exactly as they did.
Units & dimension style
Open Units (UN) to set the drawing's physical unit (inches, feet, millimeters, centimeters, meters) and how lengths are displayed:
| Format | Looks like | Notes |
|---|---|---|
| Decimal | 18.50 | Any drawing unit. |
| Fractional | 18 1/2 | Any drawing unit. |
| Architectural | 1'-6 1/2" | Inches only. |
| Engineering | 1'-6.50" | Inches only. |
The units dialog offers to rescale existing geometry when you change the drawing unit, so switching from inches to millimeters mid-drawing doesn't silently change what your geometry means.
Dim Style (DST) controls how dimension objects are drawn: arrowhead style (tick or arrow), overall scale, text height, arrow size, and text precision (or "follow the document" to always match the current unit precision). New drawings default to arrows in metric units and ticks otherwise, matching common drafting convention.
Files & autosave
Save downloads the current drawing as a <name>.zbCAD.json
file through the browser's normal download mechanism. Open loads a
.zbCAD.json file back in. New clears the canvas (with a
confirmation if it isn't already empty).
Every change is also autosaved into the browser's own database (IndexedDB, or ordinary local storage where the browser doesn't allow a database) after a short delay, and the previous autosave is kept as a backup slot. Closing the tab during that delay writes one last snapshot on the way out, so what you're offered back is the drawing you actually last had. If a drawing is still open in browser storage when you return — a crash, an accidental tab close, forgetting to Save — zbCAD offers to recover it. Recover Backup in the toolbar explicitly restores the older, previously-autosaved slot (rather than the most recent one) if you need to step back one version, and replaces the current drawing when used, so Save first if you want to keep a copy of what's currently open.
Autosave and manual Save are a convenience, not a substitute for keeping your own backups — both live only in this browser's storage or wherever you chose to save the downloaded file.
Plotting to PDF
Plot (PLT) writes the drawing to a PDF as real vector geometry — not a screenshot of the canvas. Lines stay lines, so the sheet can be measured, marked up, and printed at any resolution. Ctrl/Cmd+P opens the same dialog.
The dialog previews the sheet live as sheet size, area and scale are chosen, drawn from the same plot plan the PDF is serialised from, so there is nothing between choosing options and seeing what lands on paper. Anything that falls outside the printable border is shown in amber rather than left off the preview, since a line half on the sheet and half clipped is exactly the mistake this is meant to catch before the file is written. Text too small to read at preview scale is greeked into a bar instead of vanishing — annotation that is really on the sheet shouldn't look absent in the picture of it. The dialog widens to two columns to fit the preview, collapsing back to one on a narrow window.
Sheet size offers the ANSI, ARCH and ISO sizes, in either orientation, with a half-inch margin the plot is fitted inside and clipped to. Plot area is the drawing extents, the current view, or a rectangle you pick on the drawing with Pick window (the dialog steps aside for the two corners and comes back with the window filled in).
Scale is the part that has to be exact. Fit to the sheet works out whatever scale makes the plot area fill the page; Exact scale takes a drawing scale — 1/4" = 1'-0", 1" = 20', 1:100 — and plots at precisely that, so a hundred-foot wall at 1" = 20' measures five inches on the sheet. If an exact scale is too large for the sheet the plot still runs, clipped at the margin, and says so before you commit to it.
Color plots monochrome by default: layer colors are chosen to read on the dark drawing area and several of them are nearly invisible on white paper. Plot layer lineweights uses each layer's millimetre lineweight; turned off, everything plots thin. Objects on hidden layers and on layers marked non-printable are left off the sheet entirely — that is what the layer panel's printable toggle is for.
Images & underlays
Image places a raster image — a scan, a photo, an exported PDF page — as an underlay to trace over. Pick a file, then either click a bottom-left corner to place it at a provisional scale of one drawing unit per pixel, or type a width first to place it at that width instead. The image is re-encoded to JPEG and capped at 2400px on the long side on import, which keeps it small enough to travel inline in the saved drawing and every autosave.
An image imported this way carries no real-world scale until you set one. Calibrate does that: click two points on the image a known distance apart, then type (or click to measure) that true distance, and the image is rescaled about the first point so the second lands exactly that far away. Recalibrating is not a one-time step — do it again whenever a better-known dimension turns up.
PDF places a page of a PDF the same way, with two differences that come from
what a PDF is. First, a drawing that was plotted or exported from CAD is line work, and it is
kept as line work: the page stays sharp however far you zoom in, and
object snap finds the ends, midpoints and crossings of its lines, so what
you trace lands exactly on the original rather than near it. Second, a PDF knows the size of
its sheet, so the page comes in at true paper size and the number to type before placing it is
the scale the sheet was drawn at — 48, 1:100 or
1/4"=1' (no spaces) — after which the building is full size and nothing
needs calibrating. A file with several pages asks which one first, and stays open afterwards:
type PDF again to place the next sheet of the same set.
The page is shown in its own colours turned over for the dark drawing area — black ink draws white, coloured lines keep their colour — and plots in the colours it came with. Its text is real text, in the right place at the right size, set in a stand-in typeface stretched to the width the original occupied; the fonts themselves are not read, so lettering will not look identical. Pictures on the page (logos, shaded views, photographs) are left out, as are pattern and gradient fills, and the prompt says how many when it places the page. A page that is nothing but a scan comes in as an image instead, and is then subject to the same 2400px cap as any other image; a scan stored as fax-compressed black and white (CCITT or JBIG2, the usual output of a large-format scanner) cannot be read and has to be saved as a PNG or JPEG first. Password-protected PDFs are refused.
An underlay lives on a layer like any other object, so its visibility, lock, and
printable state come from the ordinary layer controls rather than a
separate system — hide, lock, or leave a traced-over image off the plotted sheet the same
way you would a layer of construction lines. A printable underlay's image does appear on a
plotted PDF, not just on screen. Selecting an image shows fade, lock and layer controls in the
Image Props dialog (also opened by the UNDERLAY command); it also
participates in MOVE, COPY, ROTATE, SCALE, MIRROR and ERASE like any selected object, and shows
up in the Properties panel's selection summary.
DXF import & export
Import DXF (DXFIN) and Export DXF
(DXFOUT) read and write the AutoCAD DXF format (R2000/AC1015 ASCII), for moving
drawings to and from other CAD software. Importing replaces the current drawing rather
than inserting into it — save first if you want to keep what's currently open. The
drawing's unit is read from (and written to) the file's $INSUNITS header, so
geometry round-trips at the same real-world size.
Export writes real ARCs, symbolic layer names (with their color, linetype, lineweight and printable state), and live DIMENSION entities — not lines standing in for them — so a dimension opened in another application still reads as a dimension. Import understands both the older R12 POLYLINE/VERTEX form and the modern LWPOLYLINE, and flattens block references (INSERT), including nested and arrayed ones, into plain geometry. Ellipses and splines have no exact zbCAD equivalent and are approximated; angular and ordinate dimensions likewise have no matching zbCAD entity, so their block geometry is imported as exploded lines rather than a live dimension. Every skip or approximation made during import is reported to the inquiry panel rather than happening silently.
Image underlays have no DXF equivalent (that would need a separate IMAGEDEF
reference to an external file) and are left out of an export, which warns that it did so rather
than silently dropping them.
Keyboard shortcuts
| Key | Action |
|---|---|
| Enter / Space / right-click | Accept the active command's default action (finish it), or repeat the last command if idle. |
| Esc | Cancel the active command. Never commits geometry — use Enter/Space/right-click for that. |
| Delete | Erase the current selection. |
| F8 | Toggle ORTHO. |
| F10 | Toggle POLAR. |
| Any letter/digit key | Jump focus to the command line and start typing (no need to click it first). |
| C / Close (typed, mid-command) | Close a line/polyline back to its start point, for commands that support it. |
| U / Undo (typed, mid-command) | Undo the last point placed in the current command. |
| Ctrl/Cmd+Z | Undo. |
| Ctrl/Cmd+Y | Redo. |
| Ctrl/Cmd+S | Save. |
| Ctrl/Cmd+O | Open. |
| Ctrl/Cmd+N | New drawing. |
| Ctrl/Cmd+P | Open the Plot to PDF dialog. |
| Scroll wheel | Zoom in/out, centered on the cursor. |
| Middle-drag | Pan the view. |
Command reference
Every command below can be started by clicking its toolbar button, or by typing its canonical name or alias on the command line and pressing Enter/Space. Commands marked ORTHO/POLAR honor tracking and object snap on the picks noted; picks described as identifying "which object/side/piece" are deliberately unsnapped, since snapping would change which piece of geometry you meant.
Draw
LINEalias L
Draws one or more straight segments as independent LINE entities.
Click a first point, then click each next point (repeats). Each segment is added to the drawing as soon as it's drawn, not only when you finish.
Enter / right-click: finish · C/Close: closes the run back to the start (needs 2+ segments already drawn) · U/Undo: removes the last segment and lets you keep going · a typed number after the first point is a distance along the tracked direction · ORTHO/POLAR apply.
PLINEalias PL, P
Draws a single connected polyline entity (unlike LINE, whose segments are independent objects).
Click a start point, then click each next vertex, Enter to finish (needs 2+ points to create anything).
C/Close: closes the shape (needs 3+ points) and finishes · U/Undo: removes the last vertex · a typed number is a distance along the tracked direction · ORTHO/POLAR apply · a repeated point (same spot twice in a row) is rejected rather than silently producing a zero-length segment.
PLINE only draws straight segments, but a polyline's segments need not stay straight: FILLET on one of its own corners and JOIN chaining an arc onto it both store the curve on the polyline, so it stays one object. Everything downstream — picking, snapping, area and perimeter, dimensions, rendering and plotting — measures along the arc, not the chord across it. EXPLODE turns each curved segment back into an ARC.
RECTANGLEalias REC, RECTANG
Draws a closed 4-vertex polyline from two opposite corners.
Click one corner, click the opposite corner.
A degenerate rectangle (zero width or height) is rejected.
CIRCLEalias C
Draws a circle. Four construction methods, chosen before the center is picked.
Center-Radius (default): click the center, then click a point or type a number for the radius.
D/DIA/DIAMETER: switch to Center-Diameter — same picks, but the value sets diameter instead of radius · 2P: switch to two-point mode — click each end of a diameter · 3P: switch to three-point mode — click three non-collinear points on the circumference. Degenerate input (zero size, collinear 3P points) is rejected with a prompt, keeping the command open.
Tangent-Tangent-Radius (T/TTR): click a point on each of two objects — a line, a polyline segment, an arc or a circle — then type the radius (or click a point, which measures the radius from the first tangent pick). The circle of that radius touching both appears.
Where a radius allows several answers — and it usually does — where you clicked on each object decides which one you get: the solution whose contact points land nearest your two picks wins. Click the inside of a corner for the circle that fits into it, the outside for the one that wraps around. A circle tangent to two lines that don't actually reach each other is offered too, touching their extensions, but only when nothing on the drawn segments fits. If no circle of that radius can touch both, the command says so and stays open for another radius.
ARCalias A
Draws a three-point arc.
Click the start point, click a point the arc passes through, click the endpoint. The three points must be distinct and non-collinear.
A typed number is a directed distance from the previous point · ORTHO/POLAR apply.
IMAGEalias IM
Places a raster image as an underlay to trace over. See Images & underlays.
Started from the toolbar's Image button, which opens a file picker first (there is no plain typed invocation without a file already chosen). Then click the bottom-left corner to place it, or type a width to set its initial scale before placing.
A typed number before placing sets the image's width (and scales it proportionally); the image places at one drawing unit per pixel otherwise, to be corrected with CALIBRATE.
PDFATTACHalias PDF
Places one page of a PDF as an underlay, as line work at its true scale. See Images & underlays.
Started from the toolbar's PDF button, which opens a file picker. If the file has more than one page, type the page number (Enter takes the one offered). Then type the scale the sheet was drawn at, if it is not full size, and click the bottom-left corner to place it.
The scale can be typed as 48, 1:48 or 1/4"=1', and the last one used is offered again for the next page. After a multi-page file, typing PDF places another page of it without choosing the file again.
Modify
OFFSETalias O
Creates a parallel copy of a line, polyline, circle, or arc at a fixed distance.
If a single offsettable object is already selected, it becomes the source immediately. Otherwise: type (or otherwise supply) the offset distance, click the source object, then click the side you want the copy to appear on.
The side-pick is unsnapped — it only indicates a direction. Only one offset is produced per run; start OFFSET again for another.
TRIMalias TR / EXTENDalias EX
TRIM shortens a line/polyline/circle/arc against boundary geometry; EXTEND lengthens an open end to meet boundary geometry. The two share one command flow. Neither reshapes a polyline that has a curved segment, and nor does OFFSET — each says so and leaves the polyline alone; EXPLODE it first if you need the edit.
If objects are selected before starting, those act as the boundary set; otherwise every other visible, editable object in the drawing is a valid boundary. Click the portion to remove (TRIM) or the end to extend (EXTEND) — repeat for as many edits as needed.
Enter / right-click / Esc: finish. Picks are unsnapped, since they name which piece of which object is meant, not a coordinate.
TRIM only: type F/FENCE to trim everything a drawn polyline crosses in one pass, instead of clicking one piece at a time — click each fence point, then Enter to trim every boundary edge that fence crossed. U/Undo removes the last fence point.
FILLETalias F / CHAMFERalias CHA
FILLET rounds a corner between two lines/polyline segments with an arc of a set radius; CHAMFER bevels it with a straight cut at set distance(s). Both work on independent LINE entities and on individual polyline segments/corners, and both remember the last radius/distance(s) you used between separate command runs.
Click the first line/segment, then click the second line/segment to complete that corner. The command loops back to "select the first line," so several corners can be cleaned up in one run.
Rounding a corner of a polyline — two segments meeting at one of its own vertices — leaves it a single polyline with a genuinely curved segment, not a polyline plus a loose arc: round all four corners of a rectangle and you still have one object. FILLET also accepts arcs and circles in any combination, including against a line or polyline segment. CHAMFER does not: a straight cut measured along a curve is a murkier idea than a radius, so it says so rather than guessing. Neither will work from a segment that is already curved — a rounded corner has no straight direction to build the next one from.
FILLET: type R/RAD/RADIUS first to set the radius · CHAMFER: type D/DIST/DISTANCE first to set the first distance, then a second (defaults to match the first — give a different value for an asymmetric chamfer) · Enter/right-click/Esc: finish · a zero value squares off the corner; negative values are rejected · picks are unsnapped, since each identifies an edge and a side of the corner.
JOINalias J / EXPLODEalias X / ERASEalias E, DEL, DELETE
JOIN merges selected open lines, arcs and polylines that meet end to end into one polyline; an arc becomes a curved segment of it. EXPLODE is the inverse, breaking a polyline into its independent constituent LINEs and ARCs. ERASE deletes the selection (also bound to the Delete key outside of any command).
If objects are already selected when the command starts, it applies immediately. Otherwise it prompts "select objects" and applies once you press Enter/right-click.
STRETCHalias ST
Moves the vertices of selected geometry that fall inside a crossing (partial) selection window, reshaping rather than only translating — an ordinary object pick instead moves that whole entity, matching the conventional CAD STRETCH behavior.
Make a crossing-window selection (or pick whole objects), Enter/right-click to confirm, click a base point, then click a destination.
A typed distance, a relative @ point, and ORTHO/POLAR all apply to the destination pick, same as MOVE.
CALIBRATEalias CAL
Sets an image underlay's true scale from a known distance. See Images & underlays.
Select the image first, or the command asks you to click one. Click two points on it a known distance apart, then type (or click to measure) the true distance between them.
The image is rescaled about the first point, so it stays put and everything else on it moves to match. Picks on an image are unsnapped (a raster has no snappable geometry of its own); picks on a PDF page snap to its line work, so a dimension line's two ends can be picked exactly.
Transform
MOVEalias M / COPYalias CO, CP
MOVE translates the selection; COPY duplicates it at an offset, leaving the originals in place.
Select objects (Enter/right-click to confirm, or start with a preselection to skip straight to the base point), click a base point, then click a destination.
A typed distance or relative @ point works instead of a click · ORTHO/POLAR apply to the destination pick.
ROTATEalias RO
Rotates the selection about a base point.
Select objects, click a base point, then either click a point (angle measured from base point to cursor) or type a number of degrees.
R/REF/REFERENCE: rotate by reference — give a current angle (click/type), then the target absolute angle; the rotation applied is the difference · ORTHO applies to the plain-angle pick only, not to reference picks · a net rotation of exactly 0 is rejected.
SCALEalias SC
Scales the selection about a base point.
Select objects, click a base point, then either click a point (factor = distance from base) or type a factor (a trailing x is accepted, e.g. 2x).
R/REF/REFERENCE: scale by reference — give a current reference length (two clicks or a typed length), then the new length; factor = new ÷ reference · a factor of exactly 1, a non-positive factor, or one that would produce invalid geometry is rejected.
MIRRORalias MI
Reflects the selection across a line.
Select objects, click the first point of the mirror line, click the second point, then answer "Erase source objects? [Yes/No] <No>".
Type Y/YES or N/NO, or press Enter to accept the default (No — keep the originals, so the default behaves like a mirrored copy) · ORTHO applies to the second mirror-line point · a mirrored associative dimension stays linked to its mirrored copy of the geometry, not the original.
ARRAYalias AR
Repeats the selection in a rectangular grid or around a center point, in one step.
Select objects, then type R/RECTANGULAR or P/POLAR (or Enter for whichever you used last).
Rectangular: enter the number of rows, then columns, then the spacing between rows, then between columns.
Polar: click the center point, enter the number of items, the angle to fill (positive = counterclockwise, negative = clockwise, up to ±360°), and whether to rotate each item to follow the array (Yes/No).
Every stage previews live and remembers its value as the default for next time. Enter with nothing typed accepts each bracketed default in turn, so a repeat ARRAY with the same settings is just Enter, Enter, Enter… until the final confirm. A zero spacing, a zero/over-360° fill angle, or a net-zero result is rejected.
Annotate
DIMLINEARalias DLI, DIMLIN / DIMALIGNEDalias DAL, DIMALI
DIMLINEAR measures a strictly horizontal or vertical distance; DIMALIGNED measures the true distance along the line between the two points regardless of angle.
Click the first extension-line origin, click the second, then click where the dimension line and text should sit.
ORTHO applies to the first two picks, not the placement pick · both origins are captured associatively when snapped onto real geometry, so the dimension updates if that geometry moves later (see LIST for associativity status) · for DIMLINEAR, the placement pick's offset direction determines whether the result reads as horizontal or vertical — an ambiguous placement is rejected with a prompt · requires the current layer to be unlocked and visible.
DIMRADIUSalias DRA, DIMRAD / DIMDIAMETERalias DDI, DIMDIA
Radial and diameter dimensions on a circle or arc. DIMDIAMETER only accepts circles — an arc has no real point opposite its diameter, so it's refused with a message pointing you to DIMRADIUS instead.
Click the circle/arc to measure, then click again to set which way the leader points and how far out the text sits.
Neither pick is snapped: the first names an object, the second is a free direction/distance.
TEXTalias T, DT, DTEXT
Places a single line of text.
Click the insertion point → click a point or type a value for height (Enter accepts the current dimension style's text height) → click a point or type degrees for rotation (Enter accepts 0°) → type the text content and press Enter.
ORTHO applies to the height pick · while typing content, Space is a literal space rather than the command terminator, so multi-word text is typed normally.
MTEXTalias MT (typed only — no toolbar button)
Places word-wrapped paragraph text inside a fixed-width box, unlike TEXT's single unwrapped line.
Click the insertion point → click a point or type a value for the box width → click a point or type a value for height → click a point or type degrees for rotation → type the content, Enter for a new line, and a second (blank-line) Enter to finish.
ORTHO applies to the width and height picks · the Properties panel can edit an existing MTEXT's width, height, rotation, and content afterward (see Selection & grips).
DIMSTYLEalias DST, DDIM
Opens the Dimension Style dialog (see Units & dimension style) — a direct action, not a drawing command.
Inquiry
Inquiry commands are read-only: they never modify the drawing or create an undo entry.
DISTalias DI, DISTANCE
Reports the distance and angle between two points.
Click a first point, click a second point → a report panel shows Distance, Angle (in the XY plane), Delta X, Delta Y, and both endpoint coordinates.
ORTHO applies to the picks.
IDalias ID
Reports the coordinate of a single point.
Click a point → a report panel shows its X and Y.
AREAalias AA
Computes an area and perimeter, two ways.
Point mode (default): click points one at a time; once 3+ are picked, Enter reports Area, Perimeter, and point count. The polygon shades live as you add points, with a running preview of the closing segment.
Type O/OBJECT to switch to object mode instead: select a single closed polyline or circle and its Area and Perimeter/Circumference are read directly from the entity. Type P/POINT/POINTS to switch back. Switching modes clears any points picked or selection made so far. Point mode requires 3+ points; object mode requires exactly one closed polyline or circle.
LISTalias LI
Reports full geometric detail for the selected entities.
If nothing is preselected, prompts "select objects," then Enter/right-click reports. If you select first and then type LIST, it reports immediately.
Per-type detail: LINE (endpoints, length, angle) · PLINE (vertex count, open/closed, curved segment count if any, length or perimeter, area if closed — both measured along the curves) · CIRCLE (center, radius, diameter, circumference, area) · ARC (center, radius, start/end/included angle, arc length, chord) · TEXT (position, height, rotation, content) · DIM (type, measured text and exact value, endpoints, style name, and associativity: Yes/Partial/No, based on how many of its reference points still resolve to live geometry). A multi-entity selection also gets a summary (object count, total length, total area where applicable); only the first 20 entities are detailed, with a count of how many more weren't listed.
Other commands
| Command | Alias | Effect |
|---|---|---|
| ZOOMEXTENTS | Z, ZE | Fits the view to the drawing extents (same as the Zoom Extents toolbar button). |
| UNITS | UN, DDUNITS | Opens the Units dialog. |
| PLOT | PLT, PRINT | Opens the Plot to PDF dialog. See Plotting to PDF. |
| PDFATTACH | PDF | Places a page of the PDF last chosen with the toolbar's PDF button. See Images & underlays. |
| UNDERLAY | IP | Opens the Image Properties dialog for the selected image (fade, lock, layer). See Images & underlays. Also reachable via the toolbar's Image Props button. |
| DXFOUT | DXF, DXFEXPORT | Exports the drawing as an AutoCAD DXF file. See DXF import & export. |
| DXFIN | DXFIMPORT | Imports an AutoCAD DXF file, replacing the current drawing. See DXF import & export. |
| SELECT | S | The idle mode everything returns to — click to pick objects, drag for a window/crossing selection. Not a drawing command in its own right. |