Schematic sheet (filtered export)
get_schematic_dataExport schematic sheet data with optional include filters, preventing large sheets from flooding the agent context. Useful for BOM, wiring checks, and verifying edits.
Instructions
Purpose: Export schematic sheet content with optional filtering so large sheets do not flood the agent context.
When to use: BOM/placement review, wiring checks, sheet size for placement, or verify edit_schematic results. Prefer include_queries with a small subset on busy designs.
Parameters (all optional):
schematic_full_path: absolute path to one .SchDoc in an open project (slashes / or ). Preferred for multi-project workspaces.
project_full_path: absolute path to open .PrjPcb / .PrjScr. Use with schematic_sheet_file_name or alone for all SCH sheets in that project.
schematic_sheet_file_name: file name only (e.g. Sheet1.SchDoc). Requires focused project or project_full_path.
include_queries: string array selecting what to return. Omit entirely for legacy JSON (backward compatible): only { components, drawing_objects }. If present, response uses schematic_data_mode "filtered" and only the requested buckets (plus include_queries echo). Token all expands to every supported bucket. Supported tokens: sheet | components | wires | buses | net_labels | power_ports | text_labels | junctions | ports | off_sheet_connectors | sheet_symbols | directives | figures | harness | drawing_objects. harness currently returns an empty array (placeholder for future API). drawing_objects is the combined non-component list (same mix as legacy). sheet returns sheets[] with one object per matched .SchDoc (size in mils, grids, borders, template path, etc.).
Resolution order: schematic_full_path wins; else project_full_path + optional sheet file name; else focused project. Without schematic_full_path / sheet file name, all SCH documents in the chosen project are scanned (aggregated arrays / multiple sheets[] entries).
Primitive shape (per object): object_kind, object_id, bbox_*_mils, plus type-specific fields (vertices_mils for wire/bus/polyline, x1/y1/x2/y2 for line/bus entry, text for net labels / power / text labels, etc.) — same as legacy drawing_objects entries.
Prerequisites: Target project must be open in Altium. Does not require active PCB.
Errors: ERROR: NO_WORKSPACE, NO_FOCUSED_PROJECT, PROJECT_NOT_FOUND, SCHEMATIC_NOT_IN_OPEN_PROJECTS (Delphi); bridge errors otherwise.
Notes: Invalid include_queries tokens only (no matches) fall back to legacy mode. Does not flatten pins inside components or sheet entries inside sheet symbols.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| include_queries | No | Filter what to return. Omit for legacy shape { components, drawing_objects }. Use ["all"] for every split bucket + sheets[]. Otherwise pick one or more: sheet (size/grids per .SchDoc), components, wires, buses, net_labels, power_ports, text_labels, junctions, ports, off_sheet_connectors, sheet_symbols, directives, figures, harness (placeholder []), drawing_objects (combined primitives as before). | |
| project_full_path | No | Absolute path to an open .PrjPcb or .PrjScr. Required when using schematic_sheet_file_name without a focused project, or to read another open project. | |
| schematic_full_path | No | Absolute path to one .SchDoc that is a logical document of an open project. Use forward or backslashes. Example: D:/Design/Board/Sheet1.SchDoc | |
| schematic_sheet_file_name | No | Only the file name of the sheet (e.g. Sheet1.SchDoc). Scope: focused project or project_full_path. Ignored if schematic_full_path is set. |