Designer commands
Everything the Designer does is a command. The menus, the toolbar, the right-click menus, the keys, Help > Find a command and agents all run the same 132 commands, so a command behaves the same wherever it is started. A command that cannot run yet says why: hover over it in a menu, or read the reason an agent gets back.
Each entry's anchor is the command's help topic, such as #designer-part-fillet, so a link to it keeps working when the title changes.
Files and documents
New part
Adds a part document to the design and opens it.
- Where: File > New part; the documents list
- Works in: part documents and assembly documents
- For agents:
file.newPart, throughdesigner-run-command - Values:
name(string): The document's name.
New assembly
Adds an assembly document to the design and opens it.
- Where: File > New assembly; the documents list
- Works in: part documents and assembly documents
- For agents:
file.newAssembly, throughdesigner-run-command - Values:
name(string): The document's name.
Open document
Opens a part or assembly document of the design in the view.
- Where: the documents list
- Works in: part documents and assembly documents
- For agents:
file.openDocument, throughdesigner-run-command - Values:
document(string, required): The document's id, as the documents list and designer-list-documents give it.
Rename document
Renames a part or assembly document; a person's run without a name asks for it in the documents list.
- Where: File > Rename document; the right-click menu; the documents list
- Works in: part documents and assembly documents
- For agents:
file.renameDocument, throughdesigner-run-command - Values:
document(string): The document's id; the open one when left out.name(string): The new name.
Delete document
Deletes a part or assembly document from the design, once no assembly uses it.
- Where: File > Delete document; the right-click menu; the documents list
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
document(string): The document's id; the open one when left out.confirmed(boolean): A person's run asks first unless this is true.
Load files from a site
Lets the design load the files it names from another site, until the Designer closes.
- Where: the dock
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
host(string, required): The site the files come from, such as example.com.
Import design documents
Adds the design documents of .design.json or Designer project files, replacing the ones with the same id.
- Where: File > Import design documents
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
documents(array): The design documents to add; a person's run picks files instead.
Import STEP, IGES or BREP
Keeps a STEP, IGES or BREP file with the project and starts a part that imports it.
- Where: File > Import STEP, IGES or BREP
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
uri(string): The file's full link; a person's run picks a file and keeps it with the project instead.sha256(string): The SHA-256 of the file's bytes, 64 lower-case hexadecimal digits.format(one of"step","iges","brep","brep-binary"): The file's format.name(string): The new part document's name.
Export...
Saves the project, with or without the geometry built in this browser, or the open document as a design document, STEP, GLB, BREP or STL.
- Where: File > Export...; the export dialog
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
format(one of"step","glb","brep","stl","document","project","projectGeometry"): What to save; left out, a person chooses in the export dialog.
Keep geometry for fast opening
Keeps the shapes and meshes of the latest builds beside the project on bitbybit.dev, so it opens at once on any machine; only the latest is kept, never in history or backups.
- Where: File > Keep geometry for fast opening
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
on(boolean): Whether to keep it; left out, a person's run switches it.
Export STEP
Saves the open document's build as STEP, with its parts, names and colours.
- Where: Help > Find a command, then Export STEP
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
Export GLB
Saves the open document's build as a binary glTF model.
- Where: Help > Find a command, then Export GLB
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
Export BREP
Saves the open part document's geometry as an OpenCascade BREP file.
- Where: Help > Find a command, then Export BREP
- Works in: part documents
- For agents: only a person runs it; agents see it as unavailable
Export STL
Saves the open part document's geometry as a binary STL mesh.
- Where: Help > Find a command, then Export STL
- Works in: part documents
- For agents: only a person runs it; agents see it as unavailable
Export design document
Saves the open design document as a .design.json file.
- Where: Help > Find a command, then Export design document
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
Save the steps
Saves what was done in this session as a step file: the commands, in order, that make the project's documents again.
- Where: the dock
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
Save
Saves the project where it was opened from.
- Where: File > Save
- Key: Ctrl+S, ⌘S on macOS
- Works in: part documents and assembly documents
- For agents:
file.save, throughdesigner-run-command
Editing
Apply a patch
Changes the open design document, or the one named, by an RFC 6902 patch (add, remove, replace and test), as one undoable change under a label.
- Where: Help > Find a command, then Apply a patch
- Works in: part documents and assembly documents
- For agents:
edit.applyPatch, throughdesigner-run-command - Values:
patch(list of objects, required): The operations, applied in order.label(string): What the change does, as the history shows it.baseRevision(number): The revision the patch was made against.document(string): The document's id; the open one when left out.
Keep the agent's change
Keeps an agent's change that waits for review: one entry, or every one in the document.
- Where: Edit > Keep the agent's change; the dock
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
document(string): The document's id; the open one when left out.entry(string): One entry, such as feature:fillet2 or parameter:width; every entry waiting when left out.
Undo the agent's change
Puts back what an agent changed that waits for review, as it was before: one entry, or every one in the document.
- Where: Edit > Undo the agent's change; the dock
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
document(string): The document's id; the open one when left out.entry(string): One entry, such as feature:fillet2 or parameter:width; every entry waiting when left out.
Keep agents' changes without review
Agents' changes are kept as they are made, without waiting for review, until the page is loaded again.
- Where: Edit > Keep agents' changes without review; the dock
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
Show in the view
Selects a component, sub-assembly or part and glows it in the view until the next click, without moving the camera.
- Where: the Features panel
- Works in: part documents and assembly documents
- For agents:
selection.show, throughdesigner-run-command - Values:
row(string, required): The tree row to select and glow: component:<id>, occurrence:<path> or part:<id>.
Select one level deeper
Selects the next level down the picked part's place: in an assembly its component, then each sub-assembly, then the part; in a part document the part.
- Where: Edit > Select one level deeper
- Works in: part documents and assembly documents
- For agents:
selection.deeper, throughdesigner-run-command
Repair reference
Makes a feature's face reference name other faces, such as those the build found most like the faces it lost.
- Where: the dock; a feature's dialog
- Works in: part documents
- For agents:
edit.repairReference, throughdesigner-run-command - Values:
id(string, required): The feature's id.path(string, required): The face reference's JSON pointer inside the feature, such as /on/face or /edges/between/0: a build repair's path after /features/<index>.faces(list of numbers, required): The faces to name, numbered as a build repair numbers them.
Undo
Undoes your last change to this document.
- Where: Edit > Undo; the right-click menu
- Key: Ctrl+Z, ⌘Z on macOS
- Works in: part documents and assembly documents
- For agents:
edit.undo, throughdesigner-run-command
Redo
Does again what you last undid.
- Where: Edit > Redo; the right-click menu
- Key: Ctrl+Shift+Z, ⌘⇧Z on macOS
- Works in: part documents and assembly documents
- For agents:
edit.redo, throughdesigner-run-command
Edit feature
Opens the selected feature's dialog; given fields, a run by an agent changes them at once.
- Where: Edit > Edit feature; the right-click menu; the Features panel; the Properties panel
- Works in: part documents
- For agents:
edit.editFeature, throughdesigner-run-command - Values:
id(string): The feature's id.
Delete
Deletes the selected feature, with withDependents also everything that uses it; with faces picked in the view and no feature selected, removes those faces (Delete face).
- Where: Edit > Delete; the right-click menu; the Features panel; the Properties panel
- Key: Del
- Works in: part documents
- For agents:
edit.delete, throughdesigner-run-command - Values:
id(string): The feature's id.withDependents(boolean): Also delete every feature and part that uses it.
Delete with what uses it
Deletes the selected feature and every feature and part that uses it, in one step.
- Where: Edit > Delete with what uses it; the right-click menu; the Properties panel
- Works in: part documents
- For agents:
edit.deleteWithDependents, throughdesigner-run-command - Values:
id(string): The feature's id.
Suppress or restore
Leaves the selected feature out of the build, or brings it back.
- Where: Edit > Suppress or restore; the right-click menu; the Properties panel
- Works in: part documents
- For agents:
edit.suppress, throughdesigner-run-command - Values:
id(string): The feature's id.
Reorder feature
Moves a feature before or after another; refused when it would come before what it uses or after what uses it.
- Where: the Features panel
- Works in: part documents
- For agents:
edit.moveFeature, throughdesigner-run-command - Values:
id(string, required): The feature to move.target(string, required): The feature it goes next to.after(boolean): After the target; before it when false.
Roll back to here
Builds the part only up to the selected feature, and adds new features right after it.
- Where: Edit > Roll back to here; the right-click menu
- Works in: part documents
- For agents:
edit.rollBack, throughdesigner-run-command - Values:
id(string): The feature to roll back to; it stays built.
Roll to the end
Builds every feature again and adds new features at the end.
- Where: Edit > Roll to the end; the right-click menu; the Features panel
- Works in: part documents
- For agents:
edit.rollToEnd, throughdesigner-run-command
Clear selection
Unpicks every face and edge picked in the view.
- Where: Edit > Clear selection; the right-click menu; the Properties panel
- Key: Esc
- Works in: part documents and assembly documents
- For agents:
selection.clear, throughdesigner-run-command
Pick faces and edges
Lets a click in the view pick a face or an edge, whichever is under the pointer.
- Where: Edit > Pick faces and edges; the status bar
- Key: 1
- Works in: part documents and assembly documents
- For agents:
selection.pickAll, throughdesigner-run-command
Pick faces only
Lets a click in the view pick only faces, passing over the edges near the pointer.
- Where: Edit > Pick faces only; the status bar
- Key: 2
- Works in: part documents and assembly documents
- For agents:
selection.pickFaces, throughdesigner-run-command
Pick edges only
Lets a click in the view pick only edges, so faces are never picked by mistake.
- Where: Edit > Pick edges only; the status bar
- Key: 3
- Works in: part documents and assembly documents
- For agents:
selection.pickEdges, throughdesigner-run-command
Show in tree
Selects the feature that made the picked face or edge.
- Where: Edit > Show in tree
- Works in: part documents
- For agents:
selection.showInTree, throughdesigner-run-command
OK
Applies the open dialog: adds the feature or solid, or keeps the edit.
- Where: a feature's dialog; a solid's dialog
- Key: Enter
- Works in: part documents and assembly documents
- For agents:
dialog.ok, throughdesigner-run-command
Cancel
Closes the open dialog and drops what it would add or change.
- Where: a feature's dialog; a solid's dialog
- Works in: part documents and assembly documents
- For agents:
dialog.cancel, throughdesigner-run-command
The view
Follow agent
Lets an agent's view commands turn your camera; while off, an agent's views are its own and its captures show them.
- Where: View > Follow agent
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
Zoom to selection
Zooms onto a component, sub-assembly or part, glowing it until the next click; with none named, onto the selected one, else the part the last pick lies on.
- Where: View > Zoom to selection; the dock; the Features panel; the Properties panel
- Key: Shift+F, ⇧F on macOS
- Works in: part documents and assembly documents
- For agents:
view.focus, throughdesigner-run-command - Values:
row(string): The tree row to select and zoom onto: component:<id>, occurrence:<path> or part:<id>.rows(list of strings): Several such rows, selected and framed together, such as the two parts of a clash.
Faces
Shows or hides the faces; with them hidden every edge shows through.
- Where: View > Faces
- Works in: part documents and assembly documents
- For agents:
view.faces, throughdesigner-run-command
Edges
Shows or hides the edges, in shaded and in realistic views alike.
- Where: View > Edges
- Works in: part documents and assembly documents
- For agents:
view.edges, throughdesigner-run-command
Triangles
Draws the faces as the triangles the view meshes them into.
- Where: View > Triangles
- Works in: part documents and assembly documents
- For agents:
view.triangles, throughdesigner-run-command
Realistic
Lights the parts as their materials and finishes look, from a city environment and a sun casting soft shadows; off is the matte CAD look.
- Where: View > Realistic
- Works in: part documents and assembly documents
- For agents:
view.realistic, throughdesigner-run-command
Fit all
Frames the whole model.
- Where: View > Fit all; the right-click menu; the view bar
- Key: F
- Works in: part documents and assembly documents
- For agents:
view.fit, throughdesigner-run-command
Iso view
Turns the camera to the iso view.
- Where: View > Iso view; the view cube
- Key: Shift+7, ⇧7 on macOS
- Works in: part documents and assembly documents
- For agents:
view.iso, throughdesigner-run-command
Front view
Turns the camera to the front view.
- Where: View > Front view
- Key: Shift+1, ⇧1 on macOS
- Works in: part documents and assembly documents
- For agents:
view.front, throughdesigner-run-command
Back view
Turns the camera to the back view.
- Where: View > Back view
- Key: Shift+2, ⇧2 on macOS
- Works in: part documents and assembly documents
- For agents:
view.back, throughdesigner-run-command
Left view
Turns the camera to the left view.
- Where: View > Left view
- Key: Shift+3, ⇧3 on macOS
- Works in: part documents and assembly documents
- For agents:
view.left, throughdesigner-run-command
Right view
Turns the camera to the right view.
- Where: View > Right view
- Key: Shift+4, ⇧4 on macOS
- Works in: part documents and assembly documents
- For agents:
view.right, throughdesigner-run-command
Top view
Turns the camera to the top view.
- Where: View > Top view
- Key: Shift+5, ⇧5 on macOS
- Works in: part documents and assembly documents
- For agents:
view.top, throughdesigner-run-command
Bottom view
Turns the camera to the bottom view.
- Where: View > Bottom view
- Key: Shift+6, ⇧6 on macOS
- Works in: part documents and assembly documents
- For agents:
view.bottom, throughdesigner-run-command
Turn up
Turns the view a quarter round, to the face above on screen.
- Where: View > Turn up
- Works in: part documents and assembly documents
- For agents:
view.turn.up, throughdesigner-run-command
Turn down
Turns the view a quarter round, to the face below on screen.
- Where: View > Turn down
- Works in: part documents and assembly documents
- For agents:
view.turn.down, throughdesigner-run-command
Turn left
Turns the view a quarter round, to the face on the left of the screen.
- Where: View > Turn left
- Works in: part documents and assembly documents
- For agents:
view.turn.left, throughdesigner-run-command
Turn right
Turns the view a quarter round, to the face on the right of the screen.
- Where: View > Turn right
- Works in: part documents and assembly documents
- For agents:
view.turn.right, throughdesigner-run-command
Roll left
Rolls the view a quarter round counter-clockwise about the line of sight.
- Where: View > Roll left
- Works in: part documents and assembly documents
- For agents:
view.turn.rollLeft, throughdesigner-run-command
Roll right
Rolls the view a quarter round clockwise about the line of sight.
- Where: View > Roll right
- Works in: part documents and assembly documents
- For agents:
view.turn.rollRight, throughdesigner-run-command
Look at
Turns the camera square onto the picked face.
- Where: View > Look at; the view bar
- Key: N
- Works in: part documents and assembly documents
- For agents:
view.lookAt, throughdesigner-run-command
Perspective
Draws the view in perspective instead of the orthographic projection CAD drawings use.
- Where: View > Perspective; the view bar
- Works in: part documents and assembly documents
- For agents:
view.perspective, throughdesigner-run-command
Lock rotation
A left drag draws a selection box instead of turning the view; the right button still pans. On while a sketch is open.
- Where: View > Lock rotation; the view bar
- Works in: part documents and assembly documents
- For agents:
view.lockRotation, throughdesigner-run-command
Show or hide the grid
The ground grid, scaled to the model.
- Where: View > Show or hide the grid; the view bar
- Key: G
- Works in: part documents and assembly documents
- For agents:
view.grid, throughdesigner-run-command
Try a value
Rebuilds a shared design with another value of a parameter its author lets visitors change, between its min and max; only this view changes and nothing is saved.
- Where: the values a shared design lets its visitors try
- Works in: part documents and assembly documents
- For agents:
view.tryParameter, throughdesigner-run-command - Values:
name(string, required): The parameter.value(number, required)
Back to the author's values
Rebuilds a shared design with the values its author saved, after trying others.
- Where: the values a shared design lets its visitors try
- Works in: part documents and assembly documents
- For agents:
view.resetParameters, throughdesigner-run-command
Solids
Box
A block standing on a plane or a face: a rectangle sketch and an extrude.
- Where: Insert > Box; the toolbar
- Works in: part documents
- For agents:
part.box, throughdesigner-run-command - Values:
width: Along the sketch's x axis.depth: Along the sketch's y axis.height: How far it rises.on: The plane it stands on, or a flat face it rises from.x(number): How far along the plane's x axis its centre sits, when it stands on a plane; 0 when left out, and beside the part's bodies when a person opens the dialog.id(string): The solid feature's id, its sketch taking the id with -sketch; the next free one when left out.
Cylinder
A cylinder standing on a plane or a face: a circle sketch and an extrude.
- Where: Insert > Cylinder; the toolbar
- Works in: part documents
- For agents:
part.cylinder, throughdesigner-run-command - Values:
radius: The circle's radius.height: How far it rises.on: The plane it stands on, or a flat face it rises from.x(number): How far along the plane's x axis its centre sits, when it stands on a plane; 0 when left out, and beside the part's bodies when a person opens the dialog.id(string): The solid feature's id, its sketch taking the id with -sketch; the next free one when left out.
Prism
A regular polygon standing on a plane or a face: a polygon sketch and an extrude.
- Where: Insert > Prism; the toolbar
- Works in: part documents
- For agents:
part.prism, throughdesigner-run-command - Values:
sides: How many sides the polygon has.radius: From the centre to each corner.height: How far it rises.on: The plane it stands on, or a flat face it rises from.x(number): How far along the plane's x axis its centre sits, when it stands on a plane; 0 when left out, and beside the part's bodies when a person opens the dialog.id(string): The solid feature's id, its sketch taking the id with -sketch; the next free one when left out.
Sphere
A ball resting on the ground: a half-disc sketch turned about the vertical axis.
- Where: Insert > Sphere; the toolbar
- Works in: part documents
- For agents:
part.sphere, throughdesigner-run-command - Values:
radius: The ball's radius.offset: How far above the ground it rests.x(number): How far along the plane's x axis its centre sits, when it stands on a plane; 0 when left out, and beside the part's bodies when a person opens the dialog.id(string): The solid feature's id, its sketch taking the id with -sketch; the next free one when left out.
Cone
A cone or a truncated cone on the ground: its side profile turned about the vertical axis.
- Where: Insert > Cone; the toolbar
- Works in: part documents
- For agents:
part.cone, throughdesigner-run-command - Values:
radius: The radius at the ground.topRadius: 0 for a point.height: How tall it is.offset: How far above the ground it starts.x(number): How far along the plane's x axis its centre sits, when it stands on a plane; 0 when left out, and beside the part's bodies when a person opens the dialog.id(string): The solid feature's id, its sketch taking the id with -sketch; the next free one when left out.
Sketching
Line
Draws straight segments point by point; click the start again to close the outline, Enter to stop.
- Where: the sketch bar, while you draw a sketch
- Key: L
- Works in: part documents
- For agents:
sketch.line, throughdesigner-run-command
Arc
Draws an arc on from the pen: click where it ends, then a point it passes through.
- Where: the sketch bar, while you draw a sketch
- Key: A
- Works in: part documents
- For agents:
sketch.arc, throughdesigner-run-command
Tangent arc
Draws an arc that leaves the last segment smoothly: click where it ends.
- Where: the sketch bar, while you draw a sketch
- Key: T
- Works in: part documents
- For agents:
sketch.tangentArc, throughdesigner-run-command
Rectangle
Draws a rectangle from two opposite corners.
- Where: the sketch bar, while you draw a sketch
- Key: R
- Works in: part documents
- For agents:
sketch.rectangle, throughdesigner-run-command
Centre rectangle
Draws a rectangle from its centre and a corner.
- Where: the sketch bar, while you draw a sketch
- Works in: part documents
- For agents:
sketch.centreRectangle, throughdesigner-run-command
Circle
Draws a circle from its centre and a point on it.
- Where: the sketch bar, while you draw a sketch
- Key: C
- Works in: part documents
- For agents:
sketch.circle, throughdesigner-run-command
Polygon
Draws a regular polygon from its centre and a corner.
- Where: the sketch bar, while you draw a sketch
- Key: P
- Works in: part documents
- For agents:
sketch.polygon, throughdesigner-run-command
Round corner
Rounds a corner where two lines or arcs meet: click it, or pick the tool with corner points selected; type a radius to change the corners just rounded.
- Where: the sketch bar, while you draw a sketch
- Works in: part documents
- For agents:
sketch.fillet, throughdesigner-run-command
Bevel corner
Bevels a corner where two lines or arcs meet: click it, or pick the tool with corner points selected; type a distance to change the corners just beveled.
- Where: the sketch bar, while you draw a sketch
- Works in: part documents
- For agents:
sketch.chamfer, throughdesigner-run-command
Close outline
Draws a straight segment back to where the outline started.
- Where: the sketch bar, while you draw a sketch
- Works in: part documents
- For agents:
sketch.closeOutline, throughdesigner-run-command
Finish the outline
Stops drawing the current outline and leaves it open.
- Where: Help > Find a command, then Finish the outline
- Key: Enter
- Works in: part documents
- For agents:
sketch.finish, throughdesigner-run-command
Stop drawing
Drops the point just placed, then stops the outline, then puts the tool down.
- Where: Help > Find a command, then Stop drawing
- Key: Esc
- Works in: part documents
- For agents:
sketch.cancelStep, throughdesigner-run-command
Snap
Pulls the pointer to the sketch's points, to lines level or upright with them, and to the grid.
- Where: the sketch bar, while you draw a sketch
- Works in: part documents
- For agents:
sketch.snap, throughdesigner-run-command
Sketch
An outline drawn by pen commands on a plane, a frame or a flat face; a closed outline makes a face.
- Where: Insert > Sketch; the toolbar
- Works in: part documents
- For agents:
part.sketch, throughdesigner-run-command - Values:
on: Where the sketch lies: a plane through the origin, a frame, or a flat face of a body.start: Where the pen starts, in the sketch's coordinates.pen: The commands the pen draws, in order; each command's id names the sides features sweep from it.loops: Several closed outlines making one face: the first is its outside, each further one a hole.face: Makes a closed outline a face; turn off to keep it a wire, such as a closed path to sweep along. Close the outline with the pen's Close command.
Features that make shape
Extrude
Sweeps a sketch's face straight along its normal, or along a direction.
- Where: Insert > Extrude; the toolbar
- Key: E
- Works in: part documents
- For agents:
part.extrude, throughdesigner-run-command - Values:
profile: The sketch whose face is used.distance: How far the face is swept; negative goes the other way.direction: Sweep along this vector instead of the sketch's normal.body: The body to join; leave it empty to start a new body named after this feature, as an extrude does by default.join: How the result joins the body: added to it, cut from it or intersected with it.
Revolve
Turns a sketch's face about an axis.
- Where: Insert > Revolve; the toolbar
- Works in: part documents
- For agents:
part.revolve, throughdesigner-run-command - Values:
profile: The sketch whose face is used.axis: The axis, by a point on it and its direction.angle: How far it turns; a whole turn by default.body: The body to join; leave it empty to start a new body named after this feature, as a revolve does by default.join: How the result joins the body: added to it, cut from it or intersected with it.
Sweep
Sweeps a sketch's outline along the outline of another sketch.
- Where: Insert > Sweep; the toolbar
- Works in: part documents
- For agents:
part.sweep, throughdesigner-run-command - Values:
profile: The sketch whose face is used.path: The sketch the profile travels along.body: The body to join; leave it empty to start a new body named after this feature, as a sweep does by default.join: How the result joins the body: added to it, cut from it or intersected with it.
Loft
Skins a solid through two or more sketches in order.
- Where: Insert > Loft; the toolbar
- Works in: part documents
- For agents:
part.loft, throughdesigner-run-command - Values:
profiles: The sketches to pass through, in order.solid: Close the skin into a solid.body: The body to join; leave it empty to start a new body named after this feature, as a loft does by default.join: How the result joins the body: added to it, cut from it or intersected with it.
Import
Starts a body from a STEP, IGES or BREP file the document lists as an asset.
- Where: Insert > Import
- Works in: part documents
- For agents:
part.import, throughdesigner-run-command - Values:
asset: The id of the document's asset to read.format: The file's format; read from the asset when left out.
Features that change shape
Fillet
Rounds edges of a body.
- Where: Insert > Fillet; the toolbar
- Works in: part documents
- For agents:
part.fillet, throughdesigner-run-command - Values:
body: The body this feature changes.edges: The edges to round, named by the faces they lie between.radius: The radius of the rounds.
Chamfer
Bevels edges of a body.
- Where: Insert > Chamfer; the toolbar
- Works in: part documents
- For agents:
part.chamfer, throughdesigner-run-command - Values:
body: The body this feature changes.edges: The edges to bevel, named by the faces they lie between.distance: How far the bevel cuts back along each face.
Shell
Hollows a body into walls, leaving the named faces open.
- Where: Insert > Shell; the toolbar
- Works in: part documents
- For agents:
part.shell, throughdesigner-run-command - Values:
body: The body this feature changes.thickness: Wall thickness, inward; negative grows outward.open: The faces left open.
Hole
Drills holes through a flat face at positions on it.
- Where: Insert > Hole; the toolbar
- Works in: part documents
- For agents:
part.hole, throughdesigner-run-command - Values:
body: The body this feature changes.on: The flat face the holes start from.at: Where the holes go, as x and y on the face; give a position an id to name its walls.diameter: The hole's diameter.depth: How deep; 0 drills through.tipAngle: A drill point at the bottom of a blind hole.counterbore: Widen each mouth to a diameter and depth.countersink: Widen each mouth to a cone of a diameter and angle.origin: Where positions are measured from on the face.direction: The face's x axis, needed on a face not facing along a world axis.
Boss
Raises a sketch drawn on a face of a body out of that face.
- Where: Insert > Boss; the toolbar
- Works in: part documents
- For agents:
part.boss, throughdesigner-run-command - Values:
profile: A sketch drawn on a flat face of the body.body: The body this feature changes.distance: How far it rises.until: Rise until this face instead of a distance.
Pocket
Sinks a sketch drawn on a face of a body into it.
- Where: Insert > Pocket; the toolbar
- Works in: part documents
- For agents:
part.pocket, throughdesigner-run-command - Values:
profile: A sketch drawn on a flat face of the body.body: The body this feature changes.distance: How deep it sinks.through: Cut through the whole body.until: Sink until this face.
Push/pull
Moves a face of a body along its normal, out or in: extruded straight, or offset with the faces around it following; the face keeps its names.
- Where: Insert > Push/pull; the toolbar
- Works in: part documents
- For agents:
part.pushPull, throughdesigner-run-command - Values:
body: The body this feature changes.face: The face to move: a flat one to extrude, flat or curved to offset.mode: Extrude adds or cuts the flat face straight along its normal, whatever is around it; Offset moves the face, and the faces around it stretch to follow.distance: How far: above 0 pulls the face out, below 0 pushes it in.
Delete face
Removes faces of a body and closes the gap from the faces around them, as when a hole or a round is deleted.
- Where: Insert > Delete face; the toolbar
- Works in: part documents
- For agents:
part.removeFaces, throughdesigner-run-command - Values:
body: The body this feature changes.faces: The faces to remove.
Move
Moves and turns a body as one piece; its faces keep their names.
- Where: Insert > Move; the toolbar
- Works in: part documents
- For agents:
part.transform, throughdesigner-run-command - Values:
body: The body this feature changes.translate: How far the body moves, after it turns.rotate: Degrees about X, then Y, then Z, through the pivot.pivot: The point the body turns about; the origin when left out.
Combining bodies
Boolean
Combines bodies: the body goes on as the union, difference or intersection with the tools, which are used up.
- Where: Insert > Boolean; the toolbar
- Works in: part documents
- For agents:
part.boolean, throughdesigner-run-command - Values:
operation: Union adds, difference cuts, intersection keeps what is shared.body: The body this feature changes.tools: The bodies combined with it; they are used up.
Patterns
Linear pattern
Repeats a body in a row and fuses the copies.
- Where: Insert > Linear pattern; the toolbar
- Works in: part documents
- For agents:
part.linearPattern, throughdesigner-run-command - Values:
body: The body this feature changes.direction: The direction the copies step along.spacing: The distance between copies.count: How many, the original included.
Polar pattern
Repeats a body around an axis and fuses the copies.
- Where: Insert > Polar pattern; the toolbar
- Works in: part documents
- For agents:
part.polarPattern, throughdesigner-run-command - Values:
body: The body this feature changes.axis: The axis, by a point on it and its direction.count: How many, the original included.angle: The angle the copies spread over; a whole turn by default.
Mirror
Mirrors a body across a plane and fuses the image with it.
- Where: Insert > Mirror; the toolbar
- Works in: part documents
- For agents:
part.mirror, throughdesigner-run-command - Values:
body: The body this feature changes.plane: The mirror plane, by a point on it and its normal.keepOriginal: Keep the original and fuse the image with it.
Parts, parameters and connectors
Add connector
Puts a connector where an assembly can fasten this part: at the middle of a picked flat face, where a hole's or a cylinder's axis crosses the face it meets, or at a circular edge's centre; on a hole of several positions it is one connector per hole.
- Where: Insert > Add connector
- Works in: part documents
- For agents:
product.addConnector, throughdesigner-run-command - Values:
part(string)id(string)on(object): A face reference to the one flat face it sits on.origin: A point on the face.axis(object): A face reference to cylindrical faces, such as a hole's wall; the connector sits where their axis crosses the face.centre(object): An edge reference to one circular edge; the connector sits at its centre.direction: Its x axis, needed on a slanted face.every(boolean): On a hole's wall, one connector per position of the hole, named <id>.<position>; true when left out.
Connector holes
Puts a connector on a hole's wall on every position of the hole, one connector each named <id>.<position>, or on one position alone.
- Where: the Properties panel
- Works in: part documents
- For agents:
product.setConnector, throughdesigner-run-command - Values:
part(string, required)id(string, required)position(string): The hole position's id; every position when left out.
Remove connector
Takes a connector off a part.
- Where: the Properties panel
- Works in: part documents
- For agents:
product.removeConnector, throughdesigner-run-command - Values:
part(string, required)id(string, required)
Part properties
Names a part, gives it a material (a preset is added to the document), a colour or a finish (metallic, roughness); every body is a part until the document lists them.
- Where: the Properties panel
- Works in: part documents
- For agents:
product.setPart, throughdesigner-run-command - Values:
id(string, required): The part; a body's id while the document lists no parts.name(string)material(string): A material id, or a preset such as steel or aluminium-6061; empty clears it.color(string): #rrggbb; empty clears it.metallic: From 0, paint or plastic, to 1, bare metal; empty takes the material's.roughness: From 0, a mirror, to 1, chalk; empty takes the material's.
Parameter
Adds a named value that expressions in any field can use.
- Where: Insert > Parameter; the Features panel
- Works in: part documents and assembly documents
- For agents:
parameter.add, throughdesigner-run-command - Values:
name(string): Its name; the next free paramN when left out.value: A number or an expression.unit(string): mm, cm, m, in, deg or none.
Change parameter
Sets a parameter's value, unit, limits or description, or renames it while nothing uses it.
- Where: the Properties panel
- Works in: part documents and assembly documents
- For agents:
parameter.set, throughdesigner-run-command - Values:
name(string, required): The parameter.rename(string): A new name.value: A number or an expression.unit(string): mm, cm, m, in, deg or none; null drops it.min(number)max(number)step(number)description(string)configuration(string): A configuration to set the value in, instead of the parameter's own.
Visitors can change it
Gives visitors of the shared design a slider for this parameter, between its min and max; what they try rebuilds only their own view and is never saved.
- Where: the Properties panel
- Works in: part documents and assembly documents
- For agents:
parameter.offerToVisitors, throughdesigner-run-command - Values:
name(string): The parameter.offered(boolean): Whether visitors get its slider; left out, it switches.
Delete parameter
Removes a parameter nothing uses.
- Where: the Features panel; the Properties panel
- Works in: part documents and assembly documents
- For agents:
parameter.delete, throughdesigner-run-command - Values:
name(string): The parameter.
Assemblies
Open its document
Opens the document a component, or a part inside a sub-assembly, comes from, with that part selected, to change its features.
- Where: the Features panel; the Properties panel
- Works in: assembly documents
- For agents:
assembly.openSource, throughdesigner-run-command - Values:
row(string): The tree row whose document to open: component:<id> or occurrence:<path>; with none, the selected one, else the last pick's.
Insert component
Places a part of a part document, or a whole assembly as a sub-assembly, in this assembly.
- Where: Insert > Insert component; the toolbar; the Properties panel
- Works in: assembly documents
- For agents:
assembly.insert, throughdesigner-run-command - Values:
document(string): The id of the part document, or of an assembly document to place as a sub-assembly.part(string): The part, or a body's id while that document lists no parts; left out for a sub-assembly.id(string): The component's id; the part's name and the next free number when left out.at(object): Where it goes, as a frame { origin, normal, direction }; where its document has it when left out, and beside the assembly when a person inserts it.parameters(object): Its own values for its document's parameters, { name: value }: a number, a boolean, text, or an expression over this assembly's parameters.
Show configuration
Builds and shows the assembly with one of its configurations' values, or with the document's own values.
- Where: the Features panel; a design's preview
- Works in: assembly documents
- For agents:
assembly.showConfiguration, throughdesigner-run-command - Values:
configuration(string): The configuration's id; the document's own values when left out.
Place component
Moves a component to a frame: its own origin, X and Z axes onto the frame's origin, direction and normal.
- Where: the Properties panel
- Works in: assembly documents
- For agents:
assembly.place, throughdesigner-run-command - Values:
id(string, required)at(object, required): { origin, normal, direction }.
Component parameters
Gives a component its own values for its document's parameters, such as a link's length; null brings back the document's value.
- Where: the Properties panel
- Works in: assembly documents
- For agents:
assembly.setComponentParameters, throughdesigner-run-command - Values:
id(string, required)parameters(object, required): Its own values for its document's parameters, { name: value }: a number, a boolean, text, or an expression over this assembly's parameters; null drops the component's own value.
Remove component
Takes a component out of the assembly with the joints that hold it.
- Where: Edit > Remove component; the Properties panel
- Works in: assembly documents
- For agents:
assembly.remove, throughdesigner-run-command - Values:
id(string, required)
Joint
Joins a component by one of its connectors to another's: fastened, or turning, sliding or both about the shared axis.
- Where: Insert > Joint; the toolbar; the Properties panel
- Works in: assembly documents
- For agents:
assembly.joint, throughdesigner-run-command - Values:
id(string)type(one of"fastened","revolute","slider","cylindrical")component(string): The component the joint moves.connector(string): Its connector.to(object): { component, connector } it is joined to.flip(boolean)angle: Degrees about the shared axis.offset: Along the shared axis.limits(object): How far it may move: { angle: [least, most] } in degrees, { offset: [least, most] } along the axis.
Change joint
Sets a joint's type, connectors, flip, angle, offset or limits; null drops a value.
- Where: the Properties panel
- Works in: assembly documents
- For agents:
assembly.setJoint, throughdesigner-run-command - Values:
id(string, required)type(one of"fastened","revolute","slider","cylindrical")component(string): The component the joint moves.connector(string): Its connector.to(object): { component, connector } it is joined to.flip(boolean)angle: Degrees about the shared axis.offset: Along the shared axis.limits(object): How far it may move: { angle: [least, most] } in degrees, { offset: [least, most] } along the axis.
Remove joint
Takes a joint out; its component stays where its frame puts it.
- Where: the Properties panel
- Works in: assembly documents
- For agents:
assembly.removeJoint, throughdesigner-run-command - Values:
id(string, required)
Replicate
Places a component once on every connector of a set, such as a bolt in every hole of a flange: its own connector fastened to each member; on a component replicated already it changes the replicate, and null drops flip, angle or offset.
- Where: Insert > Replicate; the Properties panel
- Works in: assembly documents
- For agents:
assembly.replicate, throughdesigner-run-command - Values:
id(string, required): The component placed on every member.connector(string): Its own connector, fastened to each member.to(object): { component, connector }: the component placed once, and its connector set, or one connector for one occurrence.flip(boolean)angle: Degrees about each shared axis.offset: Along each shared axis.
Stop replicating
Places a replicated component once again, where its document has it.
- Where: the Properties panel
- Works in: assembly documents
- For agents:
assembly.unreplicate, throughdesigner-run-command - Values:
id(string, required)
Pattern
Places copies of a component turned about an axis (polar) or stepped along a direction (linear), each counted in the bill of materials; on a patterned component it changes the pattern, and null takes it away.
- Where: Insert > Pattern; the Properties panel
- Works in: assembly documents
- For agents:
assembly.pattern, throughdesigner-run-command - Values:
id(string, required): The component to pattern.pattern(object): { polar: { axis: { origin, direction }, count, angle?, start? } } or { linear: { direction, spacing, count } }, every number a value or an expression; null takes the pattern away; left out, a person's run starts a polar pattern about the up axis.
Inspecting
Check clashes
Finds placed parts of the assembly as built that overlap, touch or come closer than the clearance; a touch a joint asks for is left out.
- Where: Inspect > Check clashes; the toolbar; the dock
- Works in: assembly documents
- For agents:
assembly.checkClashes, throughdesigner-run-command - Values:
clearance(number): How close two parts may come before they are listed, 0 or more, in the document's length unit; 0 or left out lists only overlaps and touches.
Operations
Operation
Runs any operation of the CAD API by its dotted path, with its inputs.
- Where: Insert > Operation; the toolbar
- Works in: part documents
- For agents:
part.operation, throughdesigner-run-command - Values:
operation: The operation's dotted path, such as occt.operations.offset.params: The operation's inputs; { "body": "<id>" } passes a body.body: Go on as this body instead of starting a new one.
Script
Runs a script the document carries as an asset on the document's geometry.
- Where: Insert > Script
- Works in: part documents
- For agents:
part.script, throughdesigner-run-command - Values:
script: The id of the script asset.params: The script's inputs.body: Go on as this body instead of starting a new one.
Help and review
Tutorials
Lists the tutorials, or starts the one named: each shows the way step by step while you do the work, and can do a step for you.
- Where: Help > Tutorials
- Works in: part documents and assembly documents
- For agents:
help.tutorials, throughdesigner-run-command - Values:
topic(string): The tutorial's topic id: designer.tutorials.first-part, designer.tutorials.desk-arm.
Copy crash report
Copies what the geometry kernel crashed on in this document, with the document itself, to send to Bitbybit.
- Where: Help > Copy crash report; the dock
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable
- Values:
feature(string): The feature the kernel crashed making; the latest crash when left out.
Clear the kernel caches
Empties what the geometry kernels keep of shapes they already made, so the next build makes every one again.
- Where: Help > Clear the kernel caches
- Works in: part documents and assembly documents
- For agents:
help.clearCaches, throughdesigner-run-command
Designer guide
Opens the Designer's guide on learn.bitbybit.dev: how it works, the tutorials and every command.
- Where: Help > Designer guide
- Works in: part documents and assembly documents
- For agents:
help.guide, throughdesigner-run-command
Community
Opens the Bitbybit community on Discord, to ask a question or show what you made.
- Where: Help > Community
- Works in: part documents and assembly documents
- For agents:
help.community, throughdesigner-run-command
Find a command
Searches every command by name.
- Where: Help > Find a command; the right-click menu
- Key: Ctrl+K, ⌘K on macOS
- Works in: part documents and assembly documents
- For agents: only a person runs it; agents see it as unavailable