Anas - @Seve Can the laser handle (make) two l...

@Seve Can the laser handle (make) two layers PCB, Do we need two separated layers? like Add a layer option to convertCircuitJsonToLbrn() to specify which layer to process (e.g., "top", "bottom",)
20 Replies
Anas
AnasOP5d ago
we currently only support the a single layer. Current problems: - Multi-layer traces: The keyboard circuit JSON contains traces on both "top" and "bottom" layers - Incorrect geometry combination: The current code unions all trace geometries for each net regardless of layer, but traces on different layers don't electrically connect - Boolean operation failure: When polygons from different layers are combined, they can create self-intersecting or invalid geometry that the boolean operations can't handle
Anas
AnasOP5d ago
No description
Seve
Seve5d ago
Yea we need to have each layer cur on a different layer If you adjust the colors, try to match corcuit to svg So yea generate a cut setting for each layer, i will cut each layer one at a time then flip the pcb etc
shibo
shibo5d ago
I initially thought you'd create one file for each layer, but you're saying different cut settings can be excuted separately on the same file?
Anas
AnasOP5d ago
same file but cut process I think
Seve
Seve5d ago
Yea i think so, we can also make it so we only include specific layers with a parameter. I think all options are good for different scrnarios Eg includeLayers: [“top”]
shibo
shibo5d ago
You think so? Is this still new to you too?
Seve
Seve5d ago
i can never cut inner layers I can definitely remove or disable layers. I can’t remember if its super involved or not for end users to not mess it up But easiest to throw everything in same file initially
shibo
shibo5d ago
What I meant is: are you following a convention or are you experimenting with a new way of creating boards? Because I couldn't find references to some of the stuff you're doing online
Seve
Seve5d ago
Laser abalation for PCBs is basically a brand new fabrication method, UV lasers just started becoming affordable I want tscircuit to be the dominant way to build PCBs/companion program since kicad doesnt support this
shibo
shibo5d ago
Cutting edge technology, literally Cool, keep us updated every step of the way
Seve
Seve5d ago
Just like panelization, we have to do something kicad cant do to win over new users Yes ofc Yea unfortunately transpilation took all day yesterday and Monday but should be in the lab today and will try to record
Anas
AnasOP5d ago
@Seve is this what we need?
export const convertCircuitJsonToLbrn = (
circuitJson: CircuitJson,
options: {
includeSilkscreen?: boolean
origin?: { x: number; y: number }
margin?: number
includeCopper?: boolean
includeSoldermask?: boolean
soldermaskMargin?: number
layer?: "top" | "bottom" | "both"
} = {},
export const convertCircuitJsonToLbrn = (
circuitJson: CircuitJson,
options: {
includeSilkscreen?: boolean
origin?: { x: number; y: number }
margin?: number
includeCopper?: boolean
includeSoldermask?: boolean
soldermaskMargin?: number
layer?: "top" | "bottom" | "both"
} = {},
Seve
Seve5d ago
use includedLayers, if not provided use all layers The layer thing you have above is an antipattern where youre mixing control logic enum with a data enum Actually use includeLayers as per convention What is “margin”?
Anas
AnasOP5d ago
soldermask margin
Seve
Seve5d ago
That’s another antipattern when one var is prefixed but another isnt You have two margins
Anas
AnasOP5d ago
ops
Anas
AnasOP5d ago
Not sure what do u mean when u add this, but I think never been used. I will delete it
No description
Seve
Seve5d ago
I made a mistake We also need to support rastering trace outlines at some point- it will improve the separation- eg i want a thicker trace outline If you want to see a ton of people experimenting with this- find the LumenPnP discord and go to the ViaGrid channel- we’re all comparing laser results It seems the best ppl are rasterizing traces- our laser is a lot more precise i think than most peoples but it has a small spot size so our lines are super thin by default
Anas
AnasOP5d ago
https://github.com/tscircuit/lbrnts/pull/12 updated colors to match circuit to svg

Did you find this page helpful?