0.0.6 • Published 1 year ago
circuit-json-to-pnp-csv v0.0.6
circuit-json-to-pnp-csv
Convert Circuit JSON into a Pick'n'Place CSV
Installation
npm install circuit-json-to-pnp-csvor
bun add circuit-json-to-pnp-csvUsage
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",
},
// ... 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)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 isfalse.
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