docs / workbenches / Workbenches

Workbenches

A workbench trims the feature-creation UI to one kind of work. Choose it from the Workbench column at the left of the File menu: one row per workbench, each with its icon, the current one highlighted. Built-in workbenches appear in registry order; installed plugin workbenches follow them. The choice controls:

PMI also activates saved views while editing annotations, restoring the modeling camera and display state when you leave that mode.

The one rule worth remembering

A workbench is a filter over creating features. It never changes what the feature history executes, renders, or lets you edit.

A document full of sheet-metal features opens and works identically under Modeling: every feature is still listed in the History panel, still runs, and still opens its parameter form for editing. Only the "add something new" lists are trimmed. Switching workbench therefore cannot break a model, and you can switch at any time.

The fourteen workbenches

The built-in workbenches, in File-menu order:

WorkbenchIdFor
AllallEverything, unfiltered — the escape hatch
ModelingmodelingGeneral solid modeling (the default)
Sheet MetalsheetMetalFolded sheet parts and flat patterns
Wire harnesswireHarnessRouting wires between connection points over spline paths
AssemblyassemblyPlacing parts and constraining them
PMIpmiAnnotating views: dimensions, GD&T, notes, exploded views; AP242 PMI in STEP
DrawingdrawingDrawing sheets: saved views on paper, sheet dimensions, sections, details; SVG and PDF
DiagramdiagramWiring and systems diagrams: point-to-point connections, the connection list
PCBpcbSchematic capture and board layout
SymbolsymbolA part's schematic symbol
PadspadsA part's footprint pads
CAMcamMachining the part: setups, tools, operations, toolpaths and NC programs
InstructionsinstructionsManufacturing instructions for an assembly, step by step
SimulationsimulationMotion studies of an assembly: mates as motors on a timeline

PMI, Drawing, Diagram, PCB, Symbol, Pads, CAM, Instructions and Simulation create no features, so their Add-feature palette is empty. What each adds instead — panels, toolbar buttons and, for PMI, the actions strip's Annotations group — is in the matrices below. The four eCAD workbenches (Diagram, PCB, Symbol, Pads) also draw their editor in place of the 3D view.

How the choice is remembered

Two things besides the File menu move you between workbenches. Importing a STEP file as an assembly into a document that was not already an assembly switches you to the Assembly workbench, because the structure tree and constraints panels are gated on it — unless your workbench already shows those panels (Assembly, Wire harness or All). And the Qualify pane's Symbol / Pads / 3D buttons carry a selected connection point to the workbench that draws it (3D is left alone when you are already in a 3D workbench). Neither switch is written back to your saved boot preference.

Feature matrix

Rows are the feature catalogue in palette order; a • means the palette and the context bar offer that feature in that workbench.

FeatureType codeAllModelingSheet MetalWire harnessAssemblyPMIDrawingDiagramPCBSymbolPadsCAM
DatiumD•••••
PlaneP•••••
Primitive CubeP.CU••
Primitive CylinderP.CY••
Primitive ConeP.CO••
Primitive SphereP.S••
Primitive TorusP.T••
Primitive PyramidP.PY••
NURBS SolidNS••
Import 3D ModelIMPORT3D••
SketchS•••••
SplineSP•••
WaypointWP•••
HelixHX••
ExtrudeE••
BooleanB••
FilletF••
ChamferCH••
Offset ShellO.S••
Offset FaceO.F••
Push FacePF••
Transform FaceTF••
Delete FaceDF••
Refit FacesRFS••
ThickenTHK••
Sheet Metal TabSM.TAB••
Sheet Metal Contour FlangeSM.CF••
Sheet Metal FlangeSM.F••
Sheet Metal HemSM.HEM••
Sheet Metal Closed CornerSM.CLOSED_CORNER••
Sheet Metal MirrorSM.MIRROR••
Sheet Metal Corner FilletSM.FILLET••
Sheet Metal Corner ChamferSM.CHAMFER••
Sheet Metal CutoutSM.CUTOUT••
LoftLOFT••
MirrorM••
SplitSPL••
RevolveR••
RibRIB••
SweepSW••
Path SweepSWP••
HoleH••
TubeTU••
TransformXFORM••
PatternPATTERN••
Assembly ComponentACOMP•••

Totals: All 43, Modeling 35, Sheet Metal 10, Assembly 4, Wire harness 6, PMI 0, Drawing 0, Diagram 0, PCB 0, Symbol 0, Pads 0, CAM 0.

The rule per workbench:

The filter matches the type code, not the short name: the corner treatments are SM.FILLET / SM.CHAMFER (short names SM.CFIL / SM.CCHM), which is why both land in Sheet Metal.

