seveibar/am3352-dev-board-4layer-dogbone
Defines PCB footprints and pin mappings for a TI AM3352ZCZ100 processor, JST GH connectors, and assembly-part lookup helpers for capacitors, resistors, and headers.
- Version
- 0.1.5
- License
- unset
- Stars
- 0
scripts/render-assembly.mjs
import fs from 'node:fs'
import {convertCircuitJsonToAssemblySvg} from 'circuit-to-svg'
import {Resvg} from '@resvg/resvg-js'
const cj=JSON.parse(fs.readFileSync('dist/index/circuit.json'))
for(const side of ['top','bottom']){
const removed=new Set(cj.filter(e=>e.type==='pcb_component'&&e.layer!==side).map(e=>e.pcb_component_id))
const data=cj.filter(e=>!removed.has(e.pcb_component_id)&&!(e.type==='pcb_smtpad'&&e.layer!==side))
const title=`${side==='top'?'Top assembly':'Bottom assembly — viewed through board'} · coordinates match CPL`
let svg=convertCircuitJsonToAssemblySvg(data,{width:1800,height:1600})
svg=svg.replace('</svg>',`<rect x="0" y="0" width="1800" height="32" fill="white"/><text x="30" y="24" font-family="sans-serif" font-size="22">${title}</text></svg>`)
fs.writeFileSync(`assembly/${side}.svg`,svg)
fs.writeFileSync(`assembly/${side}.png`,new Resvg(svg).render().asPng())
}