vias module#
- class JLCPCBVias[source]#
Various via definitions provided by JLCPCB. By default when using one of the substrates in this package, all vias will be available for use, be aware that some may incur an extra cost.
The
StdViaPreferredandStdViaTentedFilledvias are options for all boards, and as of 10/23/2024 do not have any up-charge for processing.- class StdVia[source]#
Bases:
ViaStandard Via with minimum pad size
- name = 'Standard Via Aggressive - No Extra Cost'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.4#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.3#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class StdViaPreferred[source]#
Bases:
ViaStandard Via with preferred pad size (larger)
This via definition uses the preferred +0.15mm for the pad diameter which JLC-PCB recommends
- name = 'Standard Via - No Extra Cost'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.45#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.3#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class MultiLayerVia1[source]#
Bases:
ViaMulti-layer (6+) via with extra cost + 1.
There are multiple levels of extra cost that JLCPCB supports for smaller vias. This is the first layer. This via definitions uses the standard +0.1mm for the pad diameter
- name = 'Multi-Layer Via Aggressive - Cost + 1'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.35#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.25#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class MultiLayerVia1Preferred[source]#
Bases:
ViaMulti-layer (6+) via with extra cost + 1.
There are multiple levels of extra cost that JLCPCB supports for smaller vias. This is the first layer. This via definitions uses the preferred +0.15mm for the pad diameter
- name = 'Multi-Layer Via - Cost + 1'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.4#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.25#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class MultiLayerVia2[source]#
Bases:
ViaMulti-layer (6+) via with extra cost + 2.
There are multiple levels of extra cost that JLCPCB supports for smaller vias. This is the second layer. This via definitions uses the standard +0.1mm for the pad diameter
- name = 'Multi-Layer Via Aggressive - Cost + 2'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.3#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.2#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class MultiLayerVia2Preferred[source]#
Bases:
ViaMulti-layer (6+) via with extra cost + 2.
There are multiple levels of extra cost that JLCPCB supports for smaller vias. This is the second layer. This via definitions uses the preferred +0.15mm for the pad diameter
- name = 'Multi-Layer Via - Cost + 2'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.35#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.2#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class MultiLayerVia3[source]#
Bases:
ViaMulti-layer (6+) via with extra cost + 3.
There are multiple levels of extra cost that JLCPCB supports for smaller vias. This is the third layer. This via definitions uses the standard +0.1mm for the pad diameter
- name = 'Multi-Layer Via Aggressive - Cost + 3'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.25#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.15#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class MultiLayerVia3Preferred[source]#
Bases:
ViaMulti-layer (6+) via with extra cost + 3.
There are multiple levels of extra cost that JLCPCB supports for smaller vias. This is the third layer. This via definitions uses the preferred +0.15mm for the pad diameter
- name = 'Multi-Layer Via - Cost + 3'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.3#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.15#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- via_in_pad: ClassVar[bool] = False#
Whether the via is allowed to be placed inside a component’s pads.
- class StdViaTentedFilled[source]#
Bases:
ViaStandard Tented and Filled Via
This via is suitable for via-in-pad applications and use the preferred +0.15mm for the pad diameter which JLC-PCB recommends
- name = 'Tented/Filled Standard Via'#
- start_layer: ClassVar[int] = 0#
Starting layer for the via. Setting this to a layer index other than the top layer allows for creating buried or blind vias.
- stop_layer: ClassVar[int] = -1#
Ending layer for the via.
- diameter: ClassVar[float | ViaDiameter] = 0.45#
Pad diameter of the via, in mm. Can be overridden on a per-layer basis by
diameters.
- hole_diameter: ClassVar[float] = 0.3#
Drilled or laser-cut hole diameter for the via, in mm.
- type: ClassVar[ViaType] = 1#
MechanicalDrill or LaserDrill.
- Type:
Type of via drilling method
- tented: ClassVar[set[Side] | Side | None | bool] = True#
Whether the via is tented on Top, Bottom, or both sides. Untented sides will have a solder mask opening.
- filled: ClassVar[bool] = True#
Whether the via is filled.
- via_in_pad: ClassVar[bool] = True#
Whether the via is allowed to be placed inside a component’s pads.