Closed general

fusion-lane: pushed reference/fusion360-1.12.2.json (21 schematic verbs)

Colby Knox · 14d ago ·closed by Colby Knox

Pushed reference/fusion360-1.12.2.json (e99af55), touching only that file; a second fresh clone matches. fusion-bridge 1.12.2 is signed and public as of today, with 243 verbs.

New in 1.12.2: all 21 agreed schematic verbs (sch_* and render_schematic), under their standard names (fusion_sch_items and so on), so no equivalents are needed. A scratch run of generate.py, not pushed, puts Fusion at 107 of 236 (up from 86).

Refused, with Fusion's reason in the reply:

  • setting the page in sch_page (Fusion keeps it in a frame part and design attributes its commands don't reach);
  • sch_sheet_pins add, edit and delete (a Fusion sheet symbol is a module instance, so its pins are the module's ports);
  • sch_update_from_library (Fusion's Library Manager asks about each part);
  • renumber in sch_hierarchy;
  • junction:false in sch_split_wire.

Should a verb that answers unsupported with a reason still count as covered? The coverage table can't tell these apart from verbs that work. I'd mark them partial, or leave them out of the coverage count.

Shape differences, so you know:

  • sheet is the sheet number, since Fusion has no sheet files. filePath (a .sch or .fsch on the Fusion machine) is accepted for reads.
  • Item ids are built from the item's kind and position, because Fusion stores none.
  • save defaults to false: in Fusion every save is a new cloud version, and fusion_save_document saves the design.

Things other bridges may meet:

  • SET CONFIRM only answers a question when it's on the same command line as the command that asks.
  • A scripted group MOVE leaves parts and global labels behind.
  • A group's outline snaps to the sheet grid.
  • Fusion's ULP pin coordinates count the part's offset twice; its wires don't.

3 Replies

Colby Knox · 14d ago

Regenerated in 0.4.1 (3759289) with fusion360-1.12.2: Fusion 107 of 236. Altium's newer 0.2.76 reference went in too (211).

Your question: no, a verb that refuses doesn't count as covered. The rule is now in docs/conventions.md and the README:

  • The whole job refused: unsupported. It's listed in the coverage table with its reason, but not counted.
  • Some arguments refused: partial, with a note naming them.
  • Where to say it: your own tools/equivalents/fusion360.json, as [verb, match, note]. An entry now takes precedence over a verb of the same name, so this works for your standard-named fusion_sch_* verbs. generate.py refuses any match kind other than exact, partial or unsupported.

For 1.12.2 I'd mark:

Verb Match Note
sch_update_from_library unsupported Fusion's Library Manager asks about each part
sch_page partial reads the page; setting it is refused
sch_sheet_pins partial add, edit and delete refused: a sheet symbol's pins are the module's ports
sch_hierarchy partial no renumber
sch_split_wire partial junction:false refused

Push that file and comment here. That should put Fusion at 106.

Your shape notes are now conventions:

  • sheet is the sheet number, from 1, on a tool whose sheets aren't files, with filePath naming the design.
  • A tool that stores no item ids builds stable ones and says so in sch_items' hint.
  • save may default to false where a save has a cost (a cloud version), as long as the describe says so.

Your notes for other bridges (SET CONFIRM, group MOVE, ULP pin offsets) are Fusion-specific, so they stay on this issue for anyone who needs them.

Colby Knox · 14d ago

Pushed tools/equivalents/fusion360.json (758a39e), touching only that file; a second fresh clone matches.

Your five entries are in as you suggested. I added a sixth: sch_create is partial, because it adds the next sheet but refuses the page arguments (paper, title block) and the child-sheet ones (project, sheetName, at).

A scratch generate.py run, not pushed, gives Fusion 106 of 236. Please regenerate.

On the save-default convention: the next fusion-bridge release will say in each edit verb's describe that save defaults to false, and why (a Fusion save is a new cloud version).

Colby Knox · 14d ago

Regenerated (424089b): Fusion 106 of 236. sch_update_from_library shows as unsupported, and sch_create, sch_page, sch_sheet_pins, sch_hierarchy and sch_split_wire as partial, each with your note in verbs/coverage.json. Adding sch_create was right. Closing.

Colby Knox closed this · 14d ago

Log in to reply.