PM / PartModeABOUTHELP partmode.help/v1 · 8db0b80417a4

One model.
Two operators.

A practical manual for people building locally in the browser and agents using either visible browser approval or an explicitly granted server-headless project.

HUMANAGENT
partmode://help/getting-startedhuman + agent

Getting started

PartMode is local-first parametric CAD in the browser. OpenCascade evaluates exact B-rep geometry on your device. You do not need an account to model, save a project, or export a part. This browser-local workflow is separate from the optional server-headless agent workflow, which requires explicit per-key consent and stores committed documents under the account.

Quick answers

Is PartMode free? Yes. PartMode is free to use and is intended to remain free. Its source is available under the repository license.

Who makes PartMode? PartMode is made by Sphinx. Read About PartMode, the privacy notice, or the cookie details.

Build a part as a person

  1. On the first visit, choose Blank sketch for a blank part or Browse all templates for an editable starting model.
  2. Choose Sketch to start an Extrude profile on the base plane. Choose Extrude, Cut, or Revolve when you need another supported planar face or operation.
  3. Draw a closed profile and type exact dimensions in millimetres.
  4. Apply the feature. Add later operations from the feature ribbon and inspect them in History.
  5. Use parameters for dimensions that should rebuild together.
  6. Save the editable project file before clearing browser data.

The template library creates normal editable documents. A template is a starting recipe, not a screenshot or decorative mesh.

The Standard parts category adds configuration-controlled nominal content for ISO 4017:2022 hexagon-head screws, ISO 4032:2023 regular nuts, and ISO 7089:2000 normal-series washers. Choose a listed designation in Configurations after opening the family. The screw and nut threads are honest smooth envelopes with retained metric callouts, not modeled helices. The catalog does not select tolerances, material, coating, or property class and is not manufacturing certification; verify released hardware against the licensed standard.

Explore the exploded turbofan

From the first-visit screen, choose Browse all templatesExploded turbofan assemblyOpen editable template. From an open editor, choose HomeTemplate libraryExploded turbofan assemblyOpen editable template. The conceptual engine demonstrator's left model tree lists eight numbered subsystems and keeps their component leaves collapsed until you expand them. The saved Service exploded layout separates the modules for inspection while leaving their fixed assembly placements unchanged.

The right-side Agent flight recorder reports actual document, kernel, assembly, render, and connected-agent events. It is an evidence log, not a simulation of private agent reasoning. The engine consists of exact editable features and reusable patterns, but it is not an aerodynamic, structural, manufacturing, or airworthiness definition.

Read the model state

  • History is the ordered construction recipe.
  • Bodies shows exact solids and visibility state.
  • Parameters holds reusable expressions and dimensions.
  • CFG selects a stored part configuration when the document defines a design table.
  • Inspector shows the selected feature, body, occurrence, mate, or measurement.

PartMode reports rebuild errors instead of silently treating a failed edit as valid geometry. A visible shaded model is useful feedback, but exact completion is established by settled document revision, valid B-rep evidence, and the requested export or query result.

Inspect dependencies and where-used

An agent can send an entity.dependencies query with an entity { kind, id }. Use direction: "upstream" to inspect inputs, direction: "downstream" for where-used, or direction: "both" for both sides. transitive: true follows the graph across multiple levels; maxDepth, relation, pageSize, and cursor bound or filter the result.

The typed graph covers datum chains, sketch supports, feature inputs and body results, materials, body and occurrence patterns, reusable part or subassembly occurrences, mates, section scopes, and exploded-view steps. Deleting a datum or sketch with dependents fails with their names. Body and occurrence deletion removes their dependent feature, mate, and pattern records atomically.

Pack and move a complete project

Save project file and the project agent artifact both export the complete canonical project, including reusable part and assembly definitions, occurrence dependencies, configurations, and embedded imported B-rep resources. The agent artifact includes a deterministic partmode.project-bundle/v1 dependency manifest. Missing referenced resources fail project validation instead of producing an incomplete bundle.

Use equations and units

The Parameters table is the global-variable surface. Dimension fields can reference those names and combine them with +, -, *, /, ^, parentheses, comparisons, and functions such as sin, sqrt, min, max, and if. Length literals accept mm, cm, m, um, in, ft, and mil; angle literals accept deg and rad. PartMode evaluates geometry in millimetres and angles in degrees, including trigonometric arguments and inverse-trigonometric results.

