Skip to content

Latest commit

 

History

History
55 lines (38 loc) · 1.3 KB

README.md

File metadata and controls

55 lines (38 loc) · 1.3 KB

@tscircuit/core

tscircuit · Development Guide

The core logic used to build Circuit JSON from tscircuit React elements.

You can use core to create Circuit JSON, which can then be converted into Gerbers, viewed online, and much more.

Usage

import { Circuit } from "@tscircuit/core"

const circuit = new Circuit()

circuit.add(
  <board width="10mm" height="10mm">
    <resistor name="R1" resistance="10k" footprint="0402" />
    <led name="L1" footprint="0402" />

    <trace from=".R1 > .pin1" to="net.VCC" />
    <trace from=".R1 > .pin2" to=".L1 > .pos" />
    <trace from=".L1 > .neg" to="net.GND" />
  </board>
)

circuit.getCircuitJson()

Non-React Usage

import { Board, Resistor, Led, Trace, Circuit } from "@tscircuit/core"

const circuit = new Circuit()

const board = new Board({
  width: "10mm",
  height: "10mm",
})
project.add(board)

const R1 = new Resistor({ resistance: "10k", footprint: "0402" })
board.add(R1)

// You can also add elements with React
board.add(<led footprint="0402" />)

const trace = new Trace({ width: "0.2mm" })
trace.connect(R1.output, LED1.anode)
board.add(trace)

circuit.getJson() // [{ type: "board", ...}, { type: "resistor", ...}, ...]