Panel matrix

Panels are claim-based: a panel is visible everywhere unless some workbench claims it, and then it shows only in the workbenches that claim it — plus All, which sees every panel. Wire harness claims the two assembly panels as well as its own, because a harness routes across placed components. Two panels are conditional (◦), claimed by nobody and shown only while the open document calls for them: Qualify while the part declares connection points, and Family table while the document is a family seed (.fbrep).

Dock tabPanel idAllModelingSheet MetalWire harnessAssemblyPMIDrawingDiagramPCBSymbolPadsCAMInstructionsSimulation
3D View(not filterable)•••••••editoreditoreditoreditor•••
Historyhistory••••••••••••••
Scenescene••••••••••••••
Expressionsexpressions••••••••••••••
BOMassemblyBom•••
Constraints (Assembly)assemblyConstraints•••
Wire HarnesswireHarness••
PMIpmi••
Sheetssheets••
Assembly partsecadLibrary•••
InspectorecadInspector•••••
Qualifyqualify◦◦◦◦◦◦◦◦◦◦◦◦◦◦
Family tablefamilyTable◦◦◦◦◦◦◦◦◦◦◦◦◦◦
CAMcam••
Instructionsinstructions••
PlayerinstructionsPlayer••
Simulationsimulation••

Switching workbench changes only which panels are on screen, never where they are. A hidden panel's tab disappears from its strip, the strip keeps its width, and the panel comes back in the same place. A panel pulled out into its own split takes the split with it while hidden, leaving no empty tab bar.

By default every panel is a tab in one full-height strip down the left of the window, in the order of the table above except that Constraints comes before BOM. Drag a tab out to split it off, or onto another tab group to stack it there; the arrangement is saved and shared by every workbench. A panel that a newer version of the app adds arrives as the last tab of the strip holding most of your panels, and the rest of your arrangement stays as you left it.

Opening any dialog — a feature, a PMI annotation, an assembly constraint or a sheet object, from a panel, the context bar, a toolbar button or its label in the 3D view — brings the panel that hosts it to the front of its group, including when you re-open one whose form sits behind another tab. The exception is a panel the active workbench does not carry: nothing moves.

Toolbar button matrix

The table lists every button. All's row is the union of every other workbench's; every row ends with the shared sketch tools; and PCB's row also borrows Assembly's Add component after its own. A button id leads with its owner's id and a dot (assembly.interference), and a shared one with sketch., so an id names one button wherever it is used.

Ribbon is the default toolbar style. Settings ▸ Appearance ▸ Toolbar style selects Ribbon or Classic globally; the choice follows you between documents and persists through the user settings store.

Ribbon has three tabs in order: Home, View, Help. Home opens with the File group (New, Open, Save, Save As, Import, Export) and the Undo group (Undo, Redo), followed by every group the active workbench offers: its creation commands and its action and tool groups alike (Modeling's Reference, Primitives and the rest; Drawing's sheet, view and dimension tools; Schematic, PCB, Symbol and Pads editors' tools, including PCB's View group that switches between the schematic and the board). Nothing a workbench offers waits on another tab. View holds the display and camera controls. Plugin management is not on a tab: the Plugins and JavaScript rows sit under Settings in the File menu. Groups come from each command's registered ribbon path. Every group draws a border in the theme's stroke with its label inside, in the tab and again in More.

Each tab chooses its button sizes from the width it has. When every command of the tab fits Large, every command is Large, including the ones registered small. Otherwise each command takes its registered size: Large buttons pack from the left of their group, and runs of small icons wrap into rows (two inside the Large height, filled top to bottom) before the group grows a column wider. When that still does not fit, every command is small and wrapped, and only then do whole groups move into More. Overflow keeps their icons, labels, menus and enabled or pressed state. Command ids, shortcuts and dispatch are the same in both styles.

Classic keeps the compact wrapping primary toolbar and a separate creation strip below it. Group boundaries are separators. Its offered commands wrap onto additional rows rather than moving into ribbon overflow.

The shared File menu has two columns. The left column is the Workbench picker, one row per workbench with its icon. The right column, Document, lists New part, New family, New template, Open, Save, Save As, Import, Export, Document Properties, Settings, Plugins and JavaScript. Below both columns, when there are any, the Recent Documents run as a single column, each row with a thumbnail of the document at its left. New choices, recent documents and workbenches are flat sections, without cascading submenus. On shorter windows the recent list scrolls under the menu's height cap while the columns stay put; only a window too short for the columns themselves scrolls the whole menu. Properties, Settings, Plugins and JavaScript are owned by File and are not duplicated on a ribbon tab.