For example, if(wall > 5mm, 2in, 1in) selects a length from the global wall value, and sin(30deg) * 10mm evaluates to 5 mm. Unsupported names, functions, units, non-finite results, and parameter cycles fail the rebuild instead of executing code or publishing guessed geometry.

Inspect mass properties

  1. Assign a material to each body from Inspect > Material. The bundled generic densities are editable engineering placeholders, so verify the actual grade before relying on the result.
  2. Choose Mass & health in the Inspect ribbon group.
  3. Review exact volume and surface area, density-driven mass, center of mass, the center-of-mass inertia tensor, principal moments and axes, and radii of gyration.

Assembly mass properties use each solved occurrence placement and the parallel axis theorem. If any included body lacks material density, PartMode reports the known subset and center of volume but does not claim a complete mass, center of mass, or mass inertia tensor. An agent can read the same revision-keyed result with a cad_query request whose kind is geometry.health.

Mate references

Assembly mates can reference component origins, part datums, and analytic body faces. Planar faces provide an origin and normal, cylindrical and conical faces provide an exact axis, and spherical faces provide an exact center. A concentric mate between cylinders or cones aligns the two axes while retaining axial and rotational freedom. A concentric mate between spheres aligns their centers while retaining rotational freedom.

PartMode rejects malformed analytic references and mixed spherical/axial concentric pairs. A rejected solve preserves the previous valid placement or, when there is no previous solve, the authored component placement.

Edit a part in assembly context

  1. Open an assembly and select a direct part occurrence.
  2. Choose Edit component or Edit in context.
  3. Edit the part's sketches, features, bodies, and parameters while the owning assembly remains visible. The chosen occurrence is rendered as the active solid; every other occurrence is ghosted and cannot be selected as editable part topology.
  4. Use Return to assembly in the viewport banner when the part edit is complete.

The active occurrence keeps its exact solved assembly transform. A feature edit changes the shared part definition, so every linked occurrence rebuilds from the same edited definition. The assembly identity, occurrence path, and edit mode survive project save and reopen. A deleted assembly, occurrence, or part definition fails closed instead of silently opening a different part.

This workflow currently supports direct part occurrences. Nested occurrence paths and associative cross-part references to ghosted geometry are not yet supported.

Save and exchange

  • Project file preserves the editable schema-5 document.
  • STEP exchanges exact CAD bodies and assembly structure with other CAD systems.
  • STL exports tessellated geometry for mesh workflows such as printing.
  • AMF exports named bodies as XML mesh objects with explicit millimetre units.
  • 3MF exports named bodies in a standards-based package with explicit millimetre units.
  • Drawing exports an SVG sheet generated from the active, settled configuration.

Browser recovery is a convenience, not a substitute for downloading an important project file.

For a constant-radius edge fillet, Propagate exact tangent chain asks the kernel to expand each persistent seed through its current non-branching OCCT tangent contour. The saved feature retains only the authored seed references; an explicit partmode.kernel-robustness/v1 policy keeps this newly authored behavior distinct from historical intent. The exact contour is rediscovered and fully named on every rebuild. Variable-radius propagation remains unavailable, and an unresolved, faulty, or incompletely named contour fails without publishing geometry.

Reopen an older project safely

PartMode preserves a narrow set of historical schema-5 feature intent when an older saved project is reopened. This includes sampled controlled twist, asymmetric loft continuity, historical Draft and unmarked Fillet tangent- propagation intent, and Boolean Split tool-removal semantics. The compatibility markers survive save and recovery, while a newly authored exact Fillet carries its explicit kernel-robustness policy and remains exact after reopen.

Compatibility preservation means the original project remains recoverable; it does not make those historical semantics newly authorable exact Professional Core features. If an active browser project fails validation, PartMode protects its stored bytes from fallback autosaves until you explicitly open, recover, or start another project.

partmode://help/configurations-and-drawingshuman + agent

Configurations and drawings

A part configuration is a named set of parameter overrides stored inside the project. The active configuration drives rebuild, validation, inspection, drawing generation, STEP, STL, AMF, and 3MF export, and pattern freezing through the same effective document.

