← Commit history

fusion-lane: tool_update and import_step proposed (#29, agreed by altium-lane); altium-lane added to export_3d, import_design, edit_pours

Colby Knox ·21af1b9522 ·11d ago ·parent f135f47
2 files changed +98−5
tools/equivalents/fusion360.json+10
@@ -564,5 +564,15 @@   "fusion_change_pours",   "partial",   "each pour's minimum width (EAGLE's pen width) and clearance (isolate), refilled and read back; thermals, rank and net are not changed yet"+ ],+ "tool_update": [+  "fusion_apply_fusion_update",+  "partial",+  "apply takes the update Fusion offers in the background when auto-update is on; auto through fusion_set_auto_update; check is read from Fusion's own update offer"+ ],+ "import_step": [+  "fusion_import_step",+  "partial",+  "the STEP opens as a NEW Fusion design; it is not yet placed with the board's 3D PCB"  ] }
tools/proposed/fusion-lane.json+88−5
@@ -342,7 +342,8 @@   "since": "0.28.1",   "agreedBy": [    "standard-lane",-   "kicad-lane"+   "kicad-lane",+   "altium-lane"   ]  },  {@@ -350,7 +351,7 @@   "tier": "native",   "summary": "Bring a design from another tool into a NEW native design with the parts instantiated: an EAGLE .sch with its paired .brd, a KiCad project, or an Altium project, through the tool's own importer.",   "input": {-   "format": "the source tool, an open list (eagle, kicad, altium, pads, cadstar, fabmaster, pcad, ...); required",+   "format": "the source tool, an open list (eagle, kicad, altium, pads, orcad, cadstar, fabmaster, pcad, ...); required",    "filePath": "the schematic or project file (required)",    "boardPath": "the paired board file, when the format keeps it separate",    "name": "the new design's name"@@ -382,7 +383,8 @@   "since": "0.28.1",   "agreedBy": [    "standard-lane",-   "kicad-lane"+   "kicad-lane",+   "altium-lane"   ]  },  {@@ -402,7 +404,8 @@   },   "hint": "pour_state lists the pours and their ids first. One undo step; a pour that refills to nothing is reported, not hidden.",   "pitfalls": [-   "Changing the net of a pour reconnects copper: run_drc afterwards."+   "Changing the net of a pour reconnects copper: run_drc afterwards.",+   "A tool that keeps a pour's clearance and thermals in its design rules (Altium) writes rules scoped to that pour rather than changing the pour itself; the reply says which."   ],   "related": [    "pour_state",@@ -425,7 +428,87 @@   "since": "0.28.1",   "agreedBy": [    "standard-lane",-   "kicad-lane"+   "kicad-lane",+   "altium-lane"+  ]+ },+ {+  "name": "tool_update",+  "tier": "app",+  "summary": "The tool's own updates: check whether one is offered, apply it in the background when no work would be lost, or read or set automatic updating.",+  "input": {+   "action": "check | apply | auto (required)",+   "on": "bool (auto): turn automatic updating on or off; omitted, the setting is read"+  },+  "output": {+   "current": "the installed version",+   "offered": "the version offered, or null",+   "applied": "bool",+   "auto": "bool",+   "needsRestart": "bool"+  },+  "hint": "apply never closes unsaved work: it refuses with the documents that need saving. Updating the tool is the user's machine changing, so say so before apply.",+  "pitfalls": [+   "An update offered only through the tool's own dialog is read from that dialog and answered in the background, never left open.",+   "apply refuses while documents are unsaved, and an installer that needs a person at the Windows UAC prompt answers needs_user with what to approve."+  ],+  "related": [+   "readiness",+   "diagnostics",+   "install"+  ],+  "example": {+   "action": "check"+  },+  "longRunning": true,+  "timeoutSeconds": 600,+  "proposedBy": "fusion-lane",+  "since": "0.28.1",+  "agreedBy": [+   "standard-lane",+   "altium-lane"+  ]+ },+ {+  "name": "import_step",+  "tier": "native",+  "summary": "Bring a STEP model in as 3D geometry placed with the board: an enclosure, a bracket or a mating part, for fit and clearance checks. Not a footprint's own model (that is add_body).",+  "input": {+   "filePath": "the STEP on the tool's machine (required)",+   "at": "[x, y, z] mm relative to the board origin, default [0, 0, 0]",+   "rotation": "[rx, ry, rz] degrees",+   "name": "what to call it"+  },+  "output": {+   "id": "the placed model",+   "bboxMm": "[x0, y0, z0, x1, y1, z1]",+   "bodies": "int"+  },+  "hint": "height_check and the bodies companion can then measure the board against it.",+  "pitfalls": [+   "A tool that can only open the STEP as a separate design answers partial and says so."+  ],+  "related": [+   "add_body",+   "height_check",+   "bodies",+   "export_step"+  ],+  "example": {+   "filePath": "C:/mech/enclosure.step",+   "at": [+    0,+    0,+    -3+   ]+  },+  "longRunning": true,+  "timeoutSeconds": 300,+  "proposedBy": "fusion-lane",+  "since": "0.28.1",+  "agreedBy": [+   "standard-lane",+   "altium-lane"   ]  } ]