mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-25 23:54:22 +01:00
Scripting and qet MCP: draw a cable across conductors
qet.addCable(folio, designation, type, coreColors, length, x1, y1, x2, y2) does what the cable tool does after its dialog: a new cable whose trunk is the line between the two points, every conductor the line crosses taking the next core in order along the line, with the colour coreColors lists at that place. One undo step, through AddCableCommand. An empty designation takes the next free name. A conductor another cable already holds is refused rather than taken away, since a script cannot be asked the question the dialog asks. qet.cables() lists the project's cables. The qet MCP server gains the add_cable op for qet_edit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1581,6 +1581,13 @@ OPS = {
|
||||
"remove_folio": ("removeFolio", [("folio", "folio")]),
|
||||
"set_folio": ("setFolioProperty", [("folio", "folio"), ("property", "str"),
|
||||
("value", "str")]),
|
||||
# A cable drawn across conductors, as the cable tool draws it: every
|
||||
# conductor the line crosses gets the next core and its colour.
|
||||
"add_cable": ("addCable", [("folio", "folio"), ("designation", "str"),
|
||||
("type", "str"), ("core_colors", "list"),
|
||||
("length", "str"),
|
||||
("x1", "num"), ("y1", "num"),
|
||||
("x2", "num"), ("y2", "num")]),
|
||||
"add_terminal_strip": ("addTerminalStrip", [("installation", "str"), ("location", "str"),
|
||||
("name", "str")]),
|
||||
"remove_terminal_strip": ("removeTerminalStrip", [("strip", "folio")]),
|
||||
@@ -5142,7 +5149,7 @@ TOOLS = [
|
||||
"it to one element AFTER it is placed (add_element does not number "
|
||||
"what it places); slaves and reports are refused, since they take "
|
||||
"their label from their master. "
|
||||
"Terminal strips: add_terminal_strip returns an index (name "
|
||||
"Cables: add_cable (folio, designation -- empty for the next free name --, type, core_colors, length, x1, y1, x2, y2) draws a new cable's trunk line across the conductors between the two points, as the cable tool does: each crossed conductor, in order along the line, gets the next core and the colour core_colors lists at that place; a conductor another cable already holds makes the op fail. Returns the cable's uuid. Terminal strips: add_terminal_strip returns an index (name "
|
||||
"it \"$id\"); add_to_strip puts a terminal-type element on "
|
||||
"it, and refuses any other kind. group_terminals/bridge_terminals "
|
||||
"take \"indices\" (at least two) into that strip's real-terminal "
|
||||
|
||||
@@ -437,6 +437,9 @@ class EditValidation(unittest.TestCase):
|
||||
"set_element_text": el + [{"op": "set_element_text", "folio": "$f", "element": "$e", "index": 0,
|
||||
"property": "x", "value": "5"}],
|
||||
"delete_element_text": el + [{"op": "delete_element_text", "folio": "$f", "element": "$e", "index": 0}],
|
||||
"add_cable": [f, {"op": "add_cable", "id": "k", "folio": "$f", "designation": "-W1",
|
||||
"type": "NYM-J 3x1,5", "core_colors": ["BN", "BU", "GNYE"],
|
||||
"length": "2 m", "x1": 0, "y1": 0, "x2": 100, "y2": 0}],
|
||||
"add_terminal_strip": [{"op": "add_terminal_strip", "installation": "a", "location": "b", "name": "c"}],
|
||||
"remove_terminal_strip": [{"op": "remove_terminal_strip", "strip": 0}],
|
||||
"add_to_strip": el + [{"op": "add_to_strip", "strip": 0, "folio": "$f", "element": "$e"}],
|
||||
|
||||
Reference in New Issue
Block a user