CAM Panel
The CAM panel is the browser tree of the CAM workbench: the
document's cam block as Setups (each with its operations), NC Programs and the
Tool Library. It is a dock tab titled CAM, shown in the CAM and
All workbenches.
Header
Four buttons — New setup, New tool, New operation, Generate — the same
actions as the workbench's toolbar buttons, followed by the counts
N setups | M tools | K operations. When an action has something to say that is not a
record (a refusal, an operation that could not be queued and why), the line under the
header says it until the next action. While a generation runs a second line names the
operation generating, its phase and count and the queue, with Cancel beside it; after a
cancel it says what was dropped. A cam block the app cannot read is reported in red
on its own line, and every edit is refused until the document is repaired.
The tree
- Setups — one collapsible row per setup, its operations beneath it as
mark name · strategy · tool, the mark its generation status ( idle, ◔ queued, running, generated, ◑ stale since its inputs moved, failed; hover for the motion count or the reason). An operation's row menu has Hide toolpath / Show toolpath beside Edit and Delete: a hidden toolpath leaves the viewport until shown again (pane state, not the document's). An empty setup reads No operations — press New operation. - NC Programs — ordered groups of operations and the post that writes them,
name · post · N ops; the post itself lands with the post-processor lane. - Tool Library — one row per tool,
T<number> name · kind diameter; above the rows, Add from user library, Import…, Export and Export user library. A tool row's menu: Edit tool…, Duplicate, Save to user library, Delete.
A click selects a row (a second click clears it); the selection is what New operation reads: the selected setup — or the selected operation's setup, or the only setup — and the selected tool, or the only tool. Right-click a row for Delete: a setup's delete takes its operations with it, and a tool used by an operation is refused until that operation is deleted.
The operation dialog
An operation row's double-click (or its menu's Edit operation…) replaces the tree with the
operation's form — Operation, Tool, Geometry, Heights, Passes (the strategy's own parameters,
walked from the model), Linking — described on the
workbench page; Return to tree closes it. Its
rects are cam:form:operation:<id> and cam:field:<path> with nested paths joined by .
(cam:field:strategy.depths.stepDown); the Strategy list is cam:field:strategyKind and, while it
is open, each kind cam:field:strategyKind#<kind>; a chain's fields are list items
(cam:field:targets.chains.0.side) and its Remove button cam:field:targets.removeChain0.
The machine dialog
A document machine's row double-click (or its menu's Edit machine…) replaces the tree with
its editor — Machine, Limits, Travel, Axes, Collision — described on the
workbench page; Return to tree closes it. Its rects are
cam:form:machine:<id> and cam:field:<path> (cam:field:axes.0.direction).
The tool dialog
A tool row's double-click (or its menu's Edit tool…) replaces the tree with the tool's form —
Tool, Geometry, Holder, Feeds, Coolant — described on the
workbench page; Return to tree closes
it. Its rects are cam:form:tool:<id> and cam:field:<key>.
The setup dialog
A setup row's double-click (or its menu's Edit setup…) replaces the tree with the
setup's form — Setup, Orientation, Stock, Heights, Bodies — described on the
workbench page; Return to tree closes it.
Its rects are cam:form:setup:<id>, cam:form:return and cam:field:<key>.
Automation
cam_state reads what the pane shows (records in the model's form, the strategy kinds,
the selection, the last notice, and error for an unreadable block); cam_add_setup,
cam_add_tool, cam_add_operation, cam_add_program, cam_remove, cam_select, cam_open,
cam_update_setup, cam_set_ref, cam_update_tool, cam_duplicate_tool, cam_calculate_feeds,
cam_library, cam_update_operation, cam_generate, cam_cancel, cam_toolpath,
cam_toolpath_visible and cam_scrub do what its buttons and rows do; cam_state adds
generation, each operation's status under statuses and the hiddenToolpaths. The pane publishes its rects as cam:* (cam:new:setup,
cam:section:tools, cam:row:<id>, cam:menuitem:<id>:delete while a row menu is open,
cam:progress and cam:cancel while a generation runs) and its state as __brepCam.