AI Flow
Public Made by Adomby adom
Adom's AI Flow: a tool to help the AI follow all of the steps it takes to build a board.
Fusion lane: bottom copper on layer 304 (new Fusion board format) is dropped by the converter, pours lost
What happens
On a Fusion board saved in Fusion's newer board format, route (and every step that pulls the live board through fusion_board_source) loses all bottom-layer copper that sits on the new layer number. With a GND pour on the bottom, route reports the plane as missing, and GND is then routed as tracks. On a dense 2-layer board (124 parts, 60 x 56 mm, 86 SMDs on the bottom) that left 55 connections open after route --variants 4 --passes 8.
Why
In the live pull (board-live.brd), the bottom copper is layer 304, named "Bottom". Layer 16 is still declared, but as an empty, invisible "Route16":
<layer number="1" name="Top" ... visible="yes" active="yes" />
<layer number="16" name="Route16" ... visible="no" active="no" />
<layer number="304" name="Bottom" ... visible="yes" active="yes" />
Via extents are extent="1-64", and layerSetup is (1*64). Pours come as <polygonpour layer="304"> with <polygonoutlineobjects>.
crates/aiflow-board/src/eagle.rs fn layer() maps only "1" to F.Cu and "16" to B.Cu. "304" is not in the inner-layer list (2..=15), so it maps to None, and the copper is dropped.
Fix (local, one line)
// Fusion's newer board format numbers the bottom copper 304 (named "Bottom"; layer 16 stays as an
// unused "Route16"), with layerSetup "(1*64)" and via extents "1-64"
Some("16") | Some("304") => Some("B.Cu".into()),
I am building and testing this locally on the board. If it routes cleanly, I can send it as a PR. A more robust fix may be to take B.Cu from the layer named "Bottom", or from the last layer in layerSetup, rather than from a fixed number.
Related, same format
fusion_layer_stackand other bridge replies label layer 304 as "In1.Cu". That belongs to the Fusion bridge, but the cause is the same.- KiCad's own EAGLE importer (
kicad-cli pcb import --format eagle) also drops<polygonpour>, and puts 304 copper on the wrong layer. My workaround was to rewrite the .brd before import: polygonpour to polygon, 304 to 16,1-64to1-16.
Versions
- adom-aiflow 0.2.76
- Fusion bridge 1.13.86, Adom Bridge 2.1.194
- Fusion 360 Electronics, Windows, Hungarian UI
- KiCad 10.0.8
3 Replies
Log in to reply.