ButtonIdOwnerOfferedWhat it does
Export flat pattern (DXF / SVG)sheetmetal.flat_patternSheet MetalalwaysOpens the export modal in its flat-pattern mode
Declare connection pointwireharness.declare_pointWire harnesswhile the part declares no connection pointsWrites the part's first port group, which is what puts the Qualify pane on screen
Add componentassembly.add_componentAssemblyPCB onlyOpens the insert-component modal; Assembly and All use Assembly Component instead
step.parts libraryassembly.step_parts_libraryAssemblyalwaysOpens the online STEP part browser
Auto constraintsassembly.auto_constrainAssemblyalwaysInfers the mates the current placement already implies and opens the window that lists them
Interference checkassembly.interferenceAssemblyalwaysRuns the pairwise intersect sweep and opens the results window
Capture viewpmi.capture_viewPMIalwaysSnapshots the camera and visibility into a new active PMI view
Add sheetdrawing.add_sheetDrawingalwaysAdds a drawing sheet and opens it on the paper
Place viewdrawing.place_viewDrawingalwaysPlaces a saved PMI view on the open sheet and opens its dialog
Back to 3Ddrawing.sheet_closeDrawingwhile a sheet is openCloses the open drawing sheet; the viewport draws the model again
Horizontaldrawing.dim.horizontalDrawingwhile a sheet is openAdds a horizontal sheet dimension and opens its dialog, where its anchors are picked
Verticaldrawing.dim.verticalDrawingwhile a sheet is openAdds a vertical one
Aligneddrawing.dim.alignedDrawingwhile a sheet is openAdds an aligned one (the true distance)
Angulardrawing.dim.angularDrawingwhile a sheet is openAdds an angular dimension between two straight projected edges
Radiusdrawing.dim.radiusDrawingwhile a sheet is openAdds a radius dimension on a projected circle
Diameterdrawing.dim.diameterDrawingwhile a sheet is openAdds a diameter dimension
Horizontal ordinate setdrawing.ord.horizontalDrawingwhile a sheet is openAdds an ordinate set reading along the paper's x and opens its dialog
Vertical ordinate setdrawing.ord.verticalDrawingwhile a sheet is openAdds an ordinate set reading up the paper
Section viewdrawing.sectionDrawingwhile a sheet is openAdds a section view and opens its dialog, where two anchors on a placed view are picked as its cutting line
BOM tabledrawing.bomDrawingwhile a sheet is openInserts the sheet's BOM table (one per sheet) and opens the sheet's dialog, where its columns, position and column width are chosen
Detail viewdrawing.detailDrawingwhile a sheet is openAdds a detail view and opens its dialog, where a centre anchor and a rim anchor on a placed view are picked as its circle
Selectdiagram.sheet.tool.selectDiagramalwaysPicks and drags devices and wire segments; drag from pin to pin to connect
Rotate 90°diagram.sheet.place.rotateDiagramwhile placing a partTurns the part being placed a quarter turn
Schematicpcb.view.schematicPCBalwaysShows the schematic
PCBpcb.view.boardPCBalwaysShows the board, laid out from the schematic's parts and nets; greyed while the autorouter runs
Selectpcb.sheet.tool.selectPCBin the schematicPicks and drags components, wires and labels; drag between terminals to connect
Draw wirepcb.sheet.tool.wirePCBin the schematicDraws a wire from a pin or grid point
Junctionpcb.sheet.tool.junctionPCBin the schematicJoins two crossing wires with a dot, or removes one
Net labelpcb.sheet.tool.labelPCBin the schematicNames a net by labelling a wire or pin
No-connectpcb.sheet.tool.no_connectPCBin the schematicMarks the pin clicked as meant to be left open (), so the electrical rule check does not ask for it to be joined; a second click takes the mark off
Power flagpcb.sheet.tool.power_flagPCBin the schematicPuts a PWR_FLAG on the pin clicked, or on the net of the wire clicked, so its power inputs read as driven from off the sheet; a second click takes it off
Power symbolpcb.sheet.tool.powerPCBin the schematicPlaces a power symbol (GND, VCC, +3V3, +5V or a typed name); every symbol of one name is one net, which the netlist carries under that name
Selectpcb.board.tool.selectPCBon the boardDrags parts; picks tracks and vias
Route trackpcb.board.tool.routePCBon the boardDraws a copper track from a pad
Draw zonepcb.board.tool.zonePCBon the boardDraws a copper zone corner by corner on the active layer, pouring the net chosen in the Inspector (GND until one is chosen); closing it fills it
Copper layerpcb.board.layerPCBon the boardOpens the board's copper layers by name (F.Cu … B.Cu), the one tracks go on ticked
Rotate 90°pcb.sheet.place.rotatePCBwhile placing a partTurns the part being placed a quarter turn
Bend directionpcb.sheet.wire.bendPCBwhile drawing a wireSwitches which way the wire bends: vertical or horizontal first
Finish wirepcb.sheet.wire.finishPCBwhile drawing a wireEnds the wire being drawn; greyed until one is started
Corner directionpcb.board.route.cornerPCBwhile routing a trackSwitches which way the track corners: 45° or straight first
Place viapcb.board.route.viaPCBwhile routing a trackDrops a via and carries the track on to the next copper layer; greyed until a track is started on a board with more than one layer
Finish trackpcb.board.route.finishPCBwhile routing a trackEnds the track being drawn; greyed until one is started
Close zonepcb.board.zone.finishPCBwhile drawing a zoneCloses the zone being drawn and fills it; greyed until it has three corners
Fill zonespcb.board.zones.fillPCBon the boardRefills every zone against the copper as it is now (B); greyed while the board has no zones
Selectsymbol.tool.selectSymbolalwaysPicks and drags the symbol's graphics, pins and text
Linesymbol.tool.lineSymbolalwaysDraws a line
Rectanglesymbol.tool.rectangleSymbolalwaysDraws a rectangle, such as the symbol's body
Circlesymbol.tool.circleSymbolalwaysDraws a circle
Pinsymbol.tool.pinSymbolalwaysPlaces a pin; its label names the part's connection point of the same name
Textsymbol.tool.textSymbolalwaysPlaces text
Selectpads.tool.selectPadsalwaysPicks and drags pads and graphics
SMD padpads.tool.smdPadsalwaysPlaces a surface-mount pad
Through-hole padpads.tool.through_holePadsalwaysPlaces a plated through-hole pad
Linepads.tool.linePadsalwaysDraws a line
Rectanglepads.tool.rectanglePadsalwaysDraws a silkscreen rectangle (the courtyard is drawn for you)
Circlepads.tool.circlePadsalwaysDraws a circle
Snapping gridpads.gridPadsalwaysOpens the grid a click snaps to, 0.01 mm to 2.54 mm with the 25, 50 and 100 mil pitches, the one in use ticked
New setupcam.new_setupCAMalwaysAdds a setup (work coordinate system, stock and heights) and selects it
New toolcam.new_toolCAMalwaysAdds a tool to the document's library with the next free tool number and selects it
New operationcam.new_operationCAMalwaysAdds an operation to the selected setup with the selected tool, or says which is missing
Generatecam.generateCAMalwaysComputes the toolpaths of every operation that needs it, in the background
New from assemblyinstructions.newInstructionsalwaysOpens new instructions for the open (saved) assembly in a new tab, with the wizard's steps
Wizardinstructions.wizardInstructionsalwaysProposes the steps again: sub-assemblies first, then mate order, fasteners last
New stepinstructions.new_stepInstructionsalwaysInserts an empty step after the selected one
Playinstructions.playInstructionswhile instructions are openPlays the instructions in the Player pane, step by step, in shop or customer mode
New studysimulation.new_studySimulationwhile an assembly is openStarts a motion study of the assembly in the Simulation pane
Add motorsimulation.add_motorSimulationwhile an assembly is openAdds a motor to the active study: a distance or angle mate driven at a speed or along a profile
Selectsketch.tool.selectevery workbenchwhile a sketch is being editedPicks and drags sketch entities — the neutral state every other tool returns to
Pointsketch.tool.pointevery workbenchwhile a sketch is being editedPlaces a point
Linesketch.tool.lineevery workbenchwhile a sketch is being editedDraws connected line segments; Esc ends the chain
Rectanglesketch.tool.rectevery workbenchwhile a sketch is being editedDraws a rectangle from two opposite corners
Circlesketch.tool.circleevery workbenchwhile a sketch is being editedDraws a circle from its centre and a point on it
Arcsketch.tool.arcevery workbenchwhile a sketch is being editedDraws an arc from centre, start and end
Beziersketch.tool.bezierevery workbenchwhile a sketch is being editedDraws a bezier — end, control, control, end; clicking an existing spline adds a point to it
Freehandsketch.tool.handdrawevery workbenchwhile a sketch is being editedSketches a freehand stroke and fits it to a line, circle or arc
Trimsketch.tool.trimevery workbenchwhile a sketch is being editedTrims a curve back to its crossings
Link edgesketch.tool.pickEdgesevery workbenchwhile a sketch is being editedLinks an external model edge into the sketch as a reference
Textsketch.tool.textevery workbenchwhile a sketch is being editedPlaces text outlines inside a constrainable construction rectangle; select the text to edit its contents and font
Auto-constrainsketch.autoconstrainevery workbenchwhile a sketch is being editedInfers the coincident and horizontal/vertical constraints the rough-in geometry already implies
Selectsketch3d.tool.selectevery workbenchwhile a 3D sketch is being editedPicks and drags 3D sketch points and curves — the neutral state every other tool returns to
Pointsketch3d.tool.pointevery workbenchwhile a 3D sketch is being editedPlaces a point, on model geometry under the cursor or on the working plane
Linesketch3d.tool.lineevery workbenchwhile a 3D sketch is being editedDraws connected line segments in 3D; Esc ends the chain, Tab switches the working plane
Arcsketch3d.tool.arcevery workbenchwhile a 3D sketch is being editedDraws an arc from centre, start and end
Beziersketch3d.tool.bezierevery workbenchwhile a 3D sketch is being editedDraws a bezier — end, control, control, end
Link referencesketch3d.tool.pickRefevery workbenchwhile a 3D sketch is being editedLinks a model vertex, edge, face or datum plane into the sketch as a fixed reference
Working plane XYsketch3d.plane.xyevery workbenchwhile a 3D sketch is being editedA free click lands on the XY plane through the last placed point
Working plane YZsketch3d.plane.yzevery workbenchwhile a 3D sketch is being editedA free click lands on the YZ plane through the last placed point
Working plane XZsketch3d.plane.xzevery workbenchwhile a 3D sketch is being editedA free click lands on the XZ plane through the last placed point

