Convert Circuit JSON into a Pick'n'Place CSV
npm install circuit-json-to-pnp-csv
or
bun add circuit-json-to-pnp-csv
This library provides two main functions:
-
convertCircuitJsonToPickAndPlaceRows
: Converts Circuit JSON elements to an array of Pick'n'Place rows. -
convertCircuitJsonToPickAndPlaceCsv
: Converts Circuit JSON elements directly to a CSV string.
import {
convertCircuitJsonToPickAndPlaceCsv,
convertCircuitJsonToPickAndPlaceRows,
} from "circuit-json-to-pnp-csv"
import type { AnyCircuitElement } from "circuit-json"
const circuitJson: AnyCircuitElement[] = [
{
type: "pcb_component",
pcb_component_id: "R1",
center: { x: 10, y: 20 },
layer: "top",
rotation: 0,
width: 5,
height: 2,
source_component_id: "resistor1",
},
// ... more components
]
// Get Pick'n'Place rows
const rows = convertCircuitJsonToPickAndPlaceRows(circuitSoup)
console.log(rows)
// Get Pick'n'Place CSV
const csv = convertCircuitJsonToPickAndPlaceCsv(circuitSoup)
console.log(csv)
convertCircuitJsonToPickAndPlaceRows(soup: AnyCircuitElement[], opts?: { flip_y_axis?: boolean }): PickAndPlaceRow[]
Converts Circuit JSON elements to an array of Pick'n'Place rows.
-
circuitJson
: An array of Circuit JSON elements. -
opts
: Optional configuration object.-
flip_y_axis
: If true, flips the Y-axis values. Default isfalse
.
-
Returns an array of PickAndPlaceRow
objects.
Converts Circuit JSON elements directly to a CSV string.
-
circuitJson
: An array of Circuit JSON elements.
Returns a string containing the CSV data.
This project uses Bun's built-in test runner. To run the tests, use the following command:
bun test