Switch configuration as a person

  1. Choose ManageConfigurations.
  2. Choose a configuration from the design table.
  3. Wait for the local kernel and document revision to settle.
  4. Inspect the dimensions and exact body state.
  5. Choose OutputDrawing for the drawing, or use the other exact export label shown in Output. Output also exports STEP, STL, AMF, 3MF, or the Project file.

The exported artifact records the active configuration and effective-document evidence. Switching back to the same configuration must reproduce the same canonical document and exact geometry for unchanged inputs.

Switch configuration and export as an agent

  1. Read partmode://help/agent-workflow.
  2. Connect to a visible, browser-approved PartMode tab containing the configured project. The public headless API cannot currently import that browser project or template, or create a configuration table.
  3. Call cad_capabilities and use only operations and artifacts advertised by that live build.
  4. Preview a configuration.activate operation with the target configuration ID.
  5. Commit the exact preview after approval, then inspect the settled configuration and geometry.
  6. In a browser session, call cad_artifact for drawing-svg or another advertised format. Artifact generation uses the settled project revision and active effective document.

Do not edit individual table-driven parameters as a substitute for activating a configuration unless the document explicitly supports that workflow.

A server-headless session can author supported typed geometry in its own durable document and use partmode_headless_export_step for exact STEP. It cannot currently import a configured browser project or template, create a configuration table, or use cad_artifact. Those workflows therefore require the browser path.

What a drawing contains

PartMode drawings combine exact OpenCascade hidden-line-removal projections with document-owned drawing instructions. A configured part may add a profile-derived section, limit dimensions, tolerances, notes, symbols, tables, and a title block.

Exact projection evidence does not make every annotation a certified manufacturing requirement. The project owns the drawing recipe, and engineering review remains responsible for its completeness, standard revision, units, tolerances, and release status.

General parts and assemblies can produce compact SVG drawing sheets. A persisted part-specific recipe can also produce a larger standards-oriented sheet.

partmode://help/agent-workflowagent + human

Agent workflow

PartMode agents use typed MCP operations, not pointer automation. An agent key authenticates the agent account. CAD authority comes from one of two distinct choices made by the account owner:

  • Browser-approved local project: a normal key can request a visible, project-scoped session in a signed-in PartMode tab. The project stays in that browser. Every session requires approval in the tab.
  • Server-headless durable project: an edit key created with the explicit headless grant can open an account-owned project on the PartMode server with no browser or per-session approval. The grant is per key, cannot be added later, and means the server stores the committed project document.

A key without the headless grant cannot open a server-headless project. A key by itself also cannot invent a browser session.

Set up hosted MCP

  1. Open Agent access, create or sign in to a PartMode account, and create a revocable agent key.
  2. For local browser projects, leave Allow headless server sessions off. For unattended server execution, create an edit key and deliberately enable that grant after reading the storage notice.
  3. Store the key in the secret environment used to launch the agent. Do not paste it into a prompt, URL, command argument, or project file.
  4. Configure the hosted endpoint.
codex mcp add partmode --url https://partmode.com/mcp --bearer-token-env-var PARTMODE_AGENT_KEY
  1. Start a new agent session and read the MCP Help resources.

Work with a browser-approved local project

  1. Keep the intended project open in a signed-in PartMode CAD tab.
  2. Call partmode_list_studios. Discovery returns non-project tab identity only.
  3. Call partmode_connect for the chosen tab, the smallest required permission set, and a bounded commit budget.
  4. Wait for the person to approve the visible connection request.
  5. Call cad_capabilities. This live manifest is authoritative for operations, schemas, limits, and artifact support.
  6. Use cad_inspect and cad_query to establish exact current state.
  7. Use cad_preview for a typed transaction. Review the diagnostic and visible browser preview.
  8. Use cad_commit only with the returned preview ID and matching revision.
  9. Inspect the settled result and call partmode_disconnect when finished.

The browser remains the enforcement point. The person can reject a request, pause or disconnect the session, reject a preview, or revoke the key. The browser project and recovery data stay on that device. Commands and results cross the hosted relay over HTTPS and remain only in bounded process memory. There is no offline queue, and the relay is not end-to-end encrypted.

