obj_modify
Applies one set of property values to every object matching a single filter, enabling bulk edits like renaming nets or setting parameters across sheets.
Instructions
Apply ONE set of property values to every object matching ONE filter.
IMPORTANT, if every target object needs a DIFFERENT value (move 10
pins to 10 different positions, rename 5 nets to 5 different names,
set distinct designators per component), use obj_batch_modify instead.
Each call to this tool is a full LLM round-trip; doing that in a
loop is the single biggest wall-time cost in the server. One
obj_batch_modify with a list of operations does the same work in one
turn.
Use this tool when the SAME set string applies to every match (e.g., "set every 10k resistor's Tolerance to 1%").
Args:
object_type: Altium object type constant (see obj_query)
set: Pipe-separated property=value assignments to apply, e.g.:
"Text=NEW_NAME", set Text property
"Location.X=100|Location.Y=200", set multiple properties
"Height=31.5|StrokeWidth=3.94", a board text's size
(lengths on a board are decimal mils; a value that is
not a number is reported failed, never written as 0)
scope: Document scope:
"active_doc", current sheet only (default)
"project", all SCH sheets in focused project
"doc:C:\path\to\Sheet.SchDoc", specific sheet by path (no focus change)
"lib_component:NAME", a named symbol in the active SchLib
-- selects that component first, so there is no need
for a separate lib_set_current_component call
filter: Pipe-separated property=value conditions (AND logic)
Returns: Dictionary with "matched" count and "sheets_processed"
Example - rename a net across all sheets (one value fits all matches): obj_modify( object_type="eNetLabel", scope="project", filter="Text=OLD_NET", set="Text=NEW_NET" ) Example - modify a specific sheet without switching: obj_modify( object_type="eParameter", scope="doc:C:\path\MODULE_A.SchDoc", filter="Name=Title", set="Text=Module A" ) Example - edit a pin inside one SchLib symbol (no lib_set_current_component): obj_modify( object_type="ePin", scope="lib_component:R_0402", filter="Designator=1", set="Name=A" )
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| set | Yes | ||
| scope | No | active_doc | |
| filter | No | ||
| object_type | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||