feat(pid): pid_line_draw — port-to-port orthogonal lines with class, number, markers

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FKFStjEFzpGyLq5bMpWxTd
This commit is contained in:
Umut CAN
2026-09-15 23:26:09 +03:00
co-authored by Claude Opus 5
parent 4b6abf7b92
commit e8f1a666f8
7 changed files with 523 additions and 11 deletions
+17
View File
@@ -69,6 +69,9 @@ class ToolAliases:
# BLOCK -- one command makes a definition either from selected objects
# (block_create_from_entities) or from scratch with attribute
# definitions (block_define); a drafter typing it could mean either.
# PLINE -- a raw polyline (entity_create_polyline) or a P&ID line run
# between two ports (pid_line_draw), which is an LWPOLYLINE with a
# class, a number and markers; a drafter typing it could mean either.
#
# Every other AutoCAD command must map to exactly one tool.
SHARED_ACAD_COMMANDS: frozenset[str] = frozenset(
@@ -80,6 +83,7 @@ SHARED_ACAD_COMMANDS: frozenset[str] = frozenset(
"LAYER",
"LAYOUT",
"MEASUREGEOM",
"PLINE",
"QSELECT",
"SETVAR",
"ZOOM",
@@ -1367,6 +1371,19 @@ TOOL_ALIASES: dict[str, ToolAliases] = {
"process equipment symbol",
),
),
"pid_line_draw": ToolAliases(
acad=("PLINE",),
synonyms=(
"process line",
"pipe run",
"signal line",
"connect equipment",
"instrument line",
"line number",
"connect the pump to the vessel",
"pneumatic signal",
),
),
}