Work with a server-headless durable project

  1. Use an edit key that was created with Allow headless server sessions.
  2. Call partmode_headless_open with a stable projectId, an optional project name and units, the smallest permissions needed, a bounded session duration, and a bounded commit budget.
  3. Call cad_capabilities, then use cad_inspect, cad_query, cad_preview, cad_commit, and supported cad_history actions against the returned session ID.
  4. Call partmode_headless_export_step when an exact STEP artifact is needed.
  5. Inspect the settled revision and document hash, then call partmode_disconnect when finished.

Headless sessions are temporary, key-bound execution contexts. They expire in at most one hour and do not survive a service restart. Committed headless documents are different: PartMode stores the project ID, project name, revision, full document JSON, canonical document hash, and timestamps under the account. Those records survive sessions, key revocation, service restarts, and deployments so another headless-granted key on the same account can reopen the same projectId. They remain until the PartMode account is deleted. Account deletion closes every live headless session and removes the durable records; it does not delete unrelated projects in browser storage.

There is no visible studio in this path. cad_artifact, cad_ui, and cad_events are refused, and a successful cad_preview is a typed kernel preview, not a human approval or visible browser preview. The dedicated partmode_headless_export_step tool is the current headless artifact path. Revoking the key immediately prevents further MCP authentication and closes its live headless sessions, but does not delete the account's durable project records. Signing out of PartMode closes active browser relay and headless execution sessions while keeping agent keys and durable headless projects in the account.

Current hosted tools

The current MCP surface advertises exactly 15 tools:

  • Session and artifact tools: partmode_list_studios, partmode_connect, partmode_session_status, partmode_disconnect, partmode_headless_open, and partmode_headless_export_step.
  • Typed CAD tools: cad_capabilities, cad_inspect, cad_query, cad_preview, cad_commit, cad_history, cad_artifact, cad_ui, and cad_events.

Tool listing does not mean every tool is valid for every session. The two headless entry and export tools require the headless grant. cad_artifact generates browser-session artifacts, including drawing-svg, and cad_ui and cad_events also require a browser session. Headless currently exposes STEP through its dedicated export tool. Never invent operation kinds or arguments from static documentation. The live cad_capabilities response wins when Help and a running build differ.

Local pairing

The in-app Connect local agent action is for a compatible loopback integration on the same device. Hosted agents should use the account key and https://partmode.com/mcp instead.

Record the jet-engine assembly demonstration

From an open editor, choose HomeTemplate libraryExploded turbofan assemblyOpen editable template. This is a native schema-5 assembly, not an imported display mesh. The compact model tree contains six numbered module occurrences placed entirely by authored mates. Expand a module to inspect its exact part occurrences, lofted airfoil blade rows, and patterned seeds. Service exploded layout is a saved display-only exploded view; it changes presentation without changing the mate-solved placements.

The Agent flight recorder shows bounded, redacted Studio evidence. Its rows come from actual tool requests, preview and commit events, OpenCascade rebuilds, assembly settlement, rendering, artifacts, and human-attention events. It does not expose or invent an agent's private reasoning, and it never prints raw tool arguments, project JSON, keys, or connection tokens.

For a paced browser recording, open the template visibly first, then connect the real agent. The hosted default uses the visible-projection profile: use cad_ui to set presentation and narration to recording, activate the saved exploded view, and fit the visible model. Read cad_events to wait for each authoritative settlement boundary. Template selection itself is not released through the hosted visible-projection profile. Do not present test-only pairing helpers or a prerecorded transcript as a live agent run.

The bundled engine is a conceptual exact-feature demonstrator. Its blade profiles, material assignments, clearances, loads, thermal behavior, seals, bearings, and manufacturing details are not a certified production-engine definition.

