From 998d23424db432e3dcc33a7d900e564b6b9244fa Mon Sep 17 00:00:00 2001 From: seveibar Date: Wed, 23 Oct 2024 15:18:30 -0700 Subject: [PATCH] update overview --- docs/PCB_COMPONENT_OVERVIEW.md | 69 ++++++++++++++++++++++++++++------ 1 file changed, 58 insertions(+), 11 deletions(-) diff --git a/docs/PCB_COMPONENT_OVERVIEW.md b/docs/PCB_COMPONENT_OVERVIEW.md index 9541881..f21406d 100644 --- a/docs/PCB_COMPONENT_OVERVIEW.md +++ b/docs/PCB_COMPONENT_OVERVIEW.md @@ -1,6 +1,6 @@ # Circuit JSON Specification: PCB Component Overview -> Created at 2024-09-20T18:37:19.158Z +> Created at 2024-10-23T22:17:25.274Z > Latest Version: https://github.com/tscircuit/circuit-json/blob/main/docs/PCB_COMPONENT_OVERVIEW.md Any type below can be imported from `circuit-json`. Every type has a corresponding @@ -37,6 +37,33 @@ export interface PcbPortNotMatchedError { pcb_component_ids: string[] } +export interface PcbSolderPasteCircle { + type: "pcb_solder_paste" + shape: "circle" + pcb_solder_paste_id: string + x: Distance + y: Distance + radius: number + layer: LayerRef + pcb_component_id?: string + pcb_smtpad_id?: string +} + +export interface PcbSolderPasteRect { + type: "pcb_solder_paste" + shape: "rect" + pcb_solder_paste_id: string + x: Distance + y: Distance + width: number + height: number + layer: LayerRef + pcb_component_id?: string + pcb_smtpad_id?: string +} + +export type PcbSolderPaste = PcbSolderPasteCircle | PcbSolderPasteRect + export interface PcbSilkscreenText { type: "pcb_silkscreen_text" pcb_silkscreen_text_id: string @@ -45,6 +72,7 @@ export interface PcbSilkscreenText { pcb_component_id: string text: string layer: LayerRef + is_mirrored?: boolean anchor_position: Point anchor_alignment: | "center" @@ -54,6 +82,18 @@ export interface PcbSilkscreenText { | "bottom_right" } +export interface PcbTraceError { + type: "pcb_trace_error" + pcb_trace_error_id: string + error_type: "pcb_trace_error" + message: string + center?: Point + pcb_trace_id: string + source_trace_id: string + pcb_component_ids: string[] + pcb_port_ids: string[] +} + export interface PcbSilkscreenPill { type: "pcb_silkscreen_pill" pcb_silkscreen_pill_id: string @@ -144,7 +184,17 @@ export interface PcbText { align: "bottom-left" } -export type PCBKeepout = z.infer +export interface PCBKeepout { + type: "pcb_keepout" + shape: "rect" | "circle" + center: Point + width?: Distance + height?: Distance + radius?: Distance + pcb_keepout_id: string + layers: string[] + description?: string +} export interface PcbVia { type: "pcb_via" @@ -154,6 +204,7 @@ export interface PcbVia { outer_diameter: Distance hole_diameter: Distance layers: LayerRef[] + pcb_trace_id?: string } export interface PcbSilkscreenOval { @@ -182,14 +233,6 @@ export interface PcbPort { layers: LayerRef[] } -export interface PcbTraceHint { - type: "pcb_trace_hint" - pcb_trace_hint_id: string - pcb_port_id: string - pcb_component_id: string - route: RouteHintPoint[] -} - export interface PcbSmtPadCircle { type: "pcb_smtpad" shape: "circle" @@ -277,6 +320,7 @@ export interface PcbTrace { source_trace_id?: string pcb_component_id?: string pcb_trace_id: string + route_order_index?: number route_thickness_mode?: "constant" | "interpolated" should_round_corners?: boolean route: Array @@ -287,7 +331,10 @@ export interface PcbBoard { pcb_board_id: string width: Length height: Length + thickness: Length + num_layers: number center: Point outline?: Point[] } -``` + +``` \ No newline at end of file