@typecad/typecad
Version:
🤖programmatically 💥create 🛰️hardware
37 lines (36 loc) • 1.57 kB
TypeScript
import { Component } from "./component";
import { Schematic } from "./schematic";
import { TrackBuilder } from './pcb_track_builder';
import { IPcbOptions, IVia, IGrLine } from './pcb_interfaces';
export { TrackBuilder } from './pcb_track_builder';
export { IPcbOptions, INetResolution, IVia, IGraphicPrimitive, IGrLine, IGrArc, OutlineElement, IOutline, IGeneratedElement } from './pcb_interfaces';
export declare class PCB {
#private;
Boardname: string;
Schematic: Schematic;
thickness: number;
copper_thickness: number;
constructor(Boardname: string, options?: IPcbOptions);
get option(): IPcbOptions;
place(...components: Component[]): void;
group(group_name: string, ...items: Array<Component | TrackBuilder>): void;
create(...items: Array<Component | TrackBuilder>): Promise<void>;
private getCallSite;
private calculateViaCurrentCapacity;
via({ at, size, drill, powerInfo }?: Omit<IVia, 'uuid' | 'netCode' | 'layers' | 'net'>): Component;
outline(x: number, y: number, width: number, height: number, filletRadius?: number, conceptualUuidFromUser?: string): void;
_track(start: {
x: number;
y: number;
}, end: {
x: number;
y: number;
}, width?: number, layer?: string, locked?: boolean, uuid?: string): string;
track(): TrackBuilder;
net(...pins: import("./pin").Pin[]): void;
named(name: string): this;
bom(output_folder?: string): void;
erc(): void;
add(...components: Component[]): void;
_getTrackData(uuid: string): IGrLine | null;
}