Modeling declares no buttons of its own. Wire harness declares one, and no Route button: routing happens on every rebuild.

Conditional buttons. A button offered only in some state says so in the Offered column, and All's row inherits the condition. Drawing's twelve sheet buttons join the row while a drawing sheet is open; the twelve sketch tools while a sketch is being edited, and the nine 3D sketch buttons while a 3D sketch is being edited. The armed draw tool draws pressed; the sheet buttons are momentary — each adds its object and opens its dialog. The describe_workbenches command reports what is offered right now as activeButtons, and pressing a button that is not offered is refused.

Shared buttons. Sketch mode is entered from a sketch feature's form, not created, so its tools belong to no workbench: they are appended to every row. The sketcher has the same tools wherever you switched from, switching workbench mid-sketch keeps them, and it has no strip of its own; see Sketch.

The workbench actions toolbar

In Classic, a second strip directly under the primary toolbar shows the active workbench's creatable features as one icon button each — exactly its column of the feature matrix, grouped by their registered ribbon paths. Within each group, commands retain catalogue order. Clicking one adds that feature as the Add new feature palette would (Assembly Component opens the insert-component modal) and brings the History panel forward to its form.

In a workbench that shows the Constraints panel — Assembly, Wire harness and All — the strip adds a Constraints group: one button per assembly-constraint type, with the constraint's icon and its name as the tooltip. It adds that constraint with its elements pre-seeded from the selection and opens it in the Constraints panel.

