← Commit history

fusion-lane: propose export_3d, import_design, edit_pours (#29, agreed by kicad-lane); Fusion's partial equivalents

Colby Knox ·237a302ee4 ·11d ago ·parent 973ae2b
2 files changed +138
tools/equivalents/fusion360.json+15
@@ -549,5 +549,20 @@   "fusion_export_cpl",   "partial",   "the Component Placement List CSV in mm, side all, top or bottom; JLCPCB's own CPL columns come from fusion_jlcpcb_order (cpl-jlcpcb.csv). No ascii or gerber format, inch units, smdOnly or excludeDnp filter"+ ],+ "export_3d": [+  "fusion_export_cloud_file",+  "partial",+  "the board's 3D PCB design in stl, iges, sat or f3d (obj, 3mf, fbx and usdz through fusion_export_obj, fusion_export_3mf, fusion_export_fbx, fusion_export_usdz; a web glb through fusion_export_optimized_glb); vrml and ply are not offered"+ ],+ "import_design": [+  "fusion_new_electronics_from_eagle",+  "partial",+  "format eagle only: an EAGLE .sch and its .brd into a new Fusion electronics design with the parts instantiated (Fusion's own import, run in the background)"+ ],+ "edit_pours": [+  "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"  ] }
tools/proposed/fusion-lane.json+123
@@ -304,5 +304,128 @@   "agreedBy": [    "altium-lane"   ]+ },+ {+  "name": "export_3d",+  "tier": "native",+  "summary": "Export the board's 3D model in a mesh or CAD format other than STEP (export_step has STEP), through the tool's own exporter, with an optional web-optimized glb. format is an open list; each bridge answers the ones its tool writes.",+  "input": {+   "filePath": "the board (optional; default the open board)",+   "format": "the file format, an open list (stl, obj, glb, 3mf, iges, vrml, ply, brep, xao, u3d, ...); required",+   "outputPath": "the file to write",+   "components": "bool, default true: parts' 3D models too, not only the bare board",+   "web": "bool (glb only): optimized for a web viewer (merged meshes, compressed)"+  },+  "output": {+   "path": "the file written",+   "format": "string",+   "bytes": "int",+   "components": "bool"+  },+  "hint": "One call per format. A format the tool cannot write is refused by name with not_supported, never faked through another format.",+  "pitfalls": [+   "Mesh formats are triangulated: use export_step for mechanical CAD that needs exact surfaces."+  ],+  "related": [+   "export_step",+   "render_board_3d",+   "bodies"+  ],+  "example": {+   "format": "glb",+   "outputPath": "C:/out/board.glb",+   "web": true+  },+  "longRunning": false,+  "timeoutSeconds": 300,+  "proposedBy": "fusion-lane",+  "since": "0.28.1",+  "agreedBy": [+   "standard-lane",+   "kicad-lane"+  ]+ },+ {+  "name": "import_design",+  "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",+   "filePath": "the schematic or project file (required)",+   "boardPath": "the paired board file, when the format keeps it separate",+   "name": "the new design's name"+  },+  "output": {+   "design": "the new design or project",+   "parts": "int",+   "nets": "int",+   "warnings": "[string]: what the importer could not bring over"+  },+  "hint": "The import makes a new design and never changes the source files. Check the result with schematic_review and cross_check.",+  "pitfalls": [+   "A format the tool has no importer for is refused by name with not_supported.",+   "A tool whose command-line importer reads only the board (KiCad's kicad-cli pcb import) says that the schematic was not imported and how to bring it."+  ],+  "related": [+   "import_kicad",+   "cross_check",+   "schematic_review"+  ],+  "example": {+   "format": "eagle",+   "filePath": "C:/proj/board.sch",+   "boardPath": "C:/proj/board.brd"+  },+  "longRunning": true,+  "timeoutSeconds": 600,+  "proposedBy": "fusion-lane",+  "since": "0.28.1",+  "agreedBy": [+   "standard-lane",+   "kicad-lane"+  ]+ },+ {+  "name": "edit_pours",+  "tier": "native",+  "summary": "Change existing pours in place without redrawing them: clearance, minimum width, thermal relief (on/off, spoke width, gap), priority or rank, the net, and whether islands are kept. The copper is refilled and read back.",+  "input": {+   "pours": "[{id or net+layer, clearanceMm?, minWidthMm?, thermals?: {on, spokeMm, gapMm}, priority?, net?, keepIslands?}] (required)",+   "expectedRevision": "string",+   "dryRun": "bool"+  },+  "output": {+   "edited": "[{id, before, after}]",+   "pourState": "the pours after refill, as pour_state answers",+   "revision": "string",+   "mutated": "bool"+  },+  "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."+  ],+  "related": [+   "pour_state",+   "apply_pours",+   "remove_pours",+   "repour"+  ],+  "example": {+   "pours": [+    {+     "net": "GND",+     "layer": "B.Cu",+     "clearanceMm": 0.3+    }+   ]+  },+  "longRunning": false,+  "timeoutSeconds": 120,+  "proposedBy": "fusion-lane",+  "since": "0.28.1",+  "agreedBy": [+   "standard-lane",+   "kicad-lane"+  ]  } ]