circuit-json-to-pnp-csv
Convert Circuit JSON into a Pick'n'Place CSV
Installation
npm install circuit-json-to-pnp-csv
or
bun add circuit-json-to-pnp-csv
Usage
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.
Example
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",
},
]
const rows = convertCircuitJsonToPickAndPlaceRows(circuitSoup)
console.log(rows)
const csv = convertCircuitJsonToPickAndPlaceCsv(circuitSoup)
console.log(csv)
API
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 is false
.
Returns an array of PickAndPlaceRow
objects.
convertCircuitJsonToPickAndPlaceCsv(soup: AnyCircuitElement[]): string
Converts Circuit JSON elements directly to a CSV string.
circuitJson
: An array of Circuit JSON elements.
Returns a string containing the CSV data.
Testing
This project uses Bun's built-in test runner. To run the tests, use the following command:
bun test
License
MIT License