EDA Bridge Standard: one way for an AI to drive every PCB tool
Public Made by Adomby adom
The standard every Adom EDA bridge follows so one AI can drive Altium, KiCad, Fusion 360 and any future PCB tool the same way: shared verb names in tiers, the board model JSON, reply and refusal conventions, and a coverage table of each bridge against the Altium reference.
Coverage: every standard verb on each bridge
Altium bridge 0.2.93 (the reference), KiCad bridge 1.0.107, Fusion 360 bridge 1.13.64. 100 verbs came from other bridges' proposals (tools/proposed/); they are marked proposed.
exact is the same job under the same or an equivalent name; partial does part of it or does it differently (verbs/coverage.json names what in note); unsupported answers not_supported for the whole job and is not counted; blank is missing.
Generated by tools/generate.py from verbs/coverage.json; do not edit by hand.
| Tier | Verbs | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
| core | 99 | 99 | 99 | 96 |
| native | 55 | 54 | 54 | 52 |
| checks | 39 | 39 | 39 | 39 |
| app | 70 | 70 | 59 | 62 |
| platform | 40 | 18 | 0 | 23 |
| standard (all but platform) | 263 | 262 | 251 | 249 |
core
Read and edit the design. Every bridge provides these: they are how an AI sees and changes a board.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
add_body |
Put a 3D body on a footprint of a PcbLib: a STEP model, or an extruded box when no step is given. It REPLACES the footprint's existing 3D bodies (a... | altium_add_body |
kicad_add_body (partial) |
fusion_attach_3d_package (partial) |
add_models |
Attach one or more PCBLIB footprint models, parameters, comment and description to a SchLib component (Altium's several-footprints-per-symbol mechanism). | altium_add_models |
kicad_add_models (partial) |
fusion_add_models |
add_symbol_art |
Draw the chip-outline artwork (the chip-thumbnailer polylines adom-symbol baked into the KiCad symbol) into a SchLib component, fitted to its body... | altium_add_symbol_art |
kicad_add_symbol_art |
fusion_add_symbol_art |
align_parts proposed |
Line parts up on a common left, right, top, bottom or centre line, or space them evenly, by courtyard box or by anchor point. One undo step, with... | altium_align_parts |
kicad_align_parts |
fusion_align_parts |
apply_silkscreen |
Land a silkscreen plan in one undo step: designators and comments moved, sized and turned (or hidden), free overlay texts and lines added (bottom texts... | altium_apply_silkscreen |
kicad_silk_fields_batch / kicad_silk_text_batch / kicad_silk_graphics_batch |
fusion_apply_silkscreen |
board_outline |
Draw the board shape as tracks and arcs on a mechanical layer: the outline a fab house reads from the Gerbers. A board built by script has its shape but... | altium_board_outline |
kicad_board_outline |
fusion_board_outline |
board_shape |
Redefine the CURRENT board's outline as a wMm x hMm rectangle at (x0Mm, y0Mm) by rewriting the board outline's segments. | altium_board_shape |
kicad_board_outline |
fusion_board_shape |
board_summary |
One-screen summary of the current board, shaped from one read_board round trip: component counts by side, nets, copper layers actually in use, rule counts. | altium_board_summary |
kicad_board_summary |
fusion_board_summary |
bodies proposed |
Every part's 3D body as a box: its footprint rectangle on the board and its height range above the surface it sits on (a bottom part measures down from the... | altium_bodies |
kicad_bodies |
fusion_bodies |
clone_symbol |
Copy a symbol inside the current SchLib under a new name, all display modes included. | altium_clone_symbol |
kicad_clone_symbol |
fusion_clone_symbol (partial) |
component_data |
Placement data for one board component, or for all of them: footprint pattern, comment, layer/side, position, rotation, size, pad count and the nets on its... | altium_component_data |
kicad_component_data |
fusion_component_data |
component_pins |
Every pad of one board component with its net, position, layer, size and hole. | altium_component_pins |
kicad_component_pins |
fusion_component_pins |
copper_layers |
Every copper layer Altium can address on the current board (top, mid 1-30, planes 1-16, bottom) with names and visibility. | altium_copper_layers |
kicad_copper_layers |
fusion_copper_layers |
copy_footprint |
Duplicate a footprint inside the current PcbLib under a new name (every primitive replicated). | altium_copy_footprint |
kicad_copy_footprint |
fusion_copy_footprint |
copy_routing proposed |
Copy the tracks and vias inside a box to an offset, remapping nets by pairing parts (a designator map or pattern), so a repeated channel gets the same... | altium_copy_routing |
kicad_copy_routing |
fusion_copy_routing |
create_footprint |
Create one footprint from a pad list in a PcbLib (the library is created and saved if the path does not exist) and return a proof frame. | altium_create_footprint |
kicad_create_footprint |
fusion_create_footprint |
create_symbol |
Create one rectangular symbol from a pin list in a SchLib (the library is created and saved if the path does not exist) and return a proof frame. | altium_create_symbol |
kicad_create_symbol |
fusion_create_symbol |
doc_params |
Read or set a sheet's document parameters: the title block (Title, DocumentNumber, Revision, DrawnBy, Author, CompanyName, ...). | altium_doc_params |
kicad_doc_params |
fusion_doc_params (partial) |
edit_footprint proposed |
Edit a library footprint in place: change, delete, add or renumber pads; add, replace or delete graphics on a layer; set its description, tags and... | altium_edit_footprint |
kicad_fp_edit |
fusion_edit_footprint (partial) |
edit_parts proposed |
Edit placed parts: value, designator, any field (add, change, remove), do-not-populate, exclusion from the BOM or position files, mounting type and the... | altium_edit_parts |
kicad_edit_parts |
fusion_edit_parts |
find_symbol |
Find symbols (or footprints with kind:'footprint') by part of their name across libraries: the given ones, or every installed .SchLib/.PcbLib. | altium_find_symbol |
kicad_find_symbol |
fusion_find_symbol (partial) |
footprint_primitives |
Geometry dump of one PLACED component: its tracks, arcs, pads (with solder and paste mask expansion in um) and texts in mils with layer ids; other primitive... | altium_footprint_primitives |
kicad_footprint_primitives |
fusion_footprint_primitives |
generate_body proposed |
Make a part's 3D body from its package family and its datasheet dimensions (chip, SOIC, QFN, QFP, BGA, SOT-23, DFN, MELF, electrolytic can, crystal, pin... | altium_generate_body |
kicad_generate_body |
fusion_generate_body |
import_svg proposed |
Import SVG artwork (a logo, a label) as filled polygons on a silkscreen, copper, mask or user layer, at a position and size; curves flattened, holes kept.... | altium_import_svg |
kicad_import_svg |
fusion_import_svg (partial) |
layer_stack |
The CURRENT board's stack-up: copper layers in order with copper thickness and the dielectric under each (height, constant, material), and the total... | altium_layer_stack |
kicad_layer_stack |
fusion_layer_stack |
layers |
The current board's layer set with ids, names, kind and whether each is displayed. | altium_layers |
kicad_layers |
fusion_layers |
layers_in_use |
Which layers of the current board actually carry primitives: copper layers with copper (densest first) and every layer with anything on it. | altium_layers_in_use |
kicad_layers_in_use |
fusion_layers_in_use |
list_designators |
Every component designator on the current board. | altium_list_designators |
kicad_list_designators |
fusion_list_designators |
list_library |
Names of every component in a .SchLib or every footprint in a .PcbLib (kind taken from the extension). Opens the library; no screenshot. | altium_list_library |
kicad_list_library |
fusion_list_library |
list_nets |
Every net on the current board with its pad count. | altium_list_nets |
kicad_list_nets |
fusion_list_nets |
move_parts |
Move, rotate and flip placed components (side top or bottom; flip:true turns a part over); each part is read back to 0.001 mm, the exact rotation and its... | altium_move_parts |
kicad_move_footprint / kicad_flip_footprint |
fusion_move_parts |
net_connections |
Every pad on the board with its net and owner (Designator.Pad), plus a bounding span and the airline length (minimum spanning tree over its pads, airlineMm)... | altium_net_connections |
kicad_net_connections |
fusion_net_connections |
normalize_bodies |
Move every 3D body of a PcbLib's footprints (or one footprint) onto its pad cluster. A body added through the canvas lands 50000 mil from the pads in the... | altium_normalize_bodies |
kicad_normalize_bodies |
unsupported |
part_parameters |
The parameter names a project's parts carry (with how many parts carry each), or with name, that parameter's value on every part. | altium_part_parameters |
kicad_part_parameters |
fusion_part_parameters |
place_on_pcb |
Place ONE footprint from a PcbLib on a new board and return a proof frame. The single-part predecessor of altium_test_board. | altium_place_on_pcb |
kicad_place_footprint / kicad_add_footprint |
fusion_test_board (partial) |
place_on_sch |
Place one symbol, or a ';' list of symbols, from the open SchLib on ONE new sheet (sheet sized FROM the measured parts: 500 mil gaps, 600 mil margins, A4... | altium_place_on_sch |
kicad_place_on_sch |
fusion_make_showcase_project (partial) |
place_parts proposed |
Put footprints from a library onto the current board, each with its position, rotation and side, and read them back. One undo step. | altium_place_parts |
kicad_place_parts |
fusion_place_parts (partial) |
place_vias |
Place vias (through, top to bottom). One undo step, read back. | altium_place_vias |
kicad_add_via |
fusion_place_vias |
plate_vias |
Make every drilled pad in a PcbLib a plated MULTI-LAYER pad (all footprints, or footprintName). adom-lbr writes heatsink vias as pads with a hole; Altium... | altium_plate_vias |
kicad_plate_vias |
fusion_plate_vias |
project_create proposed |
Create a new project folder with a project file, an empty schematic and an empty board (2 to 32 copper layers), with a title and text variables. | altium_project_create |
kicad_project_create |
fusion_project_create (partial) |
project_info proposed |
A project at a glance: name, files with sizes and dates, the sheet tree, the board (layers, parts, nets, size), text variables, net classes, last change,... | altium_project_info |
kicad_project_info |
fusion_project_info (partial) |
project_rename proposed |
Rename a project: the project file, the root sheet, the board and the tool's side files, with the references inside them updated. Refused while the tool has... | altium_project_rename |
kicad_project_rename |
fusion_project_rename (partial) |
read_board |
ONE round trip: components, nets, layers, copper, rules, occupancy, outline. | altium_read_board |
kicad_read_board |
fusion_read_board |
read_footprint proposed |
Every detail of one library footprint: pads (number, type, shape, position, size, drill, layers), the layers it uses, its courtyard box, graphics per layer,... | altium_read_footprint |
kicad_read_footprint |
fusion_read_footprint |
read_rules |
Every design rule on the current board, flat, disabled ones included: name, kind ordinal, enabled, priority, both scope expressions, comment, and Altium's... | altium_read_rules |
kicad_list_design_rules |
fusion_read_rules |
read_schematic |
Components on the CURRENT schematic sheet (designator, library reference, comment, position, parameters) in one agent round trip. | altium_read_schematic |
kicad_read_schematic |
fusion_read_schematic |
read_symbol |
Read a SchLib component back: description, display-mode count, the pins of mode 0 (designator, name, electrical type), every parameter with its hidden flag,... | altium_read_symbol |
kicad_read_symbol |
fusion_read_symbol (partial) |
remove_footprint |
Delete one footprint from the current PcbLib. | altium_remove_footprint |
kicad_remove_footprint |
fusion_remove_footprint |
remove_graphics proposed |
Remove board graphics (lines, rectangles, circles, arcs, polygons, texts, dimensions) by id, or every one on a layer and of a kind. One undo step. | altium_remove_graphics |
kicad_remove_graphics |
fusion_remove_graphics |
remove_items |
Delete specific free tracks and vias, given exactly as altium_routing_state returned them. One undo step. | altium_remove_items |
kicad_remove_items |
fusion_remove_items |
remove_parts proposed |
Remove placed parts from the board by designator, as one undo step. The library is not touched (that is remove_footprint). | altium_remove_parts |
kicad_remove_parts |
fusion_remove_parts |
remove_symbol |
Delete one component from the current SchLib. | altium_remove_symbol |
kicad_remove_symbol |
fusion_remove_symbol |
rename_footprint |
Rename a footprint in the current PcbLib. | altium_rename_footprint |
kicad_rename_footprint |
fusion_rename_footprint |
rename_symbol |
Rename a component (LibReference) in the current SchLib. | altium_rename_symbol |
kicad_rename_symbol |
fusion_rename_symbol |
ripup_nets |
Delete every free track, arc and via on each named net. One undo step. | altium_ripup_nets |
kicad_ripup_nets |
fusion_ripup_nets |
route_net |
Route one net as tracks, segment by segment; a waypoint on another layer drops a via there. One undo step, read back. | altium_route_net |
kicad_route_net |
fusion_route_net |
routing_state |
The WHOLE current board as data, in mm: tracks, arcs, vias, pads (with owner and net), components (ref, x, y, rotation, side), polygon pours, the outline,... | altium_routing_state |
kicad_routing_state |
fusion_routing_state |
rules_by_kind |
The current board's ENABLED design rules grouped by rule kind (Clearance, Width, RoutingVias, ...), each group sorted by priority. Shaped from one... | altium_rules_by_kind |
kicad_rules_by_kind |
fusion_rules_by_kind |
sch_batch proposed |
Apply a list of schematic edits to one sheet in one read and one write, all or nothing: each op is a standard schematic verb with its own arguments, seeing... | altium_sch_batch |
kicad_sch_batch |
fusion_sch_batch |
sch_bus proposed |
Draw a bus as a polyline (one bus segment per pair of points), optionally with a bus label such as D[0..7] or a group {SDA SCL} at its first point. One undo... | altium_sch_bus |
kicad_sch_bus |
fusion_sch_bus |
sch_bus_entry proposed |
Add 45-degree bus entries: the short diagonal that joins a member wire's end to a bus. One undo step. | altium_sch_bus_entry |
kicad_sch_bus_entry |
fusion_sch_bus_entry |
sch_connect |
Connect pins of placed parts: a wire stub from each pin's outer end plus a net label (kind label), a power port (kind power: GND-like nets get a ground... | altium_sch_connect |
kicad_sch_connect |
fusion_sch_connect (partial) |
sch_connect_pins proposed |
Wire pins to pins on a sheet by Ref.Pin: an L-shaped route (one horizontal and one vertical leg) for each pair, with a junction dot wherever a route meets... | altium_sch_connect_pins |
kicad_sch_connect_pins |
fusion_sch_connect_pins |
sch_connect_to_bus proposed |
Fan pins onto a bus: for each pin a wire running to the bus, a 45-degree bus entry onto it and a member label (D0, D1 ...) on the wire. One undo step. | altium_sch_connect_to_bus |
kicad_sch_connect_to_bus |
fusion_sch_connect_to_bus |
sch_create proposed |
Create an empty schematic sheet with a paper size and title block; optionally add it to a project as a child sheet of the root. It places no parts or nets... | altium_sch_create |
kicad_sch_create |
fusion_sch_create (partial) |
sch_delete_wire proposed |
Delete wires or bus segments by id, by their two ends, or every wire through a point, and remove junction dots that no longer join three or more items. One... | altium_sch_delete_wire |
kicad_sch_delete_wire |
fusion_sch_delete_wire |
sch_edit |
Change placed parts on a sheet: move (to x,y mil), moveBy (dx,dy), rotate (degrees), rename (designator), re-comment (comment), delete. One undo step. | altium_sch_edit |
kicad_sch_edit |
fusion_sch_edit |
sch_edit_label proposed |
Edit net labels: rotate, move to a point or by a delta, rename, or move every label of a net at once. One undo step. | altium_sch_edit_label |
kicad_sch_edit_label |
fusion_sch_edit_label |
sch_fix_connectivity proposed |
Snap near-miss wire ends onto the pin, label, sheet pin or wire end they almost touch, within a tolerance. dryRun (the default) lists the moves;... | altium_sch_fix_connectivity |
kicad_sch_fix_connectivity |
fusion_sch_fix_connectivity |
sch_hierarchy proposed |
The sheet tree of a design, recursively: each sheet's name, file, id, instance path, page number, position, size and pins. renumber:true renumbers pages... | altium_sch_hierarchy |
kicad_sch_hierarchy |
fusion_sch_hierarchy (partial) |
sch_items proposed |
List a sheet's wiring items with ids and coordinates: wires, buses, bus entries, net labels (local, global, hierarchical), power ports, junctions,... | altium_sch_items |
kicad_sch_items |
fusion_sch_items |
sch_junction proposed |
Add junction dots at points, or remove dots by id or point. One undo step. | altium_sch_junction |
kicad_sch_junction |
fusion_sch_junction |
sch_label proposed |
Put a net label on an existing wire at a point, or delete one. sch_connect labels a pin through a new stub, and sch_edit_label changes labels that already... | altium_sch_label |
kicad_sch_label |
fusion_sch_label (partial) |
sch_move_region proposed |
Move everything inside a box by (dx, dy): parts, wire ends inside the box (wires crossing its edge stretch), labels, junctions, no-connect markers, texts,... | altium_sch_move_region |
kicad_sch_move_region |
fusion_sch_move_region |
sch_no_connect proposed |
Put a no-connect marker on a sheet, at a point or on a pin, or remove one by its sch_items id. One undo step. | altium_sch_no_connect |
kicad_sch_no_connect |
unsupported |
sch_page proposed |
Read or set a sheet's page: paper size, orientation and title block (title, date, revision, company, comment lines). | altium_sch_page |
kicad_sch_page |
fusion_sch_page (partial) |
sch_pins proposed |
Every pin of the named parts on a sheet: its absolute position (rotation and mirror applied), number, name, electrical type, the side it leaves the body,... | altium_sch_pins |
kicad_sch_pins |
fusion_sch_pins |
sch_place_part |
Place a component from a .SchLib onto an EXISTING sheet at a position, with its library parameters (MPN, Manufacturer, distributor numbers) and its... | altium_sch_place_part |
kicad_sch_place_part |
fusion_sch_place_part |
sch_reset_fields proposed |
Put parts' designator and value text (or the named fields) back where the library symbol places them, through each part's rotation and mirror. One undo step. | altium_sch_reset_fields |
kicad_sch_reset_fields |
fusion_sch_reset_fields |
sch_sheet_pins proposed |
A sheet symbol's pins: list, add, edit (rename, kind, move along an edge) or delete. import:true adds a pin for every hierarchical port inside the child... | altium_sch_sheet_pins |
kicad_sch_sheet_pins |
fusion_sch_sheet_pins (partial) |
sch_sheet_symbol |
Make a design hierarchical: a sheet symbol on the parent sheet for a child sheet, its entries joined to the parent's nets, and matching ports on the child.... | altium_sch_sheet_symbol |
kicad_sch_sheet_symbol (partial) |
unsupported |
sch_split_wire proposed |
Split the wire through a point into two wires there, with a junction dot at the cut, so a new branch can end on a wire end. One undo step. | altium_sch_split_wire |
kicad_sch_split_wire |
fusion_sch_split_wire (partial) |
sch_swap_part |
Replace a placed part with another library part (a different value, package or symbol) at the same place, designator and rotation, keeping its connections:... | altium_sch_swap_part |
kicad_sch_swap_part |
fusion_sch_swap_part |
sch_text proposed |
Add free text to a sheet (a note, a title, a design comment) with size, angle, justification, bold and italic. Text has no electrical meaning. One undo step. | altium_sch_text |
kicad_sch_text |
fusion_sch_text |
sch_trace_point proposed |
Everything electrically connected at a point on a sheet: the wires, labels, pins, junctions, sheet pins and no-connect markers there, and for each net they... | altium_sch_trace_point |
kicad_sch_trace_point |
fusion_sch_trace_point |
sch_wire proposed |
Draw a wire through given points on a sheet, in the same units as the other sch_* wiring verbs. One undo step. | altium_sch_wire |
kicad_sch_wire |
fusion_sch_wire |
schematic_data |
Components on a schematic sheet (filePath, else the CURRENT sheet) with their pins (number, name, electrical type), position and orientation. designator... | altium_schematic_data |
kicad_schematic_data |
fusion_schematic_data (partial) |
set_layer_count proposed |
Set the board's copper layer count (2, 4, 6 or 8): the layer table and the stack-up, keeping the board thickness. | altium_set_layer_count |
kicad_set_layer_count |
fusion_set_layer_count |
set_models |
Replace every footprint model on a SchLib component with ONE PCBLIB model (set_params footprint and add_models APPEND, which is how a symbol ends up with two). | altium_set_models |
kicad_set_models |
fusion_set_models |
set_outline |
Reshape the current board's outline (a rectangle with rounded corners, or a polygon). One undo step. | altium_set_outline |
kicad_board_outline |
fusion_set_outline |
set_params |
Set parameters on a SchLib component, optionally its comment, and optionally link a footprint by name. | altium_set_params |
kicad_set_params |
fusion_set_params (partial) |
set_track_width |
Set the width of the EXISTING tracks and arcs on nets or a net class (rules only steer new routing). Widen power nets after routing, or thin a net that... | altium_set_track_width |
kicad_set_track_width |
fusion_set_track_width |
set_visibility |
Show or hide one named parameter on a SchLib component. | altium_set_visibility |
kicad_set_visibility |
fusion_set_visibility |
sheet_params |
Write parameters onto PLACED parts on the schematic sheets (the BOM write-back): MPN, Manufacturer, Mouser/DigiKey/LCSC numbers, anything. A missing... | altium_sheet_params |
kicad_sheet_params |
fusion_sheet_params |
silk_state |
The silkscreen as it stands: every part's body box, its designator and comment (text, location, size, rotation, shown, Altium's measured box), and the free... | altium_silk_state |
kicad_silk_state |
fusion_silk_state |
swap_footprint |
Replace the FIRST component on the current board with a footprint from a PcbLib at the same position, re-assigning nets by pad designator. Tracks are... | altium_swap_footprint |
kicad_swap_footprint |
fusion_swap_footprint |
symbol_prims |
Read a SchLib component's drawing: primitive counts by kind, body rectangle, polyline bounding box, display mode and the footprint models. Read-only, use it... | altium_symbol_prims |
kicad_symbol_prims |
fusion_symbol_prims |
update_footprints_from_library |
Compare each placed footprint with its library's current one and, with apply:true, replace the ones that differ, keeping where the part sits (position,... | altium_update_footprints_from_library |
kicad_update_footprints_from_library |
fusion_update_footprints_from_library (partial) |
xcopy_footprint |
Copy a footprint ACROSS libraries: from fromLib into toLib (opened and made current), optionally under a new name. | altium_xcopy_footprint |
kicad_xcopy_footprint |
fusion_xcopy_footprint (partial) |
native
Wraps the EDA tool's own feature (its DRC, ERC, Gerbers, pours, Update PCB). Every tool has one; the bridge exposes it under this name.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
add_rule |
Add one SCOPED design rule that set_design_rules' board-wide values cannot express: a net's or class's clearance or width, a length limit, a matched-length... | altium_add_rule |
kicad_add_rule |
fusion_add_rule |
annotate |
Number every '?' designator (R?, C?, U?) across the project's sheets: the lowest free number per prefix, top-left first on each sheet. dryRun shows the plan. | altium_annotate |
kicad_annotate |
fusion_annotate |
apply_pours |
Add solid polygon pours from outlines and pour them, each with its own connect style (solid joints or thermal spokes), plus pour keepouts (polygon cutouts);... | altium_apply_pours |
kicad_add_zone / kicad_apply_zone_plan |
fusion_apply_pours (partial) |
autoroute |
Altium's own autorouter (Situs) on the current board: picks a strategy, keeps existing routing locked by default, routes, and answers the unconnected count... | altium_autoroute |
kicad_autoroute |
fusion_autoroute |
build_symbol_modes |
Build ONE SchLib component with N display modes (Normal + Alternate 1..N-1) from a symbol_modes spec file on this machine, and return a proof frame. | altium_build_symbol_modes |
kicad_build_symbol_modes |
fusion_import_part (partial) |
cleanup_libs |
Remove the factory-default stray every fresh library carries: Component_1 from the current SchLib and an empty (no pads) PCBComponent_1 from the current PcbLib. | altium_cleanup_libs |
kicad_cleanup_libs |
fusion_cleanup_libs |
compile |
Compile a project and return Altium's Messages panel (ERC + connectivity) with counts by class. With no path it compiles Altium's bundled example project. | altium_compile |
kicad_compile |
fusion_run_erc (partial) |
component_classes |
List, make or remove component classes on the board, each optionally with a room: a placement area that keeps its parts together (fitted around the parts or... | altium_component_classes |
kicad_component_classes |
unsupported |
create_part_project proposed |
Generate a small real project (schematic and board) around one library part, so the part can be shown and tested in every view: schematic, 2D board and 3D... | altium_create_part_project |
kicad_create_part_project (partial) |
fusion_make_test_project (partial) |
diff_pairs |
Differential pairs on the current board: list them, define one from two nets (replacing a pair of that name), or remove one. Altium's differential-pair... | altium_diff_pairs |
kicad_diff_pairs (partial) |
fusion_diff_pairs (partial) |
edit_pours proposed |
Change existing pours in place without redrawing them: clearance, minimum width, thermal relief (on/off, spoke width, gap), priority or rank, the net, and... | altium_edit_pours |
kicad_edit_pours |
fusion_edit_pours (partial) |
edit_tracks proposed |
Change given tracks by the handle routing_state returns: width, layer and ends. One undo step, read back. | altium_edit_tracks |
kicad_edit_tracks |
fusion_edit_tracks |
export_3d proposed |
Export the board's 3D model in a mesh or CAD format other than STEP (export_step has STEP), through the tool's own exporter, with an optional web-optimized... | altium_export_3d |
kicad_export_3d |
fusion_export_3d |
export_bom |
Bill of materials export: altium_run_outjob with the assembly OutJob and the 'Folder Structure' medium as defaults. | altium_export_bom |
kicad_export_bom |
fusion_export_bom |
export_dxf proposed |
Export chosen board layers to DXF, one file per layer (the outline, panel drawings, stencils, enclosure work). | altium_export_dxf |
kicad_export_dxf |
fusion_export_dxf |
export_gencad proposed |
Export the board as GenCAD 1.4, the input of test-fixture tools and some assembly houses' CAM. | altium_export_gencad |
kicad_export_gencad |
fusion_export_gencad |
export_gerber |
Gerber/drill export: altium_run_outjob with the fabrication OutJob and the 'Folder Structure' medium as defaults. | altium_export_gerber |
kicad_export_gerber |
fusion_export_gerber |
export_ipc2581 proposed |
Export the board as IPC-2581: one XML file with copper, drill, stack-up, netlist and BOM, through the tool's own exporter. | altium_export_ipc2581 |
kicad_export_ipc2581 |
fusion_export_ipc2581 (partial) |
export_ipc356 proposed |
Export the IPC-D-356 netlist of the board, for bare-board electrical test (flying probe or bed of nails). | altium_export_ipc356 |
kicad_export_ipc356 |
fusion_export_ipc356 |
export_library_part proposed |
Export one library part into its own small library files: a symbol library with only its symbol, a footprint library with only its footprint, and its 3D... | altium_export_library_part |
kicad_export_library_part |
fusion_export_library_part (partial) |
export_manufacturing |
A project's manufacturing set in one call: Gerbers, NC drill, pick and place (CSV, mm) and the BOM, from an OutJob the bridge writes beside the project... | altium_export_manufacturing |
kicad_export_manufacturing |
fusion_export_manufacturing |
export_odb proposed |
Export the board as ODB++ (copper, drill, stack-up, netlist and parts in one archive) through the tool's own exporter. | altium_export_odb |
kicad_export_odb |
fusion_export_odb |
export_pdf |
Every sheet of a project as one PDF, plus on request the board's composite print, Altium's assembly drawings (top and bottom, designators on the parts) and... | altium_export_pdf |
kicad_export_pdf |
fusion_export_pdf (partial) |
export_pos proposed |
Export the pick-and-place (component position, CPL) file of a board, optionally in a fab's assembly format (JLCPCB's columns). | altium_export_pos |
kicad_export_pos |
fusion_export_pos |
export_step |
Headless STEP export of a board. Default lane 'outjob': Altium's own ExportSTEP output run from a throwaway project in %TEMP% that points at the board - no... | altium_export_step |
kicad_export_step |
fusion_export_step |
import_design proposed |
Bring a design from another tool into a NEW native design with the parts instantiated: an EAGLE .sch with its paired .brd, a KiCad project, or an Altium... | altium_import_design |
kicad_import_design |
fusion_new_electronics_from_eagle (partial) |
import_step proposed |
Bring a STEP model in as 3D geometry placed with the board: an enclosure, a bracket or a mating part, for fit and clearance checks. Not a footprint's own... | altium_import_step |
kicad_import_step |
fusion_import_step |
install_library |
Register a library file in Altium's Installed Libraries (IntegratedLibraryManager.InstallLibrary) so its parts appear in the Components panel. | altium_install_library |
kicad_install_library |
fusion_install_library_bundle (partial) |
install_library_bundle |
One-click install of a wiki library bundle (zip of .SchLib/.PcbLib): unpack, register, open the library, prove it with a frame. | altium_install_library_bundle |
kicad_install_library_bundle |
fusion_install_library_bundle |
list_installed_libraries |
Every library in Altium's Installed Libraries list (read-only). | altium_list_installed_libraries |
kicad_list_installed_libraries |
fusion_list_installed_libraries (partial) |
net_classes |
Net classes on the current board: list them with their nets, or make one (replacing a class of that name) with an optional width and clearance rule scoped... | altium_net_classes |
kicad_net_classes |
fusion_net_classes |
netlist |
The compiled netlist of a project: every net with its pins (Designator.Pin) across every sheet, the hierarchy resolved; or one net; or compare with the nets... | altium_netlist |
kicad_netlist |
fusion_netlist |
panelize |
Step and repeat a board into a manufacturing panel: a new .PcbDoc holding Altium's own embedded board array of the board (rows x cols), with rails, the... | altium_panelize |
kicad_panelize (partial) |
fusion_panelize |
pcb_report |
Numbers instead of pixels: for a PcbLib, every footprint's pads, pad bounding box, primitive census and 3D bodies; for a board, outline, components with... | altium_pcb_report |
kicad_pcb_report |
fusion_pcb_report |
physical_properties proposed |
Per component: volume, mass, density, surface area and centre of mass, from the tool's own materials. A tool with no materials or part masses answers... | unsupported | unsupported | fusion_physical_properties |
pour_state |
Every polygon pour with the copper it actually poured: filled area per pour and per layer, and the pours that poured nothing. | altium_pour_state |
kicad_pour_state |
fusion_pour_state |
project_snapshot proposed |
A dated copy of the project's documents into /snapshots/[-label]/, with PDFs of the schematic and the board made by the tool. | altium_project_snapshot |
kicad_project_snapshot |
fusion_project_snapshot (partial) |
remove_pours |
Delete polygon pours by net (and layer), or all of them, and the pour keepouts (cutouts) apply_pours made. Tracks and vias are untouched. | altium_remove_pours |
kicad_remove_zone |
fusion_remove_pours |
render_board proposed |
A rendered 3D picture (PNG or JPG) of a board from one side, made by the tool's own renderer with no window: optionally framed on parts, turned for an... | altium_render_board |
kicad_render_board |
fusion_render_board_3d |
render_board_3d proposed |
Render a 3D picture of the board from one side to an image file, through the tool's own renderer, without opening a window. | altium_render_board_3d |
kicad_render_board_3d |
fusion_render_board_3d |
render_board_layers proposed |
Render chosen board layers to an image file without opening a window: a preset view (copper, silkscreen, solder mask, paste, outline, drill, assembly or... | altium_render_board_layers |
kicad_render_board_layers |
fusion_render_board_layers |
render_schematic proposed |
Render a sheet to an image without opening a window, through the tool's own plotter, and keep visual baselines: baseline set stores the image, baseline... | altium_render_schematic |
kicad_render_schematic |
fusion_render_schematic |
replicate_layout |
Copy one channel's placement to matching channels: each target keeps its anchor part where it is and every other part takes the source's offset and rotation... | altium_replicate_layout |
kicad_replicate_layout |
fusion_replicate_layout |
repour |
Repour every polygon on the board (Altium's Repour All) and answer the copper after. Runs outside the script engine so scoped rules apply. | altium_repour |
kicad_repour |
fusion_repour |
routing_drc |
Design-rule violations on the current board WITH locations, plus the unrouted (ratsnest) count, as one clean/not-clean answer. | altium_routing_drc |
kicad_routing_drc |
fusion_routing_drc |
run_drc |
Run the design rule check on a board and read the violation markers back. PCB:DesignRuleCheck opens a MODAL; the bridge clicks 'Run Design Rule Check'... | altium_run_drc |
kicad_run_drc |
fusion_run_drc |
run_erc |
Electrical rules check. Same handler as altium_compile: in Altium, compiling the project IS the ERC. | altium_run_erc |
kicad_run_erc |
fusion_run_erc |
sch_update_from_library proposed |
Update the placed symbols on a sheet from their libraries (all, or the listed ones) and report which changed, which already matched and which no library has. | altium_sch_update_from_library |
kicad_sch_update_from_library |
fusion_sch_update_from_library (partial) |
set_design_rules |
Write a fab's design rules into the current board: clearance, track width, routing via style, hole size, annular ring, hole-to-hole and board-edge clearance... | altium_set_design_rules |
kicad_set_design_rules |
fusion_set_design_rules |
silkscreen_prep |
Clean the silkscreen off the copper with Altium's own Tools > Silkscreen Preparation: silk clipped clear of every mask opening (pad) by the board's silk... | altium_silkscreen_prep |
kicad_silkscreen_prep |
fusion_silkscreen_prep (partial) |
symbol_mode |
Show one display mode (0 = Normal, 1.. = alternates) of the CURRENT SchLib component in the editor and capture a frame. Drives the editor's own mode toggle,... | altium_symbol_mode |
kicad_symbol_mode |
unsupported |
teardrops |
Add (or remove) teardrops with Altium's own Tools > Teardrops: on vias and through-hole pads, SMD pads, track width changes and T-junctions, for the whole... | altium_teardrops |
kicad_teardrops (partial) |
fusion_teardrops (partial) |
uninstall_library |
Remove libraries from Altium's Installed Libraries: the inverse of install_library / install_library_bundle. Library files are never touched. | altium_uninstall_library |
kicad_uninstall_library |
unsupported |
update_pcb |
Design > Update PCB Document from the schematic (the engineering change order): parts added, removed or renamed, nets and footprints updated on the board.... | altium_update_pcb |
kicad_update_pcb_from_schematic (partial) |
fusion_update_pcb (partial) |
variants |
Assembly variants of a project (which parts are fitted on which build): list them, make or change one with not-fitted parts (or put parts back), or remove... | altium_variants |
kicad_variants |
fusion_variants (partial) |
checks
Engineering computed from the board model, not by the tool: one shared engine, so every bridge that serves the model gets them all.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
assembly_check |
Ready for JLCPCB assembly? The board against both JLCPCB PCBA tiers as published (Economic and Standard): board or panel size, thickness and layers, parts... | altium_assembly_check |
kicad_assembly_check |
fusion_assembly_check |
auto_classes |
Net classes from the nets' own names: GND, Power (VCC, VDD, 3V3, VBAT...), Clock, HighSpeed (USB, Ethernet, HDMI, PCIe, DDR, MIPI, LVDS, SATA...) and the... | altium_auto_classes |
kicad_auto_classes |
fusion_auto_classes |
board_features |
Add the furniture every real board needs in one undo step: mounting holes (at points or the four corners), fiducials, keepout areas, and a stitching-via... | altium_board_features |
kicad_add_mounting_hole (partial) |
fusion_board_features (partial) |
board_report |
One shareable page per board: every check run against the live board and its project (Altium's DRC, JLCPCB fab limits and assembly tiers, the schematic... | altium_board_report |
kicad_board_report |
fusion_board_report |
bom |
The project's bill of materials read straight from Altium: every schematic sheet the .PrjPcb lists (placed parts and their parameters) merged with the board... | altium_bom |
kicad_bom |
fusion_bom |
build_board |
Build a NEW board from a parts list and a netlist: outline (rounded corners allowed), every footprint from one PcbLib placed by its own origin, pad nets... | altium_build_board |
kicad_build_board |
fusion_build_board |
build_footprint |
Build a complete footprint (pads, silkscreen, courtyard, arcs) in a PcbLib from a kicad2altium spec file on this machine, and return a proof frame. | altium_build_footprint |
kicad_fp_create (partial) |
fusion_import_part (partial) |
build_schematic |
Draw a design's schematic from its netlist with the project library's symbols, inside a new project (.PrjPcb with the board and libraries), compile it, and... | altium_build_schematic |
kicad_build_schematic |
fusion_schematic_plan / fusion_schematic_run (partial) |
check_clearance proposed |
Measure the gaps between parts, courtyard to courtyard or pad copper to pad copper, for the listed parts or the whole board, and report every pair under a... | altium_check_clearance |
kicad_check_clearance |
fusion_check_clearance |
check_orientation |
Advisory: 2-pad parts whose rotation could be better. Each orthogonal rotation is scored in place by airline length (a routable net's MST with the pad... | altium_check_orientation |
kicad_check_orientation |
fusion_check_orientation |
copper_balance |
How much of each copper layer is copper (tracks, pads, vias and what Altium actually poured, inside the outline; a plane counts full), and how far apart... | altium_copper_balance |
kicad_copper_balance |
fusion_copper_balance |
cross_check |
Compare one schematic sheet's designators with a board's. Altium holds ONE current document, so the verb activates the board, reads it, then activates the... | altium_cross_check |
kicad_cross_check |
fusion_cross_check |
current_capacity |
Will this trace carry the current? For each power net and its current: the narrowest track on every layer it is routed on against the width IPC-2221 needs... | altium_current_capacity |
kicad_current_capacity |
fusion_current_capacity |
estimate_cost proposed |
The board's numbers a fab quote needs (size, layers, thickness, smallest track, gap and drill, holes, SMD and through-hole parts and joints, unique parts)... | altium_estimate_cost |
kicad_estimate_cost |
fusion_estimate_cost |
fab_check |
Before ordering: the board's fab-relevant minimums measured from the live board (narrowest track, smallest via drill, diameter and annular ring, smallest... | altium_fab_check |
kicad_fab_check |
fusion_fab_check |
find_space |
Free spots on the board for a part near another (clear of every other part on that side, of that side's tracks and vias, and inside the outline), nearest... | altium_find_space |
kicad_find_space |
fusion_find_space |
footprint_from_land_pattern |
Build a complete footprint from the land pattern a datasheet prints: pads numbered the standard way (chip, dual SOIC/TSSOP/DFN, SOT, quad QFP/QFN, BGA), an... | altium_footprint_from_land_pattern |
kicad_footprint_from_land_pattern |
fusion_footprint_from_land_pattern (partial) |
height_check |
Will it fit the enclosure? Each part's height from its 3D bodies (top and bottom side), the parts over a height limit board-wide or under a lid feature in a... | altium_height_check |
kicad_height_check |
fusion_height_check |
impedance |
Controlled impedance from the board's own stack-up: the track width each copper layer needs for a single-ended target (50 ohm default) and the width and gap... | altium_impedance |
kicad_impedance |
fusion_impedance |
import_part |
One call imports a whole part: footprint spec + STEP + symbol modes + models + params + save. | altium_import_part |
kicad_install_footprint / kicad_install_symbol (partial) |
fusion_import_part (partial) |
jlcpcb_order |
A JLCPCB order in one call: the board checked against JLCPCB's fab limits, the Gerbers and drill zipped the way JLCPCB's order page takes them, the JLCPCB... | altium_jlcpcb_order |
kicad_jlcpcb_order |
fusion_jlcpcb_order |
length_tune |
Lengthen a routed net to a target length, or to match another net (a pair's skew, a DDR byte lane): a serpentine in its longest straight track that has room... | altium_length_tune |
kicad_length_tune |
fusion_length_tune |
lint_library |
Check a .PcbLib or .SchLib before it ships: footprints without pads, courtyard, silkscreen or 3D body, with duplicate or missing pad numbers, an origin off... | altium_lint_library |
kicad_lint_library |
fusion_lint_library |
model_check proposed |
Per part: is there a 3D model, where is it, is the file found, and does it hold geometry. For a library footprint or a whole board. Read only. | altium_model_check |
kicad_model_check |
fusion_model_check (partial) |
net_lengths |
Routed length of every net (or the ones named) on the live board, by layer with its vias; the skew inside each differential pair; and the spread of... | altium_net_lengths |
kicad_net_lengths |
fusion_net_lengths |
pin_pad_check |
Do the footprints fit their symbols? Part by part, the symbol's pin numbers (from the sheet files) against the footprint's pad names (from the board): pins... | altium_pin_pad_check |
kicad_pin_pad_check |
fusion_pin_pad_check |
place_decoupling proposed |
Plan positions for decoupling capacitors beside an IC's power pins (each cap just outside the courtyard, its power pad facing the pin), answered as... | altium_place_decoupling |
kicad_place_decoupling |
fusion_place_decoupling |
placement_check |
Review the placement before routing: parts whose courtyards (pads and body, grown by a margin) overlap on the same side, parts off the board or over its... | altium_placement_check |
kicad_placement_check |
fusion_placement_check |
plan_fanout proposed |
Plan the fanout of a BGA or QFN/QFP: the pad pitch, dogbone or via-in-pad per pad, the escape layer, surface stubs for the outer ring and a via grid for an... | altium_plan_fanout |
kicad_plan_fanout |
fusion_plan_fanout |
plan_route proposed |
Plan a path for one net between two pads without changing the board: a grid search around the existing copper that keeps the clearance rules, on the allowed... | altium_plan_route |
kicad_plan_route |
fusion_plan_route |
read_sheet_file |
Read a schematic sheet straight from its .SchDoc file, without Altium (it need not be installed or running): every part with its designator, library... | altium_read_sheet_file |
kicad_read_sheet_file |
fusion_read_sheet_file |
return_path |
Where signal tracks lose their reference: for every signal net, the length of track on each layer that runs over no pour or plane copper on either... | altium_return_path |
kicad_return_path |
fusion_return_path |
review_board |
Design-review checks (14) over one board read; schematic checks with includeSchematic. | altium_review_board |
kicad_review_board |
fusion_review_board |
route_pair |
Route a differential pair as a pair: one centreline from the source pads' midpoint through waypoints to the destination pads' midpoint, each net offset to... | altium_route_pair |
kicad_route_pair |
fusion_route_pair |
schematic_review |
Review the schematic before Update PCB: every placed pin (read from the sheet files, with its electrical type) against Altium's compiled netlist. Errors:... | altium_schematic_review |
kicad_schematic_review |
fusion_schematic_review |
silk_designators |
Place every reference designator the way assembly houses want: one size, upright, beside its own part, clear of every pad (JLCPCB: 0.15 mm), every other... | altium_silk_designators |
kicad_silk_designators |
fusion_silk_designators |
test_board |
Place one footprint, or a ';' list, from the open PcbLib on ONE board: a NEW board (wMm x hMm outline) when pcbPath is new or omitted, APPENDED to the... | altium_test_board |
kicad_test_board |
fusion_test_board |
thermal_vias |
A thermal via grid in a part's exposed pad (the ground or thermal pad under a QFN, DFN, PowerPAD or regulator): centred, inset from the pad's edge, sized by... | altium_thermal_vias |
kicad_thermal_vias |
fusion_thermal_vias |
via_fence |
A via fence for EMC: a row of ground vias on both sides of RF or fast nets' tracks, and/or round the board edge, at a pitch from the frequency (lambda/20)... | altium_via_fence |
kicad_via_fence |
fusion_via_fence |
app
Driving the application itself (launch, licence, dialogs, windows, views). Each bridge has its own; the names are shared where the job is.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
activate_document |
Make a document current - the quiet lane (one in-process agent call, no cursor, no OS foreground). Board and schematic read verbs act on the CURRENT document. | altium_activate_document |
kicad_activate_document |
fusion_activate_document |
agent_recover |
Un-halt the script engine: clear the PCB transaction, press OK on open Altium dialogs, send EditScript:Stop, reap the busy notice and delete stale request... | altium_agent_recover |
unsupported | unsupported |
agent_start |
Bootstrap the resident DelphiScript agent inside Altium (renders the script, runs it through the -R lane, waits for the heartbeat). Optional: every... | altium_agent_start |
unsupported | unsupported |
agent_status |
Is the agent loop alive and responsive, in which workspace, and is any loop resident anywhere? Read-only; never starts the agent. | altium_agent_status |
unsupported | fusion_addin_status (partial) |
agent_stop |
Stop the selected instance's resident agent loop (drops a stop file and waits up to 12 s for the heartbeat to go stale). | altium_agent_stop |
unsupported | unsupported |
animate_view |
Camera/zoom choreography on the current document - native Altium camera commands, animated by Altium itself. | altium_animate_view |
kicad_animate_view |
fusion_view (partial) |
cancel_run proposed |
Stop the bridge's own long job, between steps, keeping what is done. With nothing to stop it answers cancelRequested:false and a reason. It never claims to... | altium_cancel_run |
kicad_cancel_run |
fusion_cancel_run (partial) |
check_dialogs |
List every Altium dialog currently open, classified, each with a screenshot (the only way to READ one: Altium paints its dialog text). | altium_check_dialogs |
kicad_check_dialogs |
fusion_check_dialogs |
close |
Polite close (releases the licence seat). Frees a script engine parked on a breakpoint first (Altium refuses to close over one). discardChanges:true answers... | altium_close |
kicad_close |
fusion_stop |
close_all_documents proposed |
Close every open document without a save dialog. Unsaved work is never lost by default: a document with unsaved changes stays open and is listed, unless... | altium_close_all_documents |
kicad_close_all_documents |
fusion_close_all_documents |
close_document |
Close ONE open document by path through its document handle. Never saves. | altium_close_document |
kicad_close_document |
fusion_close_document |
connect_workspace |
Open Altium's workspace picker (the 'Not Connected' menu) and return a screenshot with a coordMap. The list is a custom control with no UIA children, so the... | altium_connect_workspace |
unsupported | unsupported |
cross_probe proposed |
From a schematic part to the board part linked to it, and back, by designator, the schematic symbol's id or its sheet path; optionally select them in the tool. | altium_cross_probe |
kicad_cross_probe |
fusion_cross_probe |
demo |
The tour. Default: one background beat per call with a screenshot. live:true = the narrated FOREGROUND show: ab caption + document + in-bridge camera... | altium_demo |
kicad_demo |
fusion_demo |
describe |
This list - the bridge's verbs and schemas for ab's Verbs tab. | altium_describe |
kicad_describe |
fusion_describe |
diagnostics |
Bridge-side facts for a bug report: environment variables, every Altium install found, Altium's windows, the agent status block and the cache directory. | altium_diagnostics |
kicad_diagnostics |
fusion_diagnostics |
dialog_log |
What the standing dialog reaper (and the bridge's own recoveries) pressed, newest last: nuisance boxes, script-error boxes, discarded save prompts, silent... | altium_dialog_log |
kicad_dialog_log |
fusion_dialog_log |
dismiss_dialogs |
Press one named button (default OK) on the detected Altium dialogs through UIA - no cursor, no focus steal. titles narrows it to dialogs whose title... | altium_dismiss_dialogs |
kicad_dismiss_dialogs |
fusion_dismiss_dialogs |
document_info proposed |
The active document: its name, what kind it is, whether it has unsaved changes, where it is saved and which version it is. Read only; opens nothing. | altium_document_info |
kicad_document_info |
fusion_document_info |
ensure_licensed |
One call to get a usable Altium: launch if needed, then claim a seat (Use License via UIA). Optional escalations: sign out to force a seat release, or start... | altium_ensure_licensed |
kicad_ensure_licensed |
fusion_signin (partial) |
eval |
Run a DelphiScript snippet inside Altium (optional Var block, then Begin ... End;) on the CURRENT document, or on filePath opened first. | altium_eval |
kicad_eval |
fusion_run_modeling_script (partial) |
export_spice proposed |
Write the design's SPICE netlist with the tool's own exporter, and say what it holds. | altium_export_spice |
kicad_export_spice |
fusion_export_spice |
extension_ping |
Does the AdomBridge .NET extension answer? Sends AdomBridge:Ping through the -R lane and waits up to 30 s for its result file. | altium_extension_ping |
unsupported | fusion_addin_status (partial) |
extensions proposed |
The tool's own plugins and add-ons: list what is installed, install one, remove one. Not install_extension, which is the bridge's own helper inside the tool. | altium_extensions (partial) |
kicad_extensions |
fusion_extensions (partial) |
foreground |
Bring Altium in front of the user - the sanctioned exception to the never-foreground rule. | altium_foreground |
kicad_foreground |
fusion_foreground |
install |
Install Altium Designer on this machine, STAGED, with the rules in the verb (from 0.2.29). stage: preflight / get_installer / launch / wait / license, or... | altium_install |
kicad_upgrade (partial) |
fusion_install |
install_extension |
Install, update or remove the AdomBridge .NET extension (the PowerShell installer shipped beside the bridge). Altium must be CLOSED. | altium_install_extension |
unsupported | unsupported |
install_receipt |
The last bundle install's full receipt (proof frame included), for a client whose install call outlived ab's budget. | altium_install_receipt |
unsupported | unsupported |
instances |
Every running Altium (Designer + Designer Develop can run together). | altium_instances |
kicad_instances |
fusion_instances (partial) |
launch |
Start Altium (the newest numbered install, or the one install names) and wait for its main window, then hand the user's own window back. Answers... | altium_launch |
kicad_launch |
fusion_launch |
library_views proposed |
Pictures of library parts for review, each as an image file: the schematic symbol, the footprint (pads and layers), the 3D body seated on the footprint, and... | altium_library_views |
kicad_library_views |
fusion_library_views |
license |
Drive the License Management page (UIA first - no cursor, no foreground). | altium_license |
unsupported | fusion_account (partial) |
license_status |
Plain-language answer to 'what Altium licence am I on?': the state from the window title plus a capture of the License Management page. | altium_license_status |
kicad_license_status |
fusion_license_status |
list_commands |
Search Altium's process-launcher catalog (about 1,100 Server:Command entries parsed from the install's System/*.rcs files) by text and/or server. | altium_list_commands |
kicad_menu_items (partial) |
fusion_list_commands |
log_tail proposed |
What the tool said about itself since an offset: its own log lines and alerts (warnings and errors), so a verb that looks successful while the tool... | altium_log_tail |
kicad_log_tail |
fusion_log_tail |
open_document |
Open a document or project by path through the agent and show it without focusing it. An already-open document is activated, not reloaded. | altium_open_document |
kicad_open_document |
fusion_open_document |
open_project |
Open a project (.PrjPcb / .PrjScr / .PrjMbd / .PrjHar / .LibPkg) by path. Same handler as altium_open_document. | altium_open_project |
kicad_open_project |
fusion_open_cloud_file (partial) |
panel |
Activate a docked panel TAB (SCH Library, PCB Library, Components, Projects, Properties) in the BACKGROUND - the 'ganged-up view' needs the right panels in... | altium_panel |
kicad_send_key (partial) |
fusion_panel |
preferences proposed |
Read the tool's own settings (all, or one by key), or change them with set. Reports per key what was applied. A tool that rewrites its settings on exit... | altium_preferences |
kicad_preferences |
fusion_preferences |
prewarm proposed |
Get this machine ready for a fast first call: detect the tool, seed its first-run settings, dismiss first-run wizards and repair what the first real call... | altium_prewarm |
kicad_prewarm |
fusion_prewarm |
progress |
The bridge's timing book: phases in flight right now (percent/ETA blocks ab paints on the taskbar), measured phase history and per-verb run statistics. | altium_progress |
kicad_progress |
fusion_progress |
readiness |
The one-call gate: is Altium installed, running, licensed, and is the resident agent alive? Answers with Altium closed and never touches the script engine. | altium_readiness |
kicad_readiness |
fusion_readiness |
run_command |
Run an Altium process (Server:Command) through the agent, on the CURRENT document or on filePath opened first. | altium_run_command |
kicad_send_key (partial) |
fusion_run_command |
run_script |
One shot: run a procedure of YOUR OWN .PrjScr through Altium's -R command line. Only for when the agent is NOT resident. | altium_run_script |
kicad_run_script |
fusion_run_script |
save |
Save the focused document, or the document at filePath (opened first if need be, saved by its path, never whatever happens to have focus). | altium_save |
kicad_save |
fusion_save |
sch_zoom |
Find parts on a sheet: select them (everything else deselected), frame the view on them and return a proof frame. The schematic half of cross-probing (the... | altium_sch_zoom |
kicad_sch_zoom (partial) |
fusion_sch_zoom |
select_items proposed |
Select parts by designator on the board or the sheet, or clear the selection. A bridge that cannot select on one of them refuses it by name. verified says... | altium_select_items |
kicad_select_items (partial) |
fusion_select_items (partial) |
select_net |
Select one net as a whole on the current board (tracks, arcs, vias, pads, pours) and nothing else, optionally framing it; no net clears the selection. | altium_select_net |
kicad_select_net |
fusion_select_net |
selection |
What the user has selected in the current board (components with position mm, rotation, side, footprint, size) or sheet (components with location mils and... | altium_selection |
kicad_selection (partial) |
unsupported |
selftest_script_error |
Regression test for the script-error safety net (from 0.2.23): makes the agent raise a REAL DelphiScript runtime error on purpose and checks that the bridge... | altium_selftest_script_error |
unsupported | unsupported |
set_layer_visibility |
Show or hide one layer of the current board (by layer id) and refresh the view and the layer tabs. | altium_set_layer_visibility |
kicad_set_layer_visibility |
fusion_set_layer_visibility |
setup_trial |
Onboarding state machine: from nothing to a working trial. Each call reports the stage it found (install / launch / signin / done) and the ONE next action;... | altium_setup_trial |
kicad_setup_trial |
fusion_install_fusion (partial) |
show_2d_board |
Open a .PcbDoc, switch to 2D, zoom to fit, and return a proof frame. With no filePath it opens the bundled Bluetooth Sentinel board. | altium_show_2d_board |
kicad_show_2d_board |
fusion_show_2d_board |
show_3d_board |
Open a .PcbDoc, switch to 3D, zoom to fit, and return a proof frame. With no filePath it opens the bundled Bluetooth Sentinel board. | altium_show_3d_board |
kicad_show_3d_board |
fusion_show_3d_board |
show_3d_chip |
Open a PcbLib member in the footprint editor in 3D, zoom to fit, and capture a proof frame of the part's 3D body. | altium_show_3d_chip |
kicad_show_3d_chip |
fusion_show_3d_chip |
show_footprint |
Open a PcbLib member in the footprint editor in 2D, zoom to fit, and capture a proof frame. | altium_show_footprint |
kicad_show_footprint |
fusion_show_footprint |
show_library |
Open a .SchLib or .PcbLib (kind taken from the extension), select its first component, return a proof frame and the component names. | altium_show_library |
kicad_show_library |
fusion_show_library |
show_project |
Open a project (.PrjPcb) through the agent and return a proof frame of Altium's main window. With no filePath it opens Altium's bundled example project... | altium_show_project |
kicad_show_project |
fusion_show_project |
show_schematic |
Open a .SchDoc, zoom to fit, and return a proof frame. With no filePath it opens the bundled Bluetooth Sentinel top sheet. | altium_show_schematic |
kicad_show_schematic |
fusion_show_schematic |
show_symbol |
Open a SchLib member in the Symbol editor and capture a background proof. | altium_show_symbol |
kicad_show_symbol |
fusion_show_symbol |
signin |
Report-only alias of altium_signin_status: it does NOT sign anyone in. Signing in to Altium is a browser flow only the human can complete. | altium_signin |
unsupported | fusion_signin |
signin_status |
Account and Altium 365 workspace connection as Altium's own UI reports it: licence state from the title, and whether the workspace menu reads 'Not Connected'. | altium_signin_status |
kicad_signin_status |
fusion_signin_status |
simulate proposed |
Run a circuit simulation of the design's schematic and return the signals as data: an operating point, a DC sweep, an AC sweep or a transient, with the nets... | altium_simulate |
kicad_simulate |
fusion_simulate |
state |
The whole picture in one call: licence state, windows, dialogs, a screenshot of every main/dialog window, and the agent's logical state (focused document,... | altium_state |
kicad_state |
fusion_state |
status |
Is Altium running, licensed, and is the resident agent alive? | altium_status |
kicad_status |
fusion_status |
tool_update proposed |
The tool's own updates: check whether one is offered, apply it in the background when no work would be lost, or read or set automatic updating. | altium_tool_update |
kicad_tool_update |
fusion_tool_update |
uninstall |
Remove the bridge's own cache directory (agent workspaces, rendered agent scripts, the Altium 365 token file). Altium Designer and the user's designs are... | altium_uninstall |
kicad_uninstall |
fusion_uninstall |
verb_times proposed |
Measured run times of this bridge's verbs on this machine: per verb the count, p50, p90, max, last and failures, from its own run log, slowest p90 first. | altium_verb_times |
kicad_verb_times |
fusion_verb_times |
window_info |
Altium's top-level windows plus any open dialogs, without screenshots. The cheap way to ask 'is a modal blocking the engine?'. | altium_window_info |
kicad_window_info |
fusion_window_info |
zoom_to |
Frame the PCB view on a rectangle, a part (or several) or a whole net, with a margin. | altium_zoom_to |
kicad_zoom_to |
fusion_zoom_to |
platform
Specific to one tool's platform (Altium 365, OutJobs, integrated libraries). Not part of the standard; listed so nothing is lost.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
a365_configure |
Store the Altium 365 workspace domain and, optionally, a Bearer token created by hand in the workspace web UI (Admin - Developer). Local-only; tokens never... | altium_a365_configure |
unsupported | |
a365_files_upload |
Upload one local file to the workspace's Files Service and get a temporary opaque file id to pass to a library mutation. | altium_a365_files_upload |
unsupported | |
a365_library_overview |
One fixed read-only query: the workspace library's name, description, update time, component ids/names and footprint/symbol totals. | altium_a365_library_overview |
unsupported | |
a365_library_schema |
Read-only schema map: the GraphQL queries and mutations whose names mention lib, component, symbol, footprint, part or datasheet, with mutation argument types. | altium_a365_library_schema |
unsupported | |
a365_logout |
Revoke the refresh grant at Altium and remove every cached OAuth token. Workspace and client id stay configured. | altium_a365_logout |
unsupported | |
a365_oauth_begin |
Start the Altium 365 OAuth (PKCE + ActionWait) sign-in: the bridge starts listening FIRST, then returns the authorize URL for the user's browser. Works with... | altium_a365_oauth_begin |
unsupported | |
a365_oauth_cancel |
Cancel a waiting OAuth flow. | altium_a365_oauth_cancel |
unsupported | |
a365_oauth_status |
State of the OAuth flow started by altium_a365_oauth_begin: idle / waiting / authorized / cancelled / error. | altium_a365_oauth_status |
unsupported | |
a365_query |
Run one GraphQL query or mutation against the workspace's GraphQL gateway (https:///svc/napi/gateway/graphql/) with the stored token. | altium_a365_query |
unsupported | |
a365_refresh |
Exchange the stored refresh token for a new access token (and store a rotated refresh token if one comes back). | altium_a365_refresh |
unsupported | |
a365_status |
Is the Altium 365 lane configured, is there a token, and is it LIVE (probed with a one-row GraphQL query)? | altium_a365_status |
unsupported | |
aps_browse proposed |
Browse hubs/projects/folders without launching Fusion. | fusion_aps_browse |
||
aps_create_folder proposed |
Create a subfolder in a project (free; needs data:create scope). Use this to make an 'Adom AI Workspace' folder + per-task subfolders so the bridge never... | fusion_aps_create_folder |
||
aps_download proposed |
Download a cloud file to the local machine (no Fusion needed). | fusion_aps_download |
||
aps_file_info proposed |
Version history + who/when/size for a file (tip + recent versions). | fusion_aps_file_info |
||
aps_open proposed |
Find a cloud design by name and open it in Fusion (any folder depth). Fire-and-poll. | fusion_aps_open |
||
aps_recent proposed |
Most-recently-modified designs across the team hub, newest first. | fusion_aps_recent |
||
aps_search proposed |
Server-indexed search across the whole team hub: about 20-30 s hub-wide, a few seconds with projectId (not a 30-min folder walk). Budget 120 s. A ZERO from... | fusion_aps_search |
||
aps_set_client_id proposed |
Set the org's APS (PKCE) client id used for cloud search. Get it from your org's members-only wiki settings: adom-wiki settings get autodesk-aps... | fusion_aps_set_client_id |
||
aps_signin proposed |
Open the Autodesk sign-in in the REMEMBERED browser+profile (not the OS default); a background listener captures the token. Pass {exe,profileDir,name} to... | fusion_aps_signin |
||
aps_status proposed |
APS state: configured, signed in, token live, never-charge meter. When configured:false the hint sends you to your org's shared app ID on the wiki... | fusion_aps_status |
||
aps_upload proposed |
Upload a local file as a NEW cloud file (free Data Management; needs data:write scope). ⛔ FOLDER HYGIENE: NEVER pass a project ROOT folderId - the bridge... | fusion_aps_upload |
||
aps_versions proposed |
Full (uncapped) version history of a file. | fusion_aps_versions |
||
cleanup_cloud_files proposed |
PRECISELY delete a list of cloud files by lineage urn - SAFE cleanup of AI-created clutter. Deletes ONLY the exact fileIds given (never name-guessing), so... | fusion_cleanup_cloud_files |
||
compile_intlib |
Compile a .LibPkg into an integrated library (.IntLib). | altium_compile_intlib |
unsupported | |
create_cloud_folder proposed |
Create a subfolder in a cloud project through the signed-in Fusion session's Data API (no APS needed). Idempotent: an existing folder of that name is... | fusion_create_cloud_folder |
||
delete_cloud_file proposed |
DESTRUCTIVE: delete ONE cloud file through the signed-in Fusion session's Data API. Looks in exactly one folder (projectName + folderPath, no recursion) for... | fusion_delete_cloud_file |
||
extract_intlib |
Extract the editable .SchLib/.PcbLib sources from a compiled .IntLib (Altium writes them next to the IntLib and opens them). | altium_extract_intlib |
unsupported | |
import_kicad |
Import a KiCad file with Altium's own KiCad importer, driven through the AdomBridge .NET extension. | altium_import_kicad |
fusion_create_library (partial) |
|
list_cloud_files proposed |
List files/folders in a cloud project (optionally a subfolder). | fusion_list_cloud_files |
||
list_cloud_projects proposed |
List the cloud PROJECTS visible to the signed-in Fusion session (hub walk - slow on big teams; prefer fusion_aps_search for finding files). | fusion_list_cloud_projects |
||
managed_library_create proposed |
Create a NEW managed library on library.io FROM the library in front (which must already be saved in a Fusion Hub). Drives MANAGE > LIBRARY.IO > Push, then... | fusion_managed_library_create |
||
managed_library_link proposed |
Link the library IN FRONT to an existing managed library on library.io. With no name, opens Fusion's Select Managed Library picker, returns its rows as... | fusion_managed_library_link |
||
managed_library_pull proposed |
Pull the newest version FROM library.io into the linked library in front. A pull ends in ONE of two CEF dialogs and BOTH block the add-in until answered:... | fusion_managed_library_pull |
||
managed_library_push proposed |
Push a NEW VERSION of the library in front up to its linked managed library on library.io. Clicking the menu item alone does NOT push: Fusion raises a CEF... | fusion_managed_library_push |
||
managed_library_unlink proposed |
Unlink the library in front from its managed library on library.io. Fusion greys this out on a library that was never linked, so a silent no-op there is... | fusion_managed_library_unlink |
||
outjob_info |
An OutJob's containers (output media), the outputs in each, and their key settings (units, decimals, plotted layer count), read from the .OutJob file:... | altium_outjob_info |
unsupported | |
run_outjob |
Run one output medium of an .OutJob (gerbers, drill, BOM, PDFs...) and list what it wrote under 'Project Outputs for '. | altium_run_outjob |
unsupported | |
workspace_place |
Put a part from the Altium 365 workspace on a sheet: search, pick a result, place it (Altium's own placement, so the part keeps its workspace link,... | altium_workspace_place |
unsupported | |
workspace_search |
Search the Altium 365 workspace's components (the shared cloud library Altium is signed in to) through Altium's own Components panel: name, description and... | altium_workspace_search |
unsupported |
# Coverage: every standard verb on each bridge
Altium bridge 0.2.93 (the reference), KiCad bridge 1.0.107, Fusion 360 bridge 1.13.64. 100 verbs came from other bridges' proposals (tools/proposed/); they are marked *proposed*.
`exact` is the same job under the same or an equivalent name; `partial` does part of it or does it differently (`verbs/coverage.json` names what in `note`); `unsupported` answers `not_supported` for the whole job and is not counted; blank is missing.
Generated by `tools/generate.py` from `verbs/coverage.json`; do not edit by hand.
| Tier | Verbs | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
| **core** | 99 | 99 | 99 | 96 |
| **native** | 55 | 54 | 54 | 52 |
| **checks** | 39 | 39 | 39 | 39 |
| **app** | 70 | 70 | 59 | 62 |
| **platform** | 40 | 18 | 0 | 23 |
| standard (all but platform) | 263 | 262 | 251 | 249 |
## core
Read and edit the design. Every bridge provides these: they are how an AI sees and changes a board.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
| `add_body` | Put a 3D body on a footprint of a PcbLib: a STEP model, or an extruded box when no step is given. It REPLACES the footprint's existing 3D bodies (a... | `altium_add_body` | `kicad_add_body` (partial) | `fusion_attach_3d_package` (partial) |
| `add_models` | Attach one or more PCBLIB footprint models, parameters, comment and description to a SchLib component (Altium's several-footprints-per-symbol mechanism). | `altium_add_models` | `kicad_add_models` (partial) | `fusion_add_models` |
| `add_symbol_art` | Draw the chip-outline artwork (the chip-thumbnailer polylines adom-symbol baked into the KiCad symbol) into a SchLib component, fitted to its body... | `altium_add_symbol_art` | `kicad_add_symbol_art` | `fusion_add_symbol_art` |
| `align_parts` *proposed* | Line parts up on a common left, right, top, bottom or centre line, or space them evenly, by courtyard box or by anchor point. One undo step, with... | `altium_align_parts` | `kicad_align_parts` | `fusion_align_parts` |
| `apply_silkscreen` | Land a silkscreen plan in one undo step: designators and comments moved, sized and turned (or hidden), free overlay texts and lines added (bottom texts... | `altium_apply_silkscreen` | `kicad_silk_fields_batch / kicad_silk_text_batch / kicad_silk_graphics_batch` | `fusion_apply_silkscreen` |
| `board_outline` | Draw the board shape as tracks and arcs on a mechanical layer: the outline a fab house reads from the Gerbers. A board built by script has its shape but... | `altium_board_outline` | `kicad_board_outline` | `fusion_board_outline` |
| `board_shape` | Redefine the CURRENT board's outline as a wMm x hMm rectangle at (x0Mm, y0Mm) by rewriting the board outline's segments. | `altium_board_shape` | `kicad_board_outline` | `fusion_board_shape` |
| `board_summary` | One-screen summary of the current board, shaped from one read_board round trip: component counts by side, nets, copper layers actually in use, rule counts. | `altium_board_summary` | `kicad_board_summary` | `fusion_board_summary` |
| `bodies` *proposed* | Every part's 3D body as a box: its footprint rectangle on the board and its height range above the surface it sits on (a bottom part measures down from the... | `altium_bodies` | `kicad_bodies` | `fusion_bodies` |
| `clone_symbol` | Copy a symbol inside the current SchLib under a new name, all display modes included. | `altium_clone_symbol` | `kicad_clone_symbol` | `fusion_clone_symbol` (partial) |
| `component_data` | Placement data for one board component, or for all of them: footprint pattern, comment, layer/side, position, rotation, size, pad count and the nets on its... | `altium_component_data` | `kicad_component_data` | `fusion_component_data` |
| `component_pins` | Every pad of one board component with its net, position, layer, size and hole. | `altium_component_pins` | `kicad_component_pins` | `fusion_component_pins` |
| `copper_layers` | Every copper layer Altium can address on the current board (top, mid 1-30, planes 1-16, bottom) with names and visibility. | `altium_copper_layers` | `kicad_copper_layers` | `fusion_copper_layers` |
| `copy_footprint` | Duplicate a footprint inside the current PcbLib under a new name (every primitive replicated). | `altium_copy_footprint` | `kicad_copy_footprint` | `fusion_copy_footprint` |
| `copy_routing` *proposed* | Copy the tracks and vias inside a box to an offset, remapping nets by pairing parts (a designator map or pattern), so a repeated channel gets the same... | `altium_copy_routing` | `kicad_copy_routing` | `fusion_copy_routing` |
| `create_footprint` | Create one footprint from a pad list in a PcbLib (the library is created and saved if the path does not exist) and return a proof frame. | `altium_create_footprint` | `kicad_create_footprint` | `fusion_create_footprint` |
| `create_symbol` | Create one rectangular symbol from a pin list in a SchLib (the library is created and saved if the path does not exist) and return a proof frame. | `altium_create_symbol` | `kicad_create_symbol` | `fusion_create_symbol` |
| `doc_params` | Read or set a sheet's document parameters: the title block (Title, DocumentNumber, Revision, DrawnBy, Author, CompanyName, ...). | `altium_doc_params` | `kicad_doc_params` | `fusion_doc_params` (partial) |
| `edit_footprint` *proposed* | Edit a library footprint in place: change, delete, add or renumber pads; add, replace or delete graphics on a layer; set its description, tags and... | `altium_edit_footprint` | `kicad_fp_edit` | `fusion_edit_footprint` (partial) |
| `edit_parts` *proposed* | Edit placed parts: value, designator, any field (add, change, remove), do-not-populate, exclusion from the BOM or position files, mounting type and the... | `altium_edit_parts` | `kicad_edit_parts` | `fusion_edit_parts` |
| `find_symbol` | Find symbols (or footprints with kind:'footprint') by part of their name across libraries: the given ones, or every installed .SchLib/.PcbLib. | `altium_find_symbol` | `kicad_find_symbol` | `fusion_find_symbol` (partial) |
| `footprint_primitives` | Geometry dump of one PLACED component: its tracks, arcs, pads (with solder and paste mask expansion in um) and texts in mils with layer ids; other primitive... | `altium_footprint_primitives` | `kicad_footprint_primitives` | `fusion_footprint_primitives` |
| `generate_body` *proposed* | Make a part's 3D body from its package family and its datasheet dimensions (chip, SOIC, QFN, QFP, BGA, SOT-23, DFN, MELF, electrolytic can, crystal, pin... | `altium_generate_body` | `kicad_generate_body` | `fusion_generate_body` |
| `import_svg` *proposed* | Import SVG artwork (a logo, a label) as filled polygons on a silkscreen, copper, mask or user layer, at a position and size; curves flattened, holes kept.... | `altium_import_svg` | `kicad_import_svg` | `fusion_import_svg` (partial) |
| `layer_stack` | The CURRENT board's stack-up: copper layers in order with copper thickness and the dielectric under each (height, constant, material), and the total... | `altium_layer_stack` | `kicad_layer_stack` | `fusion_layer_stack` |
| `layers` | The current board's layer set with ids, names, kind and whether each is displayed. | `altium_layers` | `kicad_layers` | `fusion_layers` |
| `layers_in_use` | Which layers of the current board actually carry primitives: copper layers with copper (densest first) and every layer with anything on it. | `altium_layers_in_use` | `kicad_layers_in_use` | `fusion_layers_in_use` |
| `list_designators` | Every component designator on the current board. | `altium_list_designators` | `kicad_list_designators` | `fusion_list_designators` |
| `list_library` | Names of every component in a .SchLib or every footprint in a .PcbLib (kind taken from the extension). Opens the library; no screenshot. | `altium_list_library` | `kicad_list_library` | `fusion_list_library` |
| `list_nets` | Every net on the current board with its pad count. | `altium_list_nets` | `kicad_list_nets` | `fusion_list_nets` |
| `move_parts` | Move, rotate and flip placed components (side top or bottom; flip:true turns a part over); each part is read back to 0.001 mm, the exact rotation and its... | `altium_move_parts` | `kicad_move_footprint / kicad_flip_footprint` | `fusion_move_parts` |
| `net_connections` | Every pad on the board with its net and owner (Designator.Pad), plus a bounding span and the airline length (minimum spanning tree over its pads, airlineMm)... | `altium_net_connections` | `kicad_net_connections` | `fusion_net_connections` |
| `normalize_bodies` | Move every 3D body of a PcbLib's footprints (or one footprint) onto its pad cluster. A body added through the canvas lands 50000 mil from the pads in the... | `altium_normalize_bodies` | `kicad_normalize_bodies` | unsupported |
| `part_parameters` | The parameter names a project's parts carry (with how many parts carry each), or with name, that parameter's value on every part. | `altium_part_parameters` | `kicad_part_parameters` | `fusion_part_parameters` |
| `place_on_pcb` | Place ONE footprint from a PcbLib on a new board and return a proof frame. The single-part predecessor of altium_test_board. | `altium_place_on_pcb` | `kicad_place_footprint / kicad_add_footprint` | `fusion_test_board` (partial) |
| `place_on_sch` | Place one symbol, or a ';' list of symbols, from the open SchLib on ONE new sheet (sheet sized FROM the measured parts: 500 mil gaps, 600 mil margins, A4... | `altium_place_on_sch` | `kicad_place_on_sch` | `fusion_make_showcase_project` (partial) |
| `place_parts` *proposed* | Put footprints from a library onto the current board, each with its position, rotation and side, and read them back. One undo step. | `altium_place_parts` | `kicad_place_parts` | `fusion_place_parts` (partial) |
| `place_vias` | Place vias (through, top to bottom). One undo step, read back. | `altium_place_vias` | `kicad_add_via` | `fusion_place_vias` |
| `plate_vias` | Make every drilled pad in a PcbLib a plated MULTI-LAYER pad (all footprints, or footprintName). adom-lbr writes heatsink vias as pads with a hole; Altium... | `altium_plate_vias` | `kicad_plate_vias` | `fusion_plate_vias` |
| `project_create` *proposed* | Create a new project folder with a project file, an empty schematic and an empty board (2 to 32 copper layers), with a title and text variables. | `altium_project_create` | `kicad_project_create` | `fusion_project_create` (partial) |
| `project_info` *proposed* | A project at a glance: name, files with sizes and dates, the sheet tree, the board (layers, parts, nets, size), text variables, net classes, last change,... | `altium_project_info` | `kicad_project_info` | `fusion_project_info` (partial) |
| `project_rename` *proposed* | Rename a project: the project file, the root sheet, the board and the tool's side files, with the references inside them updated. Refused while the tool has... | `altium_project_rename` | `kicad_project_rename` | `fusion_project_rename` (partial) |
| `read_board` | ONE round trip: components, nets, layers, copper, rules, occupancy, outline. | `altium_read_board` | `kicad_read_board` | `fusion_read_board` |
| `read_footprint` *proposed* | Every detail of one library footprint: pads (number, type, shape, position, size, drill, layers), the layers it uses, its courtyard box, graphics per layer,... | `altium_read_footprint` | `kicad_read_footprint` | `fusion_read_footprint` |
| `read_rules` | Every design rule on the current board, flat, disabled ones included: name, kind ordinal, enabled, priority, both scope expressions, comment, and Altium's... | `altium_read_rules` | `kicad_list_design_rules` | `fusion_read_rules` |
| `read_schematic` | Components on the CURRENT schematic sheet (designator, library reference, comment, position, parameters) in one agent round trip. | `altium_read_schematic` | `kicad_read_schematic` | `fusion_read_schematic` |
| `read_symbol` | Read a SchLib component back: description, display-mode count, the pins of mode 0 (designator, name, electrical type), every parameter with its hidden flag,... | `altium_read_symbol` | `kicad_read_symbol` | `fusion_read_symbol` (partial) |
| `remove_footprint` | Delete one footprint from the current PcbLib. | `altium_remove_footprint` | `kicad_remove_footprint` | `fusion_remove_footprint` |
| `remove_graphics` *proposed* | Remove board graphics (lines, rectangles, circles, arcs, polygons, texts, dimensions) by id, or every one on a layer and of a kind. One undo step. | `altium_remove_graphics` | `kicad_remove_graphics` | `fusion_remove_graphics` |
| `remove_items` | Delete specific free tracks and vias, given exactly as altium_routing_state returned them. One undo step. | `altium_remove_items` | `kicad_remove_items` | `fusion_remove_items` |
| `remove_parts` *proposed* | Remove placed parts from the board by designator, as one undo step. The library is not touched (that is remove_footprint). | `altium_remove_parts` | `kicad_remove_parts` | `fusion_remove_parts` |
| `remove_symbol` | Delete one component from the current SchLib. | `altium_remove_symbol` | `kicad_remove_symbol` | `fusion_remove_symbol` |
| `rename_footprint` | Rename a footprint in the current PcbLib. | `altium_rename_footprint` | `kicad_rename_footprint` | `fusion_rename_footprint` |
| `rename_symbol` | Rename a component (LibReference) in the current SchLib. | `altium_rename_symbol` | `kicad_rename_symbol` | `fusion_rename_symbol` |
| `ripup_nets` | Delete every free track, arc and via on each named net. One undo step. | `altium_ripup_nets` | `kicad_ripup_nets` | `fusion_ripup_nets` |
| `route_net` | Route one net as tracks, segment by segment; a waypoint on another layer drops a via there. One undo step, read back. | `altium_route_net` | `kicad_route_net` | `fusion_route_net` |
| `routing_state` | The WHOLE current board as data, in mm: tracks, arcs, vias, pads (with owner and net), components (ref, x, y, rotation, side), polygon pours, the outline,... | `altium_routing_state` | `kicad_routing_state` | `fusion_routing_state` |
| `rules_by_kind` | The current board's ENABLED design rules grouped by rule kind (Clearance, Width, RoutingVias, ...), each group sorted by priority. Shaped from one... | `altium_rules_by_kind` | `kicad_rules_by_kind` | `fusion_rules_by_kind` |
| `sch_batch` *proposed* | Apply a list of schematic edits to one sheet in one read and one write, all or nothing: each op is a standard schematic verb with its own arguments, seeing... | `altium_sch_batch` | `kicad_sch_batch` | `fusion_sch_batch` |
| `sch_bus` *proposed* | Draw a bus as a polyline (one bus segment per pair of points), optionally with a bus label such as D[0..7] or a group {SDA SCL} at its first point. One undo... | `altium_sch_bus` | `kicad_sch_bus` | `fusion_sch_bus` |
| `sch_bus_entry` *proposed* | Add 45-degree bus entries: the short diagonal that joins a member wire's end to a bus. One undo step. | `altium_sch_bus_entry` | `kicad_sch_bus_entry` | `fusion_sch_bus_entry` |
| `sch_connect` | Connect pins of placed parts: a wire stub from each pin's outer end plus a net label (kind label), a power port (kind power: GND-like nets get a ground... | `altium_sch_connect` | `kicad_sch_connect` | `fusion_sch_connect` (partial) |
| `sch_connect_pins` *proposed* | Wire pins to pins on a sheet by Ref.Pin: an L-shaped route (one horizontal and one vertical leg) for each pair, with a junction dot wherever a route meets... | `altium_sch_connect_pins` | `kicad_sch_connect_pins` | `fusion_sch_connect_pins` |
| `sch_connect_to_bus` *proposed* | Fan pins onto a bus: for each pin a wire running to the bus, a 45-degree bus entry onto it and a member label (D0, D1 ...) on the wire. One undo step. | `altium_sch_connect_to_bus` | `kicad_sch_connect_to_bus` | `fusion_sch_connect_to_bus` |
| `sch_create` *proposed* | Create an empty schematic sheet with a paper size and title block; optionally add it to a project as a child sheet of the root. It places no parts or nets... | `altium_sch_create` | `kicad_sch_create` | `fusion_sch_create` (partial) |
| `sch_delete_wire` *proposed* | Delete wires or bus segments by id, by their two ends, or every wire through a point, and remove junction dots that no longer join three or more items. One... | `altium_sch_delete_wire` | `kicad_sch_delete_wire` | `fusion_sch_delete_wire` |
| `sch_edit` | Change placed parts on a sheet: move (to x,y mil), moveBy (dx,dy), rotate (degrees), rename (designator), re-comment (comment), delete. One undo step. | `altium_sch_edit` | `kicad_sch_edit` | `fusion_sch_edit` |
| `sch_edit_label` *proposed* | Edit net labels: rotate, move to a point or by a delta, rename, or move every label of a net at once. One undo step. | `altium_sch_edit_label` | `kicad_sch_edit_label` | `fusion_sch_edit_label` |
| `sch_fix_connectivity` *proposed* | Snap near-miss wire ends onto the pin, label, sheet pin or wire end they almost touch, within a tolerance. dryRun (the default) lists the moves;... | `altium_sch_fix_connectivity` | `kicad_sch_fix_connectivity` | `fusion_sch_fix_connectivity` |
| `sch_hierarchy` *proposed* | The sheet tree of a design, recursively: each sheet's name, file, id, instance path, page number, position, size and pins. renumber:true renumbers pages... | `altium_sch_hierarchy` | `kicad_sch_hierarchy` | `fusion_sch_hierarchy` (partial) |
| `sch_items` *proposed* | List a sheet's wiring items with ids and coordinates: wires, buses, bus entries, net labels (local, global, hierarchical), power ports, junctions,... | `altium_sch_items` | `kicad_sch_items` | `fusion_sch_items` |
| `sch_junction` *proposed* | Add junction dots at points, or remove dots by id or point. One undo step. | `altium_sch_junction` | `kicad_sch_junction` | `fusion_sch_junction` |
| `sch_label` *proposed* | Put a net label on an existing wire at a point, or delete one. sch_connect labels a pin through a new stub, and sch_edit_label changes labels that already... | `altium_sch_label` | `kicad_sch_label` | `fusion_sch_label` (partial) |
| `sch_move_region` *proposed* | Move everything inside a box by (dx, dy): parts, wire ends inside the box (wires crossing its edge stretch), labels, junctions, no-connect markers, texts,... | `altium_sch_move_region` | `kicad_sch_move_region` | `fusion_sch_move_region` |
| `sch_no_connect` *proposed* | Put a no-connect marker on a sheet, at a point or on a pin, or remove one by its sch_items id. One undo step. | `altium_sch_no_connect` | `kicad_sch_no_connect` | unsupported |
| `sch_page` *proposed* | Read or set a sheet's page: paper size, orientation and title block (title, date, revision, company, comment lines). | `altium_sch_page` | `kicad_sch_page` | `fusion_sch_page` (partial) |
| `sch_pins` *proposed* | Every pin of the named parts on a sheet: its absolute position (rotation and mirror applied), number, name, electrical type, the side it leaves the body,... | `altium_sch_pins` | `kicad_sch_pins` | `fusion_sch_pins` |
| `sch_place_part` | Place a component from a .SchLib onto an EXISTING sheet at a position, with its library parameters (MPN, Manufacturer, distributor numbers) and its... | `altium_sch_place_part` | `kicad_sch_place_part` | `fusion_sch_place_part` |
| `sch_reset_fields` *proposed* | Put parts' designator and value text (or the named fields) back where the library symbol places them, through each part's rotation and mirror. One undo step. | `altium_sch_reset_fields` | `kicad_sch_reset_fields` | `fusion_sch_reset_fields` |
| `sch_sheet_pins` *proposed* | A sheet symbol's pins: list, add, edit (rename, kind, move along an edge) or delete. import:true adds a pin for every hierarchical port inside the child... | `altium_sch_sheet_pins` | `kicad_sch_sheet_pins` | `fusion_sch_sheet_pins` (partial) |
| `sch_sheet_symbol` | Make a design hierarchical: a sheet symbol on the parent sheet for a child sheet, its entries joined to the parent's nets, and matching ports on the child.... | `altium_sch_sheet_symbol` | `kicad_sch_sheet_symbol` (partial) | unsupported |
| `sch_split_wire` *proposed* | Split the wire through a point into two wires there, with a junction dot at the cut, so a new branch can end on a wire end. One undo step. | `altium_sch_split_wire` | `kicad_sch_split_wire` | `fusion_sch_split_wire` (partial) |
| `sch_swap_part` | Replace a placed part with another library part (a different value, package or symbol) at the same place, designator and rotation, keeping its connections:... | `altium_sch_swap_part` | `kicad_sch_swap_part` | `fusion_sch_swap_part` |
| `sch_text` *proposed* | Add free text to a sheet (a note, a title, a design comment) with size, angle, justification, bold and italic. Text has no electrical meaning. One undo step. | `altium_sch_text` | `kicad_sch_text` | `fusion_sch_text` |
| `sch_trace_point` *proposed* | Everything electrically connected at a point on a sheet: the wires, labels, pins, junctions, sheet pins and no-connect markers there, and for each net they... | `altium_sch_trace_point` | `kicad_sch_trace_point` | `fusion_sch_trace_point` |
| `sch_wire` *proposed* | Draw a wire through given points on a sheet, in the same units as the other sch_* wiring verbs. One undo step. | `altium_sch_wire` | `kicad_sch_wire` | `fusion_sch_wire` |
| `schematic_data` | Components on a schematic sheet (filePath, else the CURRENT sheet) with their pins (number, name, electrical type), position and orientation. designator... | `altium_schematic_data` | `kicad_schematic_data` | `fusion_schematic_data` (partial) |
| `set_layer_count` *proposed* | Set the board's copper layer count (2, 4, 6 or 8): the layer table and the stack-up, keeping the board thickness. | `altium_set_layer_count` | `kicad_set_layer_count` | `fusion_set_layer_count` |
| `set_models` | Replace every footprint model on a SchLib component with ONE PCBLIB model (set_params footprint and add_models APPEND, which is how a symbol ends up with two). | `altium_set_models` | `kicad_set_models` | `fusion_set_models` |
| `set_outline` | Reshape the current board's outline (a rectangle with rounded corners, or a polygon). One undo step. | `altium_set_outline` | `kicad_board_outline` | `fusion_set_outline` |
| `set_params` | Set parameters on a SchLib component, optionally its comment, and optionally link a footprint by name. | `altium_set_params` | `kicad_set_params` | `fusion_set_params` (partial) |
| `set_track_width` | Set the width of the EXISTING tracks and arcs on nets or a net class (rules only steer new routing). Widen power nets after routing, or thin a net that... | `altium_set_track_width` | `kicad_set_track_width` | `fusion_set_track_width` |
| `set_visibility` | Show or hide one named parameter on a SchLib component. | `altium_set_visibility` | `kicad_set_visibility` | `fusion_set_visibility` |
| `sheet_params` | Write parameters onto PLACED parts on the schematic sheets (the BOM write-back): MPN, Manufacturer, Mouser/DigiKey/LCSC numbers, anything. A missing... | `altium_sheet_params` | `kicad_sheet_params` | `fusion_sheet_params` |
| `silk_state` | The silkscreen as it stands: every part's body box, its designator and comment (text, location, size, rotation, shown, Altium's measured box), and the free... | `altium_silk_state` | `kicad_silk_state` | `fusion_silk_state` |
| `swap_footprint` | Replace the FIRST component on the current board with a footprint from a PcbLib at the same position, re-assigning nets by pad designator. Tracks are... | `altium_swap_footprint` | `kicad_swap_footprint` | `fusion_swap_footprint` |
| `symbol_prims` | Read a SchLib component's drawing: primitive counts by kind, body rectangle, polyline bounding box, display mode and the footprint models. Read-only, use it... | `altium_symbol_prims` | `kicad_symbol_prims` | `fusion_symbol_prims` |
| `update_footprints_from_library` | Compare each placed footprint with its library's current one and, with apply:true, replace the ones that differ, keeping where the part sits (position,... | `altium_update_footprints_from_library` | `kicad_update_footprints_from_library` | `fusion_update_footprints_from_library` (partial) |
| `xcopy_footprint` | Copy a footprint ACROSS libraries: from fromLib into toLib (opened and made current), optionally under a new name. | `altium_xcopy_footprint` | `kicad_xcopy_footprint` | `fusion_xcopy_footprint` (partial) |
## native
Wraps the EDA tool's own feature (its DRC, ERC, Gerbers, pours, Update PCB). Every tool has one; the bridge exposes it under this name.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
| `add_rule` | Add one SCOPED design rule that set_design_rules' board-wide values cannot express: a net's or class's clearance or width, a length limit, a matched-length... | `altium_add_rule` | `kicad_add_rule` | `fusion_add_rule` |
| `annotate` | Number every '?' designator (R?, C?, U?) across the project's sheets: the lowest free number per prefix, top-left first on each sheet. dryRun shows the plan. | `altium_annotate` | `kicad_annotate` | `fusion_annotate` |
| `apply_pours` | Add solid polygon pours from outlines and pour them, each with its own connect style (solid joints or thermal spokes), plus pour keepouts (polygon cutouts);... | `altium_apply_pours` | `kicad_add_zone / kicad_apply_zone_plan` | `fusion_apply_pours` (partial) |
| `autoroute` | Altium's own autorouter (Situs) on the current board: picks a strategy, keeps existing routing locked by default, routes, and answers the unconnected count... | `altium_autoroute` | `kicad_autoroute` | `fusion_autoroute` |
| `build_symbol_modes` | Build ONE SchLib component with N display modes (Normal + Alternate 1..N-1) from a symbol_modes spec file on this machine, and return a proof frame. | `altium_build_symbol_modes` | `kicad_build_symbol_modes` | `fusion_import_part` (partial) |
| `cleanup_libs` | Remove the factory-default stray every fresh library carries: Component_1 from the current SchLib and an empty (no pads) PCBComponent_1 from the current PcbLib. | `altium_cleanup_libs` | `kicad_cleanup_libs` | `fusion_cleanup_libs` |
| `compile` | Compile a project and return Altium's Messages panel (ERC + connectivity) with counts by class. With no path it compiles Altium's bundled example project. | `altium_compile` | `kicad_compile` | `fusion_run_erc` (partial) |
| `component_classes` | List, make or remove component classes on the board, each optionally with a room: a placement area that keeps its parts together (fitted around the parts or... | `altium_component_classes` | `kicad_component_classes` | unsupported |
| `create_part_project` *proposed* | Generate a small real project (schematic and board) around one library part, so the part can be shown and tested in every view: schematic, 2D board and 3D... | `altium_create_part_project` | `kicad_create_part_project` (partial) | `fusion_make_test_project` (partial) |
| `diff_pairs` | Differential pairs on the current board: list them, define one from two nets (replacing a pair of that name), or remove one. Altium's differential-pair... | `altium_diff_pairs` | `kicad_diff_pairs` (partial) | `fusion_diff_pairs` (partial) |
| `edit_pours` *proposed* | Change existing pours in place without redrawing them: clearance, minimum width, thermal relief (on/off, spoke width, gap), priority or rank, the net, and... | `altium_edit_pours` | `kicad_edit_pours` | `fusion_edit_pours` (partial) |
| `edit_tracks` *proposed* | Change given tracks by the handle routing_state returns: width, layer and ends. One undo step, read back. | `altium_edit_tracks` | `kicad_edit_tracks` | `fusion_edit_tracks` |
| `export_3d` *proposed* | Export the board's 3D model in a mesh or CAD format other than STEP (export_step has STEP), through the tool's own exporter, with an optional web-optimized... | `altium_export_3d` | `kicad_export_3d` | `fusion_export_3d` |
| `export_bom` | Bill of materials export: altium_run_outjob with the assembly OutJob and the 'Folder Structure' medium as defaults. | `altium_export_bom` | `kicad_export_bom` | `fusion_export_bom` |
| `export_dxf` *proposed* | Export chosen board layers to DXF, one file per layer (the outline, panel drawings, stencils, enclosure work). | `altium_export_dxf` | `kicad_export_dxf` | `fusion_export_dxf` |
| `export_gencad` *proposed* | Export the board as GenCAD 1.4, the input of test-fixture tools and some assembly houses' CAM. | `altium_export_gencad` | `kicad_export_gencad` | `fusion_export_gencad` |
| `export_gerber` | Gerber/drill export: altium_run_outjob with the fabrication OutJob and the 'Folder Structure' medium as defaults. | `altium_export_gerber` | `kicad_export_gerber` | `fusion_export_gerber` |
| `export_ipc2581` *proposed* | Export the board as IPC-2581: one XML file with copper, drill, stack-up, netlist and BOM, through the tool's own exporter. | `altium_export_ipc2581` | `kicad_export_ipc2581` | `fusion_export_ipc2581` (partial) |
| `export_ipc356` *proposed* | Export the IPC-D-356 netlist of the board, for bare-board electrical test (flying probe or bed of nails). | `altium_export_ipc356` | `kicad_export_ipc356` | `fusion_export_ipc356` |
| `export_library_part` *proposed* | Export one library part into its own small library files: a symbol library with only its symbol, a footprint library with only its footprint, and its 3D... | `altium_export_library_part` | `kicad_export_library_part` | `fusion_export_library_part` (partial) |
| `export_manufacturing` | A project's manufacturing set in one call: Gerbers, NC drill, pick and place (CSV, mm) and the BOM, from an OutJob the bridge writes beside the project... | `altium_export_manufacturing` | `kicad_export_manufacturing` | `fusion_export_manufacturing` |
| `export_odb` *proposed* | Export the board as ODB++ (copper, drill, stack-up, netlist and parts in one archive) through the tool's own exporter. | `altium_export_odb` | `kicad_export_odb` | `fusion_export_odb` |
| `export_pdf` | Every sheet of a project as one PDF, plus on request the board's composite print, Altium's assembly drawings (top and bottom, designators on the parts) and... | `altium_export_pdf` | `kicad_export_pdf` | `fusion_export_pdf` (partial) |
| `export_pos` *proposed* | Export the pick-and-place (component position, CPL) file of a board, optionally in a fab's assembly format (JLCPCB's columns). | `altium_export_pos` | `kicad_export_pos` | `fusion_export_pos` |
| `export_step` | Headless STEP export of a board. Default lane 'outjob': Altium's own ExportSTEP output run from a throwaway project in %TEMP% that points at the board - no... | `altium_export_step` | `kicad_export_step` | `fusion_export_step` |
| `import_design` *proposed* | Bring a design from another tool into a NEW native design with the parts instantiated: an EAGLE .sch with its paired .brd, a KiCad project, or an Altium... | `altium_import_design` | `kicad_import_design` | `fusion_new_electronics_from_eagle` (partial) |
| `import_step` *proposed* | Bring a STEP model in as 3D geometry placed with the board: an enclosure, a bracket or a mating part, for fit and clearance checks. Not a footprint's own... | `altium_import_step` | `kicad_import_step` | `fusion_import_step` |
| `install_library` | Register a library file in Altium's Installed Libraries (IntegratedLibraryManager.InstallLibrary) so its parts appear in the Components panel. | `altium_install_library` | `kicad_install_library` | `fusion_install_library_bundle` (partial) |
| `install_library_bundle` | One-click install of a wiki library bundle (zip of .SchLib/.PcbLib): unpack, register, open the library, prove it with a frame. | `altium_install_library_bundle` | `kicad_install_library_bundle` | `fusion_install_library_bundle` |
| `list_installed_libraries` | Every library in Altium's Installed Libraries list (read-only). | `altium_list_installed_libraries` | `kicad_list_installed_libraries` | `fusion_list_installed_libraries` (partial) |
| `net_classes` | Net classes on the current board: list them with their nets, or make one (replacing a class of that name) with an optional width and clearance rule scoped... | `altium_net_classes` | `kicad_net_classes` | `fusion_net_classes` |
| `netlist` | The compiled netlist of a project: every net with its pins (Designator.Pin) across every sheet, the hierarchy resolved; or one net; or compare with the nets... | `altium_netlist` | `kicad_netlist` | `fusion_netlist` |
| `panelize` | Step and repeat a board into a manufacturing panel: a new .PcbDoc holding Altium's own embedded board array of the board (rows x cols), with rails, the... | `altium_panelize` | `kicad_panelize` (partial) | `fusion_panelize` |
| `pcb_report` | Numbers instead of pixels: for a PcbLib, every footprint's pads, pad bounding box, primitive census and 3D bodies; for a board, outline, components with... | `altium_pcb_report` | `kicad_pcb_report` | `fusion_pcb_report` |
| `physical_properties` *proposed* | Per component: volume, mass, density, surface area and centre of mass, from the tool's own materials. A tool with no materials or part masses answers... | unsupported | unsupported | `fusion_physical_properties` |
| `pour_state` | Every polygon pour with the copper it actually poured: filled area per pour and per layer, and the pours that poured nothing. | `altium_pour_state` | `kicad_pour_state` | `fusion_pour_state` |
| `project_snapshot` *proposed* | A dated copy of the project's documents into <project>/snapshots/<stamp>[-label]/, with PDFs of the schematic and the board made by the tool. | `altium_project_snapshot` | `kicad_project_snapshot` | `fusion_project_snapshot` (partial) |
| `remove_pours` | Delete polygon pours by net (and layer), or all of them, and the pour keepouts (cutouts) apply_pours made. Tracks and vias are untouched. | `altium_remove_pours` | `kicad_remove_zone` | `fusion_remove_pours` |
| `render_board` *proposed* | A rendered 3D picture (PNG or JPG) of a board from one side, made by the tool's own renderer with no window: optionally framed on parts, turned for an... | `altium_render_board` | `kicad_render_board` | `fusion_render_board_3d` |
| `render_board_3d` *proposed* | Render a 3D picture of the board from one side to an image file, through the tool's own renderer, without opening a window. | `altium_render_board_3d` | `kicad_render_board_3d` | `fusion_render_board_3d` |
| `render_board_layers` *proposed* | Render chosen board layers to an image file without opening a window: a preset view (copper, silkscreen, solder mask, paste, outline, drill, assembly or... | `altium_render_board_layers` | `kicad_render_board_layers` | `fusion_render_board_layers` |
| `render_schematic` *proposed* | Render a sheet to an image without opening a window, through the tool's own plotter, and keep visual baselines: baseline set stores the image, baseline... | `altium_render_schematic` | `kicad_render_schematic` | `fusion_render_schematic` |
| `replicate_layout` | Copy one channel's placement to matching channels: each target keeps its anchor part where it is and every other part takes the source's offset and rotation... | `altium_replicate_layout` | `kicad_replicate_layout` | `fusion_replicate_layout` |
| `repour` | Repour every polygon on the board (Altium's Repour All) and answer the copper after. Runs outside the script engine so scoped rules apply. | `altium_repour` | `kicad_repour` | `fusion_repour` |
| `routing_drc` | Design-rule violations on the current board WITH locations, plus the unrouted (ratsnest) count, as one clean/not-clean answer. | `altium_routing_drc` | `kicad_routing_drc` | `fusion_routing_drc` |
| `run_drc` | Run the design rule check on a board and read the violation markers back. PCB:DesignRuleCheck opens a MODAL; the bridge clicks 'Run Design Rule Check'... | `altium_run_drc` | `kicad_run_drc` | `fusion_run_drc` |
| `run_erc` | Electrical rules check. Same handler as altium_compile: in Altium, compiling the project IS the ERC. | `altium_run_erc` | `kicad_run_erc` | `fusion_run_erc` |
| `sch_update_from_library` *proposed* | Update the placed symbols on a sheet from their libraries (all, or the listed ones) and report which changed, which already matched and which no library has. | `altium_sch_update_from_library` | `kicad_sch_update_from_library` | `fusion_sch_update_from_library` (partial) |
| `set_design_rules` | Write a fab's design rules into the current board: clearance, track width, routing via style, hole size, annular ring, hole-to-hole and board-edge clearance... | `altium_set_design_rules` | `kicad_set_design_rules` | `fusion_set_design_rules` |
| `silkscreen_prep` | Clean the silkscreen off the copper with Altium's own Tools > Silkscreen Preparation: silk clipped clear of every mask opening (pad) by the board's silk... | `altium_silkscreen_prep` | `kicad_silkscreen_prep` | `fusion_silkscreen_prep` (partial) |
| `symbol_mode` | Show one display mode (0 = Normal, 1.. = alternates) of the CURRENT SchLib component in the editor and capture a frame. Drives the editor's own mode toggle,... | `altium_symbol_mode` | `kicad_symbol_mode` | unsupported |
| `teardrops` | Add (or remove) teardrops with Altium's own Tools > Teardrops: on vias and through-hole pads, SMD pads, track width changes and T-junctions, for the whole... | `altium_teardrops` | `kicad_teardrops` (partial) | `fusion_teardrops` (partial) |
| `uninstall_library` | Remove libraries from Altium's Installed Libraries: the inverse of install_library / install_library_bundle. Library files are never touched. | `altium_uninstall_library` | `kicad_uninstall_library` | unsupported |
| `update_pcb` | Design > Update PCB Document from the schematic (the engineering change order): parts added, removed or renamed, nets and footprints updated on the board.... | `altium_update_pcb` | `kicad_update_pcb_from_schematic` (partial) | `fusion_update_pcb` (partial) |
| `variants` | Assembly variants of a project (which parts are fitted on which build): list them, make or change one with not-fitted parts (or put parts back), or remove... | `altium_variants` | `kicad_variants` | `fusion_variants` (partial) |
## checks
Engineering computed from the board model, not by the tool: one shared engine, so every bridge that serves the model gets them all.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
| `assembly_check` | Ready for JLCPCB assembly? The board against both JLCPCB PCBA tiers as published (Economic and Standard): board or panel size, thickness and layers, parts... | `altium_assembly_check` | `kicad_assembly_check` | `fusion_assembly_check` |
| `auto_classes` | Net classes from the nets' own names: GND, Power (VCC, VDD, 3V3, VBAT...), Clock, HighSpeed (USB, Ethernet, HDMI, PCIe, DDR, MIPI, LVDS, SATA...) and the... | `altium_auto_classes` | `kicad_auto_classes` | `fusion_auto_classes` |
| `board_features` | Add the furniture every real board needs in one undo step: mounting holes (at points or the four corners), fiducials, keepout areas, and a stitching-via... | `altium_board_features` | `kicad_add_mounting_hole` (partial) | `fusion_board_features` (partial) |
| `board_report` | One shareable page per board: every check run against the live board and its project (Altium's DRC, JLCPCB fab limits and assembly tiers, the schematic... | `altium_board_report` | `kicad_board_report` | `fusion_board_report` |
| `bom` | The project's bill of materials read straight from Altium: every schematic sheet the .PrjPcb lists (placed parts and their parameters) merged with the board... | `altium_bom` | `kicad_bom` | `fusion_bom` |
| `build_board` | Build a NEW board from a parts list and a netlist: outline (rounded corners allowed), every footprint from one PcbLib placed by its own origin, pad nets... | `altium_build_board` | `kicad_build_board` | `fusion_build_board` |
| `build_footprint` | Build a complete footprint (pads, silkscreen, courtyard, arcs) in a PcbLib from a kicad2altium spec file on this machine, and return a proof frame. | `altium_build_footprint` | `kicad_fp_create` (partial) | `fusion_import_part` (partial) |
| `build_schematic` | Draw a design's schematic from its netlist with the project library's symbols, inside a new project (.PrjPcb with the board and libraries), compile it, and... | `altium_build_schematic` | `kicad_build_schematic` | `fusion_schematic_plan / fusion_schematic_run` (partial) |
| `check_clearance` *proposed* | Measure the gaps between parts, courtyard to courtyard or pad copper to pad copper, for the listed parts or the whole board, and report every pair under a... | `altium_check_clearance` | `kicad_check_clearance` | `fusion_check_clearance` |
| `check_orientation` | Advisory: 2-pad parts whose rotation could be better. Each orthogonal rotation is scored in place by airline length (a routable net's MST with the pad... | `altium_check_orientation` | `kicad_check_orientation` | `fusion_check_orientation` |
| `copper_balance` | How much of each copper layer is copper (tracks, pads, vias and what Altium actually poured, inside the outline; a plane counts full), and how far apart... | `altium_copper_balance` | `kicad_copper_balance` | `fusion_copper_balance` |
| `cross_check` | Compare one schematic sheet's designators with a board's. Altium holds ONE current document, so the verb activates the board, reads it, then activates the... | `altium_cross_check` | `kicad_cross_check` | `fusion_cross_check` |
| `current_capacity` | Will this trace carry the current? For each power net and its current: the narrowest track on every layer it is routed on against the width IPC-2221 needs... | `altium_current_capacity` | `kicad_current_capacity` | `fusion_current_capacity` |
| `estimate_cost` *proposed* | The board's numbers a fab quote needs (size, layers, thickness, smallest track, gap and drill, holes, SMD and through-hole parts and joints, unique parts)... | `altium_estimate_cost` | `kicad_estimate_cost` | `fusion_estimate_cost` |
| `fab_check` | Before ordering: the board's fab-relevant minimums measured from the live board (narrowest track, smallest via drill, diameter and annular ring, smallest... | `altium_fab_check` | `kicad_fab_check` | `fusion_fab_check` |
| `find_space` | Free spots on the board for a part near another (clear of every other part on that side, of that side's tracks and vias, and inside the outline), nearest... | `altium_find_space` | `kicad_find_space` | `fusion_find_space` |
| `footprint_from_land_pattern` | Build a complete footprint from the land pattern a datasheet prints: pads numbered the standard way (chip, dual SOIC/TSSOP/DFN, SOT, quad QFP/QFN, BGA), an... | `altium_footprint_from_land_pattern` | `kicad_footprint_from_land_pattern` | `fusion_footprint_from_land_pattern` (partial) |
| `height_check` | Will it fit the enclosure? Each part's height from its 3D bodies (top and bottom side), the parts over a height limit board-wide or under a lid feature in a... | `altium_height_check` | `kicad_height_check` | `fusion_height_check` |
| `impedance` | Controlled impedance from the board's own stack-up: the track width each copper layer needs for a single-ended target (50 ohm default) and the width and gap... | `altium_impedance` | `kicad_impedance` | `fusion_impedance` |
| `import_part` | One call imports a whole part: footprint spec + STEP + symbol modes + models + params + save. | `altium_import_part` | `kicad_install_footprint / kicad_install_symbol` (partial) | `fusion_import_part` (partial) |
| `jlcpcb_order` | A JLCPCB order in one call: the board checked against JLCPCB's fab limits, the Gerbers and drill zipped the way JLCPCB's order page takes them, the JLCPCB... | `altium_jlcpcb_order` | `kicad_jlcpcb_order` | `fusion_jlcpcb_order` |
| `length_tune` | Lengthen a routed net to a target length, or to match another net (a pair's skew, a DDR byte lane): a serpentine in its longest straight track that has room... | `altium_length_tune` | `kicad_length_tune` | `fusion_length_tune` |
| `lint_library` | Check a .PcbLib or .SchLib before it ships: footprints without pads, courtyard, silkscreen or 3D body, with duplicate or missing pad numbers, an origin off... | `altium_lint_library` | `kicad_lint_library` | `fusion_lint_library` |
| `model_check` *proposed* | Per part: is there a 3D model, where is it, is the file found, and does it hold geometry. For a library footprint or a whole board. Read only. | `altium_model_check` | `kicad_model_check` | `fusion_model_check` (partial) |
| `net_lengths` | Routed length of every net (or the ones named) on the live board, by layer with its vias; the skew inside each differential pair; and the spread of... | `altium_net_lengths` | `kicad_net_lengths` | `fusion_net_lengths` |
| `pin_pad_check` | Do the footprints fit their symbols? Part by part, the symbol's pin numbers (from the sheet files) against the footprint's pad names (from the board): pins... | `altium_pin_pad_check` | `kicad_pin_pad_check` | `fusion_pin_pad_check` |
| `place_decoupling` *proposed* | Plan positions for decoupling capacitors beside an IC's power pins (each cap just outside the courtyard, its power pad facing the pin), answered as... | `altium_place_decoupling` | `kicad_place_decoupling` | `fusion_place_decoupling` |
| `placement_check` | Review the placement before routing: parts whose courtyards (pads and body, grown by a margin) overlap on the same side, parts off the board or over its... | `altium_placement_check` | `kicad_placement_check` | `fusion_placement_check` |
| `plan_fanout` *proposed* | Plan the fanout of a BGA or QFN/QFP: the pad pitch, dogbone or via-in-pad per pad, the escape layer, surface stubs for the outer ring and a via grid for an... | `altium_plan_fanout` | `kicad_plan_fanout` | `fusion_plan_fanout` |
| `plan_route` *proposed* | Plan a path for one net between two pads without changing the board: a grid search around the existing copper that keeps the clearance rules, on the allowed... | `altium_plan_route` | `kicad_plan_route` | `fusion_plan_route` |
| `read_sheet_file` | Read a schematic sheet straight from its .SchDoc file, without Altium (it need not be installed or running): every part with its designator, library... | `altium_read_sheet_file` | `kicad_read_sheet_file` | `fusion_read_sheet_file` |
| `return_path` | Where signal tracks lose their reference: for every signal net, the length of track on each layer that runs over no pour or plane copper on either... | `altium_return_path` | `kicad_return_path` | `fusion_return_path` |
| `review_board` | Design-review checks (14) over one board read; schematic checks with includeSchematic. | `altium_review_board` | `kicad_review_board` | `fusion_review_board` |
| `route_pair` | Route a differential pair as a pair: one centreline from the source pads' midpoint through waypoints to the destination pads' midpoint, each net offset to... | `altium_route_pair` | `kicad_route_pair` | `fusion_route_pair` |
| `schematic_review` | Review the schematic before Update PCB: every placed pin (read from the sheet files, with its electrical type) against Altium's compiled netlist. Errors:... | `altium_schematic_review` | `kicad_schematic_review` | `fusion_schematic_review` |
| `silk_designators` | Place every reference designator the way assembly houses want: one size, upright, beside its own part, clear of every pad (JLCPCB: 0.15 mm), every other... | `altium_silk_designators` | `kicad_silk_designators` | `fusion_silk_designators` |
| `test_board` | Place one footprint, or a ';' list, from the open PcbLib on ONE board: a NEW board (wMm x hMm outline) when pcbPath is new or omitted, APPENDED to the... | `altium_test_board` | `kicad_test_board` | `fusion_test_board` |
| `thermal_vias` | A thermal via grid in a part's exposed pad (the ground or thermal pad under a QFN, DFN, PowerPAD or regulator): centred, inset from the pad's edge, sized by... | `altium_thermal_vias` | `kicad_thermal_vias` | `fusion_thermal_vias` |
| `via_fence` | A via fence for EMC: a row of ground vias on both sides of RF or fast nets' tracks, and/or round the board edge, at a pitch from the frequency (lambda/20)... | `altium_via_fence` | `kicad_via_fence` | `fusion_via_fence` |
## app
Driving the application itself (launch, licence, dialogs, windows, views). Each bridge has its own; the names are shared where the job is.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
| `activate_document` | Make a document current - the quiet lane (one in-process agent call, no cursor, no OS foreground). Board and schematic read verbs act on the CURRENT document. | `altium_activate_document` | `kicad_activate_document` | `fusion_activate_document` |
| `agent_recover` | Un-halt the script engine: clear the PCB transaction, press OK on open Altium dialogs, send EditScript:Stop, reap the busy notice and delete stale request... | `altium_agent_recover` | unsupported | unsupported |
| `agent_start` | Bootstrap the resident DelphiScript agent inside Altium (renders the script, runs it through the -R lane, waits for the heartbeat). Optional: every... | `altium_agent_start` | unsupported | unsupported |
| `agent_status` | Is the agent loop alive and responsive, in which workspace, and is any loop resident anywhere? Read-only; never starts the agent. | `altium_agent_status` | unsupported | `fusion_addin_status` (partial) |
| `agent_stop` | Stop the selected instance's resident agent loop (drops a stop file and waits up to 12 s for the heartbeat to go stale). | `altium_agent_stop` | unsupported | unsupported |
| `animate_view` | Camera/zoom choreography on the current document - native Altium camera commands, animated by Altium itself. | `altium_animate_view` | `kicad_animate_view` | `fusion_view` (partial) |
| `cancel_run` *proposed* | Stop the bridge's own long job, between steps, keeping what is done. With nothing to stop it answers cancelRequested:false and a reason. It never claims to... | `altium_cancel_run` | `kicad_cancel_run` | `fusion_cancel_run` (partial) |
| `check_dialogs` | List every Altium dialog currently open, classified, each with a screenshot (the only way to READ one: Altium paints its dialog text). | `altium_check_dialogs` | `kicad_check_dialogs` | `fusion_check_dialogs` |
| `close` | Polite close (releases the licence seat). Frees a script engine parked on a breakpoint first (Altium refuses to close over one). discardChanges:true answers... | `altium_close` | `kicad_close` | `fusion_stop` |
| `close_all_documents` *proposed* | Close every open document without a save dialog. Unsaved work is never lost by default: a document with unsaved changes stays open and is listed, unless... | `altium_close_all_documents` | `kicad_close_all_documents` | `fusion_close_all_documents` |
| `close_document` | Close ONE open document by path through its document handle. Never saves. | `altium_close_document` | `kicad_close_document` | `fusion_close_document` |
| `connect_workspace` | Open Altium's workspace picker (the 'Not Connected' menu) and return a screenshot with a coordMap. The list is a custom control with no UIA children, so the... | `altium_connect_workspace` | unsupported | unsupported |
| `cross_probe` *proposed* | From a schematic part to the board part linked to it, and back, by designator, the schematic symbol's id or its sheet path; optionally select them in the tool. | `altium_cross_probe` | `kicad_cross_probe` | `fusion_cross_probe` |
| `demo` | The tour. Default: one background beat per call with a screenshot. live:true = the narrated FOREGROUND show: ab caption + document + in-bridge camera... | `altium_demo` | `kicad_demo` | `fusion_demo` |
| `describe` | This list - the bridge's verbs and schemas for ab's Verbs tab. | `altium_describe` | `kicad_describe` | `fusion_describe` |
| `diagnostics` | Bridge-side facts for a bug report: environment variables, every Altium install found, Altium's windows, the agent status block and the cache directory. | `altium_diagnostics` | `kicad_diagnostics` | `fusion_diagnostics` |
| `dialog_log` | What the standing dialog reaper (and the bridge's own recoveries) pressed, newest last: nuisance boxes, script-error boxes, discarded save prompts, silent... | `altium_dialog_log` | `kicad_dialog_log` | `fusion_dialog_log` |
| `dismiss_dialogs` | Press one named button (default OK) on the detected Altium dialogs through UIA - no cursor, no focus steal. titles narrows it to dialogs whose title... | `altium_dismiss_dialogs` | `kicad_dismiss_dialogs` | `fusion_dismiss_dialogs` |
| `document_info` *proposed* | The active document: its name, what kind it is, whether it has unsaved changes, where it is saved and which version it is. Read only; opens nothing. | `altium_document_info` | `kicad_document_info` | `fusion_document_info` |
| `ensure_licensed` | One call to get a usable Altium: launch if needed, then claim a seat (Use License via UIA). Optional escalations: sign out to force a seat release, or start... | `altium_ensure_licensed` | `kicad_ensure_licensed` | `fusion_signin` (partial) |
| `eval` | Run a DelphiScript snippet inside Altium (optional Var block, then Begin ... End;) on the CURRENT document, or on filePath opened first. | `altium_eval` | `kicad_eval` | `fusion_run_modeling_script` (partial) |
| `export_spice` *proposed* | Write the design's SPICE netlist with the tool's own exporter, and say what it holds. | `altium_export_spice` | `kicad_export_spice` | `fusion_export_spice` |
| `extension_ping` | Does the AdomBridge .NET extension answer? Sends AdomBridge:Ping through the -R lane and waits up to 30 s for its result file. | `altium_extension_ping` | unsupported | `fusion_addin_status` (partial) |
| `extensions` *proposed* | The tool's own plugins and add-ons: list what is installed, install one, remove one. Not install_extension, which is the bridge's own helper inside the tool. | `altium_extensions` (partial) | `kicad_extensions` | `fusion_extensions` (partial) |
| `foreground` | Bring Altium in front of the user - the sanctioned exception to the never-foreground rule. | `altium_foreground` | `kicad_foreground` | `fusion_foreground` |
| `install` | Install Altium Designer on this machine, STAGED, with the rules in the verb (from 0.2.29). stage: preflight / get_installer / launch / wait / license, or... | `altium_install` | `kicad_upgrade` (partial) | `fusion_install` |
| `install_extension` | Install, update or remove the AdomBridge .NET extension (the PowerShell installer shipped beside the bridge). Altium must be CLOSED. | `altium_install_extension` | unsupported | unsupported |
| `install_receipt` | The last bundle install's full receipt (proof frame included), for a client whose install call outlived ab's budget. | `altium_install_receipt` | unsupported | unsupported |
| `instances` | Every running Altium (Designer + Designer Develop can run together). | `altium_instances` | `kicad_instances` | `fusion_instances` (partial) |
| `launch` | Start Altium (the newest numbered install, or the one install names) and wait for its main window, then hand the user's own window back. Answers... | `altium_launch` | `kicad_launch` | `fusion_launch` |
| `library_views` *proposed* | Pictures of library parts for review, each as an image file: the schematic symbol, the footprint (pads and layers), the 3D body seated on the footprint, and... | `altium_library_views` | `kicad_library_views` | `fusion_library_views` |
| `license` | Drive the License Management page (UIA first - no cursor, no foreground). | `altium_license` | unsupported | `fusion_account` (partial) |
| `license_status` | Plain-language answer to 'what Altium licence am I on?': the state from the window title plus a capture of the License Management page. | `altium_license_status` | `kicad_license_status` | `fusion_license_status` |
| `list_commands` | Search Altium's process-launcher catalog (about 1,100 Server:Command entries parsed from the install's System/*.rcs files) by text and/or server. | `altium_list_commands` | `kicad_menu_items` (partial) | `fusion_list_commands` |
| `log_tail` *proposed* | What the tool said about itself since an offset: its own log lines and alerts (warnings and errors), so a verb that looks successful while the tool... | `altium_log_tail` | `kicad_log_tail` | `fusion_log_tail` |
| `open_document` | Open a document or project by path through the agent and show it without focusing it. An already-open document is activated, not reloaded. | `altium_open_document` | `kicad_open_document` | `fusion_open_document` |
| `open_project` | Open a project (.PrjPcb / .PrjScr / .PrjMbd / .PrjHar / .LibPkg) by path. Same handler as altium_open_document. | `altium_open_project` | `kicad_open_project` | `fusion_open_cloud_file` (partial) |
| `panel` | Activate a docked panel TAB (SCH Library, PCB Library, Components, Projects, Properties) in the BACKGROUND - the 'ganged-up view' needs the right panels in... | `altium_panel` | `kicad_send_key` (partial) | `fusion_panel` |
| `preferences` *proposed* | Read the tool's own settings (all, or one by key), or change them with set. Reports per key what was applied. A tool that rewrites its settings on exit... | `altium_preferences` | `kicad_preferences` | `fusion_preferences` |
| `prewarm` *proposed* | Get this machine ready for a fast first call: detect the tool, seed its first-run settings, dismiss first-run wizards and repair what the first real call... | `altium_prewarm` | `kicad_prewarm` | `fusion_prewarm` |
| `progress` | The bridge's timing book: phases in flight right now (percent/ETA blocks ab paints on the taskbar), measured phase history and per-verb run statistics. | `altium_progress` | `kicad_progress` | `fusion_progress` |
| `readiness` | The one-call gate: is Altium installed, running, licensed, and is the resident agent alive? Answers with Altium closed and never touches the script engine. | `altium_readiness` | `kicad_readiness` | `fusion_readiness` |
| `run_command` | Run an Altium process (Server:Command) through the agent, on the CURRENT document or on filePath opened first. | `altium_run_command` | `kicad_send_key` (partial) | `fusion_run_command` |
| `run_script` | One shot: run a procedure of YOUR OWN .PrjScr through Altium's -R command line. Only for when the agent is NOT resident. | `altium_run_script` | `kicad_run_script` | `fusion_run_script` |
| `save` | Save the focused document, or the document at filePath (opened first if need be, saved by its path, never whatever happens to have focus). | `altium_save` | `kicad_save` | `fusion_save` |
| `sch_zoom` | Find parts on a sheet: select them (everything else deselected), frame the view on them and return a proof frame. The schematic half of cross-probing (the... | `altium_sch_zoom` | `kicad_sch_zoom` (partial) | `fusion_sch_zoom` |
| `select_items` *proposed* | Select parts by designator on the board or the sheet, or clear the selection. A bridge that cannot select on one of them refuses it by name. verified says... | `altium_select_items` | `kicad_select_items` (partial) | `fusion_select_items` (partial) |
| `select_net` | Select one net as a whole on the current board (tracks, arcs, vias, pads, pours) and nothing else, optionally framing it; no net clears the selection. | `altium_select_net` | `kicad_select_net` | `fusion_select_net` |
| `selection` | What the user has selected in the current board (components with position mm, rotation, side, footprint, size) or sheet (components with location mils and... | `altium_selection` | `kicad_selection` (partial) | unsupported |
| `selftest_script_error` | Regression test for the script-error safety net (from 0.2.23): makes the agent raise a REAL DelphiScript runtime error on purpose and checks that the bridge... | `altium_selftest_script_error` | unsupported | unsupported |
| `set_layer_visibility` | Show or hide one layer of the current board (by layer id) and refresh the view and the layer tabs. | `altium_set_layer_visibility` | `kicad_set_layer_visibility` | `fusion_set_layer_visibility` |
| `setup_trial` | Onboarding state machine: from nothing to a working trial. Each call reports the stage it found (install / launch / signin / done) and the ONE next action;... | `altium_setup_trial` | `kicad_setup_trial` | `fusion_install_fusion` (partial) |
| `show_2d_board` | Open a .PcbDoc, switch to 2D, zoom to fit, and return a proof frame. With no filePath it opens the bundled Bluetooth Sentinel board. | `altium_show_2d_board` | `kicad_show_2d_board` | `fusion_show_2d_board` |
| `show_3d_board` | Open a .PcbDoc, switch to 3D, zoom to fit, and return a proof frame. With no filePath it opens the bundled Bluetooth Sentinel board. | `altium_show_3d_board` | `kicad_show_3d_board` | `fusion_show_3d_board` |
| `show_3d_chip` | Open a PcbLib member in the footprint editor in 3D, zoom to fit, and capture a proof frame of the part's 3D body. | `altium_show_3d_chip` | `kicad_show_3d_chip` | `fusion_show_3d_chip` |
| `show_footprint` | Open a PcbLib member in the footprint editor in 2D, zoom to fit, and capture a proof frame. | `altium_show_footprint` | `kicad_show_footprint` | `fusion_show_footprint` |
| `show_library` | Open a .SchLib or .PcbLib (kind taken from the extension), select its first component, return a proof frame and the component names. | `altium_show_library` | `kicad_show_library` | `fusion_show_library` |
| `show_project` | Open a project (.PrjPcb) through the agent and return a proof frame of Altium's main window. With no filePath it opens Altium's bundled example project... | `altium_show_project` | `kicad_show_project` | `fusion_show_project` |
| `show_schematic` | Open a .SchDoc, zoom to fit, and return a proof frame. With no filePath it opens the bundled Bluetooth Sentinel top sheet. | `altium_show_schematic` | `kicad_show_schematic` | `fusion_show_schematic` |
| `show_symbol` | Open a SchLib member in the Symbol editor and capture a background proof. | `altium_show_symbol` | `kicad_show_symbol` | `fusion_show_symbol` |
| `signin` | Report-only alias of altium_signin_status: it does NOT sign anyone in. Signing in to Altium is a browser flow only the human can complete. | `altium_signin` | unsupported | `fusion_signin` |
| `signin_status` | Account and Altium 365 workspace connection as Altium's own UI reports it: licence state from the title, and whether the workspace menu reads 'Not Connected'. | `altium_signin_status` | `kicad_signin_status` | `fusion_signin_status` |
| `simulate` *proposed* | Run a circuit simulation of the design's schematic and return the signals as data: an operating point, a DC sweep, an AC sweep or a transient, with the nets... | `altium_simulate` | `kicad_simulate` | `fusion_simulate` |
| `state` | The whole picture in one call: licence state, windows, dialogs, a screenshot of every main/dialog window, and the agent's logical state (focused document,... | `altium_state` | `kicad_state` | `fusion_state` |
| `status` | Is Altium running, licensed, and is the resident agent alive? | `altium_status` | `kicad_status` | `fusion_status` |
| `tool_update` *proposed* | The tool's own updates: check whether one is offered, apply it in the background when no work would be lost, or read or set automatic updating. | `altium_tool_update` | `kicad_tool_update` | `fusion_tool_update` |
| `uninstall` | Remove the bridge's own cache directory (agent workspaces, rendered agent scripts, the Altium 365 token file). Altium Designer and the user's designs are... | `altium_uninstall` | `kicad_uninstall` | `fusion_uninstall` |
| `verb_times` *proposed* | Measured run times of this bridge's verbs on this machine: per verb the count, p50, p90, max, last and failures, from its own run log, slowest p90 first. | `altium_verb_times` | `kicad_verb_times` | `fusion_verb_times` |
| `window_info` | Altium's top-level windows plus any open dialogs, without screenshots. The cheap way to ask 'is a modal blocking the engine?'. | `altium_window_info` | `kicad_window_info` | `fusion_window_info` |
| `zoom_to` | Frame the PCB view on a rectangle, a part (or several) or a whole net, with a margin. | `altium_zoom_to` | `kicad_zoom_to` | `fusion_zoom_to` |
## platform
Specific to one tool's platform (Altium 365, OutJobs, integrated libraries). Not part of the standard; listed so nothing is lost.
| Verb | What it does | Altium | KiCad | Fusion 360 |
|---|---|---|---|---|
| `a365_configure` | Store the Altium 365 workspace domain and, optionally, a Bearer token created by hand in the workspace web UI (Admin - Developer). Local-only; tokens never... | `altium_a365_configure` | | unsupported |
| `a365_files_upload` | Upload one local file to the workspace's Files Service and get a temporary opaque file id to pass to a library mutation. | `altium_a365_files_upload` | | unsupported |
| `a365_library_overview` | One fixed read-only query: the workspace library's name, description, update time, component ids/names and footprint/symbol totals. | `altium_a365_library_overview` | | unsupported |
| `a365_library_schema` | Read-only schema map: the GraphQL queries and mutations whose names mention lib, component, symbol, footprint, part or datasheet, with mutation argument types. | `altium_a365_library_schema` | | unsupported |
| `a365_logout` | Revoke the refresh grant at Altium and remove every cached OAuth token. Workspace and client id stay configured. | `altium_a365_logout` | | unsupported |
| `a365_oauth_begin` | Start the Altium 365 OAuth (PKCE + ActionWait) sign-in: the bridge starts listening FIRST, then returns the authorize URL for the user's browser. Works with... | `altium_a365_oauth_begin` | | unsupported |
| `a365_oauth_cancel` | Cancel a waiting OAuth flow. | `altium_a365_oauth_cancel` | | unsupported |
| `a365_oauth_status` | State of the OAuth flow started by altium_a365_oauth_begin: idle / waiting / authorized / cancelled / error. | `altium_a365_oauth_status` | | unsupported |
| `a365_query` | Run one GraphQL query or mutation against the workspace's GraphQL gateway (https://<workspace>/svc/napi/gateway/graphql/) with the stored token. | `altium_a365_query` | | unsupported |
| `a365_refresh` | Exchange the stored refresh token for a new access token (and store a rotated refresh token if one comes back). | `altium_a365_refresh` | | unsupported |
| `a365_status` | Is the Altium 365 lane configured, is there a token, and is it LIVE (probed with a one-row GraphQL query)? | `altium_a365_status` | | unsupported |
| `aps_browse` *proposed* | Browse hubs/projects/folders without launching Fusion. | | | `fusion_aps_browse` |
| `aps_create_folder` *proposed* | Create a subfolder in a project (free; needs data:create scope). Use this to make an 'Adom AI Workspace' folder + per-task subfolders so the bridge never... | | | `fusion_aps_create_folder` |
| `aps_download` *proposed* | Download a cloud file to the local machine (no Fusion needed). | | | `fusion_aps_download` |
| `aps_file_info` *proposed* | Version history + who/when/size for a file (tip + recent versions). | | | `fusion_aps_file_info` |
| `aps_open` *proposed* | Find a cloud design by name and open it in Fusion (any folder depth). Fire-and-poll. | | | `fusion_aps_open` |
| `aps_recent` *proposed* | Most-recently-modified designs across the team hub, newest first. | | | `fusion_aps_recent` |
| `aps_search` *proposed* | Server-indexed search across the whole team hub: about 20-30 s hub-wide, a few seconds with projectId (not a 30-min folder walk). Budget 120 s. A ZERO from... | | | `fusion_aps_search` |
| `aps_set_client_id` *proposed* | Set the org's APS (PKCE) client id used for cloud search. Get it from your org's members-only wiki settings: adom-wiki settings get <org> autodesk-aps... | | | `fusion_aps_set_client_id` |
| `aps_signin` *proposed* | Open the Autodesk sign-in in the REMEMBERED browser+profile (not the OS default); a background listener captures the token. Pass {exe,profileDir,name} to... | | | `fusion_aps_signin` |
| `aps_status` *proposed* | APS state: configured, signed in, token live, never-charge meter. When configured:false the hint sends you to your org's shared app ID on the wiki... | | | `fusion_aps_status` |
| `aps_upload` *proposed* | Upload a local file as a NEW cloud file (free Data Management; needs data:write scope). ⛔ FOLDER HYGIENE: NEVER pass a project ROOT folderId - the bridge... | | | `fusion_aps_upload` |
| `aps_versions` *proposed* | Full (uncapped) version history of a file. | | | `fusion_aps_versions` |
| `cleanup_cloud_files` *proposed* | PRECISELY delete a list of cloud files by lineage urn - SAFE cleanup of AI-created clutter. Deletes ONLY the exact fileIds given (never name-guessing), so... | | | `fusion_cleanup_cloud_files` |
| `compile_intlib` | Compile a .LibPkg into an integrated library (.IntLib). | `altium_compile_intlib` | | unsupported |
| `create_cloud_folder` *proposed* | Create a subfolder in a cloud project through the signed-in Fusion session's Data API (no APS needed). Idempotent: an existing folder of that name is... | | | `fusion_create_cloud_folder` |
| `delete_cloud_file` *proposed* | DESTRUCTIVE: delete ONE cloud file through the signed-in Fusion session's Data API. Looks in exactly one folder (projectName + folderPath, no recursion) for... | | | `fusion_delete_cloud_file` |
| `extract_intlib` | Extract the editable .SchLib/.PcbLib sources from a compiled .IntLib (Altium writes them next to the IntLib and opens them). | `altium_extract_intlib` | | unsupported |
| `import_kicad` | Import a KiCad file with Altium's own KiCad importer, driven through the AdomBridge .NET extension. | `altium_import_kicad` | | `fusion_create_library` (partial) |
| `list_cloud_files` *proposed* | List files/folders in a cloud project (optionally a subfolder). | | | `fusion_list_cloud_files` |
| `list_cloud_projects` *proposed* | List the cloud PROJECTS visible to the signed-in Fusion session (hub walk - slow on big teams; prefer fusion_aps_search for finding files). | | | `fusion_list_cloud_projects` |
| `managed_library_create` *proposed* | Create a NEW managed library on library.io FROM the library in front (which must already be saved in a Fusion Hub). Drives MANAGE > LIBRARY.IO > Push, then... | | | `fusion_managed_library_create` |
| `managed_library_link` *proposed* | Link the library IN FRONT to an existing managed library on library.io. With no name, opens Fusion's Select Managed Library picker, returns its rows as... | | | `fusion_managed_library_link` |
| `managed_library_pull` *proposed* | Pull the newest version FROM library.io into the linked library in front. A pull ends in ONE of two CEF dialogs and BOTH block the add-in until answered:... | | | `fusion_managed_library_pull` |
| `managed_library_push` *proposed* | Push a NEW VERSION of the library in front up to its linked managed library on library.io. Clicking the menu item alone does NOT push: Fusion raises a CEF... | | | `fusion_managed_library_push` |
| `managed_library_unlink` *proposed* | Unlink the library in front from its managed library on library.io. Fusion greys this out on a library that was never linked, so a silent no-op there is... | | | `fusion_managed_library_unlink` |
| `outjob_info` | An OutJob's containers (output media), the outputs in each, and their key settings (units, decimals, plotted layer count), read from the .OutJob file:... | `altium_outjob_info` | | unsupported |
| `run_outjob` | Run one output medium of an .OutJob (gerbers, drill, BOM, PDFs...) and list what it wrote under 'Project Outputs for <project>'. | `altium_run_outjob` | | unsupported |
| `workspace_place` | Put a part from the Altium 365 workspace on a sheet: search, pick a result, place it (Altium's own placement, so the part keeps its workspace link,... | `altium_workspace_place` | | unsupported |
| `workspace_search` | Search the Altium 365 workspace's components (the shared cloud library Altium is signed in to) through Altium's own Components panel: name, description and... | `altium_workspace_search` | | unsupported |