[WIP] Generate ISO-style technical drawing for Magic Cane#2
Draft
[WIP] Generate ISO-style technical drawing for Magic Cane#2
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Thanks for asking me to work on this. I will get started on it and keep this PR's description up to date as I form a plan and make progress.
Original prompt
Objective
Use the Murphy System's
AsBuiltGenerator(fromIKNOWINOT/Murphy-System) to produce an ISO-style technical drawing of the Magic Cane. The drawing should be committed as documentation in theIKNOWINOT/Magic_canerepository.Context
Magic Cane Hardware
The Magic Cane is a blind-assist navigation system (ESP32-S3-based) with the following sensor/connectivity suite (from
docs/architecture.mdanddocs/bom.md):Cane Sensor & Connectivity Suite:
360° Haptic Belt (companion device):
Communication Protocol (Cane → Belt, BLE at 10 Hz):
0xCAMurphy System's AsBuiltGenerator
The Murphy System (
IKNOWINOT/Murphy-System) includes anAsBuiltGeneratorclass inMurphy System/src/as_built_generator.pythat generates control diagrams from equipment specifications. Key capabilities:AsBuiltGenerator.from_equipment_spec(spec, system_name)→ControlDiagramAsBuiltGenerator.generate_point_schedule(diagram)→ CSV-ready control point tableAsBuiltGenerator.generate_schematic_description(diagram)→ text schematic with equipment, instruments, notesAsBuiltGenerator.export_as_built(diagram, fmt)→ JSON exportDrawingDatabasefor deduplication and reference enrichmentDrawingElementtypes include: EQUIPMENT_TAG, INSTRUMENT_TAG, SENSOR, CONTROLLER, SIGNAL_WIRE, POWER_WIRE, CONTROL_WIRE, etc.PointScheduleEntrywith point_name, point_type (AI/AO/DI/DO), description, engineering_unitsThe Murphy System also has a REST API endpoint:
POST /api/industry/as-builtthat can generate control diagrams from equipment specs.Requirements
1. Create a Python script:
docs/generate_iso_drawing.pyThis script should:
AsBuiltGeneratordata model patterns (replicate the key dataclasses locally if needed, since Murphy-System is a separate repo)2. Generate the actual drawing:
docs/magic_cane_iso_drawing.txtThe script should output a comprehensive text-based ISO-style drawing file that includes:
3. Generate a JSON export:
docs/magic_cane_as_built.jsonUsing the Murphy System's
export_as_built()format:{ "format": "json", "generated_at": "<ISO timestamp>", "diagram": { ... }, "point_count": <n>, "element_count": <n>, "summary": "..." }ISO Drawing Standards to Follow
═══for thick lines,───for thin lines,- - -for dashed/hiddenThis pull request was created from Copilot chat.
⌨️ Start Copilot coding agent tasks without leaving your editor — available in VS Code, Visual Studio, JetBrains IDEs and Eclipse.