Troubleshooting

  • No studio listed: sign in to the same account in PartMode and keep the CAD tab open, or use a headless-granted edit key for the server path.
  • Connection pending: approve or deny the visible browser dialog.
  • HEADLESS_NOT_GRANTED: create a new edit key with the headless grant or use the browser-approved path. Existing keys cannot be upgraded. If PartMode adds a new permission, create a new key to receive it; the persisted ceiling on an existing key remains unchanged.
  • VISIBLE_STUDIO_REQUIRED: use a browser session for cad_artifact, cad_ui, or cad_events.
  • HEADLESS_RATE_LIMITED or HEADLESS_CAPACITY_EXCEEDED: wait for the reported retry window or active work to finish before retrying.
  • HEADLESS_PROJECT_QUOTA_EXCEEDED: reopen one of the account's existing 32 project IDs. The current release removes durable headless projects through account deletion, not an individual project-delete tool.
  • Revision conflict: inspect again and create a new preview from the current revision.
  • Capability disabled: request only an operation or artifact advertised by cad_capabilities.
  • Session not found: open or connect again. Sessions are temporary even when a headless project document is durable.
partmode://help/limits-and-safetyhuman + agent

Limits, evidence, and safety

PartMode uses OpenCascade through replicad for exact B-rep modeling. It is closer to a parametric mechanical CAD core than a mesh generator, but it is not a replacement for every SolidWorks, CATIA, or drawing-release workflow.

Exact evidence

Treat these as meaningful completion evidence when they apply:

  • a settled document and applied kernel revision;
  • valid exact B-rep solids with complete face, edge, and vertex identity;
  • canonical save and reopen behavior;
  • exact OpenCascade HLR evidence for drawing views;
  • at most 100 custom drawing line fonts, each with bounded width, dash pattern, and RGB values;
  • at most 50 reusable drawing blocks and 500 authored sheet annotations per project;
  • canonical project output and exact B-rep equivalence for unchanged inputs;
  • structured diagnostics when topology or intent cannot be resolved safely.

Screenshots, shaded triangles, DOM rows, schema declarations, and mesh counts alone do not prove exact CAD completion.

Current product limits

  • No engineering simulation, certified analysis, or automated design approval.
  • No CAM, native DWG authoring, or general GD&T/PMI workbench.
  • Imported STEP does not reconstruct vendor-native feature history, mates, or PMI.
  • Large assemblies and software-rendered browsers may reduce interactive display quality while preserving exact kernel work.
  • Drawing coverage depends on the document recipe and is not automatically complete for manufacturing.
  • Standards-oriented templates are demonstrations until independently validated and released under the applicable controlled standard.
  • Server-headless execution is bounded to four live sessions and 32 durable project IDs per account, at most 20 commits and one hour per session, and 120 headless requests per account in a one-minute request window. Global worker capacity can also return a retryable capacity error. Existing project IDs can be reopened without consuming another durable-project slot. There is no separate per-project deletion control yet; account deletion removes all durable headless projects.
  • A narrow saved-project compatibility layer preserves selected historical schema-5 feature intent. Sampled controlled twist plus unmarked Draft and Fillet tangent propagation remain compatibility semantics. Constant-radius edge Fillet tangent chains carrying the explicit kernel-robustness policy are newly authorable through exact OCCT contours; variable-radius propagation is not.
  • STEP export removes the volatile wall-clock value from the exchange-file header. Raw byte identity is enforced for the configuration-controlled single-part path; validate multi-body and assembly exchange by exact geometry, names, placements, and hierarchy rather than assuming every OCCT entity number is byte-stable.

Data and privacy

Anonymous CAD, browser project recovery, and browser geometry stay in browser storage. The browser-approved agent path does not turn those local projects into cloud projects. Its approved commands and results pass transiently through the relay over HTTPS, remain in bounded process memory, and are not an end-to-end encrypted project channel.

Server-headless CAD is an explicit exception. An edit key created with the headless grant authorizes PartMode to store committed projects under the account. The stored record includes project ID, project name, revision, full document JSON, canonical document hash, and timestamps. Headless execution sessions are temporary and key-bound, but the committed documents survive session expiry, key revocation, service restarts, and deployments. They remain until account deletion. Deleting the account closes active headless sessions, removes these server records, and does not delete unrelated projects held in browser storage.

Headless sessions have no visible studio. cad_artifact, cad_ui, and cad_events are refused, and typed preview evidence is not a human approval. Their dedicated artifact export currently produces STEP. Choose the browser-approved path whenever a person needs to see and approve each session or preview, or when the agent needs a browser-generated artifact such as drawing-svg.

Download important project files before clearing site data. Keep agent keys in secret storage, grant the smallest permissions needed, and revoke keys that are no longer used.