Source code for jitxlib.jlcpcb.vias

from jitx.via import Via, ViaType


[docs] class JLCPCBVias: """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 :py:class:`StdViaPreferred` and :py:class:`StdViaTentedFilled` vias are options for all boards, and as of 10/23/2024 do not have any up-charge for processing."""
[docs] class StdVia(Via): """Standard Via with minimum pad size""" name = "Standard Via Aggressive - No Extra Cost" start_layer = 0 stop_layer = -1 diameter = 0.4 hole_diameter = 0.3 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class StdViaPreferred(Via): """Standard 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 = 0 stop_layer = -1 diameter = 0.45 hole_diameter = 0.3 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class MultiLayerVia1(Via): """Multi-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 = 0 stop_layer = -1 diameter = 0.35 hole_diameter = 0.25 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class MultiLayerVia1Preferred(Via): """Multi-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 = 0 stop_layer = -1 diameter = 0.4 hole_diameter = 0.25 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class MultiLayerVia2(Via): """Multi-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 = 0 stop_layer = -1 diameter = 0.3 hole_diameter = 0.2 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class MultiLayerVia2Preferred(Via): """Multi-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 = 0 stop_layer = -1 diameter = 0.35 hole_diameter = 0.2 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class MultiLayerVia3(Via): """Multi-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 = 0 stop_layer = -1 diameter = 0.25 hole_diameter = 0.15 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class MultiLayerVia3Preferred(Via): """Multi-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 = 0 stop_layer = -1 diameter = 0.3 hole_diameter = 0.15 type = ViaType.MechanicalDrill via_in_pad = False
[docs] class StdViaTentedFilled(Via): """Standard 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 = 0 stop_layer = -1 diameter = 0.45 hole_diameter = 0.3 type = ViaType.MechanicalDrill tented = True filled = True via_in_pad = True