# FabCAD — guide for AI agents > FabCAD is a parametric 3D CAD that runs in the browser, with a Fabrication Compiler that turns bodies into laser-cut parts (SVG / DXF) or 3D-print layouts. This page is for AI agents that use FabCAD through the screen, with mouse and keyboard. ## Opening the app The CAD is at /FabCAD/app/ (https://fooping-tech.github.io/FabCAD/app/). Go to that address directly. It needs no account; the project is saved automatically in the browser and comes back after a reload. From the introduction page (https://fooping-tech.github.io/FabCAD/), the editor is behind the dark button labelled "FabCADを開く" ("Open FabCAD"). It is at the top right of the page header, and again below the big heading at the top of the page ("FabCADを開く →", next to "View on GitHub") and at the bottom of the page. All of them lead to /FabCAD/app/. Links to this guide (llms.txt, HTML) are in the AI Agents section and the footer; they do not open the editor. ```text Introduction page (https://fooping-tech.github.io/FabCAD/), top of the screen: FabCAD BETA Design Fabrication How it works AI Agents GitHub [ FabCADを開く ] <- header: the button at the far right ---------------------------------------------------------------------------------- Design it. Then make it cuttable. [ FabCADを開く → ] [ View on GitHub ] <- the same link, under the heading ``` Keep one tab for the editor and do not leave it. Read this guide before you start, or in a second tab (the HTML version is at /FabCAD/agents/). Do not use the browser's Back button to return from the guide to the editor: open /FabCAD/app/ again instead. The project is kept in the browser, so nothing is lost by opening the address again. If your browser tool refuses to go to an address or to go Back (for example "blocked by URL policy" or "only http and https are allowed"), that is a rule of your tool, not an error of FabCAD. Do not try to reach the same page another way: tell the user what was refused and ask how to go on. A link with #project=… at the end (a share link, made by File → Share link…) opens a shared project. If the browser already keeps a project, FabCAD asks before replacing it. After the page opens, wait until the view shows neither "Loading the geometry kernel" nor "Building the model". The status bar at the bottom right then reads "Ready". ## Sharing a project URL with a user Use File → Share link… and wait for the generated URL. Click Copy link, or read the exact value of the read-only Share link text area using browser automation. Treat that value as data, not text for an AI to compose: the #project=v1.… fragment holds the project, and even one changed character can break it. - Transfer the complete captured URL byte-for-byte as the actual clickable link destination (href). Do not manually type, predict, reconstruct, summarize, truncate, split into pieces, insert ellipses, or otherwise rewrite it. Do not turn it into only a .txt attachment when the user asked for a link. - A label such as 'Open in FabCAD' is fine, but its underlying link destination must be identical to the copied URL. Do not assume that displaying a URL or generating Markdown has preserved its target; verify the destination if your output environment allows it. - If the chat or link renderer cannot preserve the entire URL, or the URL is too long to share reliably, do not fabricate a shorter one. Use File → Save project and share the .fabcad.json file instead, explaining that the link channel may truncate long URLs. - When possible, open the exact copied link in another tab to check it loads the intended project. A shared link may ask to replace an existing project, so protect the user's current work. ## Screen layout | Area | Where | What it is for | | --- | --- | --- | | Header | top | DESIGN / FABRICATION workspace switch, File menu (New, Open, Save, Recover autosave, Share link, Import, Parameters), Undo / Redo, Commands (the command palette), Save, Export | | Ribbon | below the header | the commands of the workspace, in labelled groups (SKETCH, CREATE, MODIFY, CONSTRAINTS …). Every button has a tooltip with its name and shortcut | | Browser | left, upper half | the tree of the document: Origin (XY / XZ / YZ planes, axes), Sketches, Bodies, Components (definitions, each with its Sketches, Features and Bodies) and Instances. Rows can be clicked to select, and to pick a plane. The component being edited has an ACTIVE badge | | Properties | left, lower half | properties of the selection, and the Parameters of the document | | View | centre | the 3D view. In a sketch, a banner at the top centre shows the sketch name, its constraint status and Finish Sketch | | View buttons | top right of the view | Top, Front, Right, Bottom, Back, Left, Iso, Fit; Persp / Ortho | | Timeline | bottom | the history of the design, one item per feature. A red item has an error; hover it for the message. Drag an item to change the order (a red bar marks a place it cannot go). The button at its left opens the history log | | Status bar | very bottom | left: what the running command wants next. Right: cursor position in sketch coordinates (X … mm Y … mm), sketch status, autosave state (Autosaved …), Ready / Computing / Paused. Stop appears when a computation runs for 8 s or twice the longest computation of the project so far; Resume after it | ## Reading the state - The status bar hint (bottom left) always says what the running command expects: "Pick the first corner", "Select a profile" … - In a sketch, the banner says "Fully constrained" or "Under-constrained · N DOF". - Messages appear for a few seconds as toasts at the bottom centre. - Command windows (Extrude, Offset, Fillet …) show their problem next to OK, e.g. "Select a profile"; OK stays disabled until it is solved. - For a complete record, press the button at the left end of the timeline (or run "History Log" from the command palette): a window lists every step with its status and settings, whether each sketch is fully constrained and how many closed profiles it has, and for each body its volume, size along X, Y and Z, circles with diameter and centre (holes), number of separate pieces and every face with where it lies ("F5 plane facing +Z at z = 5"). Read it there to check a result; its Copy button also copies the project as JSON for a bug report. - The history log ends with "Fabrication (laser)": the material, what each body was recognised as (Flat Part, Rectangular Box, Unfolded Net, Unsupported) and every part with its size. Check it before you export, and again before you report an export as done. ## Entering exact values Clicks on the canvas snap to points, midpoints, curves and a 1 mm grid, but exact geometry is easier to enter by typing: - Typed points: while a Create tool (Line, Rectangle, Circle, Arc, Spline …) runs in a sketch, type a digit and a Point box opens at the bottom of the view. Type `x, y` (absolute), `@dx, dy` (relative to the previous point) or `@length