In a workbench that shows the PMI panel — PMI and All — the strip adds an Annotations group the same way: it adds that annotation to the active view with its references pre-seeded from the selection and opens its dialog in the PMI panel; with no active view it says so.

The strip is hidden while a sketch is being edited and during reference selection, and can be switched off with Settings ▸ Appearance ▸ Show workbench actions toolbar (on by default, saved with your display settings). PMI's strip is the Annotations group alone; Drawing and the four eCAD workbenches, which offer none of the three groups, draw no strip.

Ribbon uses the same creation descriptors on Home, after its File and Undo groups. Reference always comes directly after Undo, ahead of a workbench's own group such as Sheet Metal or Assembly. The common modeling groups are:

Datum, Plane, Sketch, Extrude and Revolve are registered Large, as are File's New, Open and Save; every other Home command is a small icon, so on an ordinary window Home keeps those Large and wraps the rest into rows beside them.

Clicking a creation icon on Home, on Classic's creation strip, or picking a feature in History's Add new feature search creates the feature with its reference fields pre-seeded from the current selection, exactly as the context bar's feature buttons do: a selected face becomes Extrude's profile, selected edges become Fillet's edges, and a selection the feature has no field for is simply ignored.

While a sketch is being edited the creation groups leave Home and the sketch's own tools (select, point, line, rectangle, circle, arc, bezier, freehand, trim, link external edge, auto-constrain) take their place as a Sketch group beside File and Undo; the group goes away when the edit ends. Classic keeps them in its workbench row.

The creation visibility setting also applies to Ribbon's Home commands. Neither renderer creates features while sketch editing or reference selection owns the shell.