jitxlib.landpatterns.leads package#

class SMDLead(length, width, lead_type)[source]#

Bases: object

Surface Mount Lead Descriptor

Parameters:
length: Toleranced#

Length of the SMT lead in mm

This is typically the “foot length” of a lead. In JEDEC drawings this dimension is typically identified as ‘L’.

For a two-terminal chip this is the termination band (IPC T). Where the datasheet prints two bands, one on the top face and one on the bottom, use the bottom (solderable) one. With L the terminal-to-terminal span (LeadProfile.span), the gap between the terminations is Smax = Lmax - 2*Tmin, so this band’s minimum and tolerance set the gap between the pads. twopin/SMT_table.py names each vendor’s symbol for the bottom band and holds per-size values.

width: Toleranced#

Width of the SMT lead in mm

In JEDEC drawings this dimension is typically identified as ‘b’.

lead_type: LeadProtrusion#

Lead Protrusion Type

This type captures typical features for this kind of lead.

compute_constraints(lead_span, density_level)[source]#

Compute the IPC-7351B-based pad constraints for this lead type

Parameters:
  • lead_span (Toleranced) – the lead span for the package

  • density_level (DensityLevel) – the density level for the package

Return type:

IPCRequirements

Returns:

the IPC computation results for this lead type and density level

pad_size(density_level)[source]#

Compute the pad size for this lead type

Parameters:

density_level (DensityLevel) – the density level for the package

Return type:

tuple[float, float]

Returns:

the pad size (width, height) for this lead type and density level

class THLead(length, width)[source]#

Bases: object

Through Hole Lead Descriptor This type of lead is typically used for axial through-hole resistors, radial through-hole capacitors, or DIP style ICs.

Parameters:
length: Toleranced#

Length of the through-hole lead in mm

The length of the lead is measured from the body of the component to the end of the lead.

For components where the lead lengths are different (for example, with electrolytic capacitors), this length describes the minimum common length.

width: Toleranced#

Width of the through-hole lead Usually the diameter of the lead, for rectangular leads this is the diagonal measurement of the lead.

class LeadPlacement(pad_size, center, pitch)[source]#

Bases: object

This class encapsultes the data necessary to place the pads associated with a LeadProfile

Parameters:
pad_size: tuple[float, float]#

Pad Size as a (width, height) tuple where - width is aligned to the X-axis in mm - height is aligned to the Y-axis in mm

center: float#

Center to center distance in the lead-span direction. Value in mm.

pitch: float#

Center to Center distance between adjacent pads on one edge side. Value in mm.

class LeadProfile(span, pitch, type)[source]#

Bases: object

Lead Profile Package Pad Descriptor

This class describes the dimensions for a set of opposing pads on a package. For many IC packages, like dual packages (SOICs, SSOPs, etc) or quad packages (QFNs, QFPs, etc), there are one or more “lead profiles”.

In a dual package, there is typically one lead profile across the width of the dual row package. The lead profile describes:

  1. Lead Span - this distance from the edge of the leads on one side to the edge of the leads on the other side of the component

  2. Pitch - Distance between adjacent leads on the same side of the package.

  3. Lead Type - the type of lead protrusions found on either side of the component.

TODO - Diagram Here

In a quad package, there are potentially two different lead profiles, one for left/right edges of the package and one for the top/bottom edges of the package.

See also

IPC-7351B Figure 3-3

Parameters:
span: Toleranced#

Lead Span - the distance from the edge of the leads on one side to the edge of the leads on the other side of the component, from outside edge of the lead to outside edge of the opposite lead.

On a leaded drawing this is the overall dimension across the leads, typically E (or D for the other pair of sides on a quad package), where E1 and D1 are the body. A leadless drawing (QFN, SON) often gives no span; it equals the body width only when the terminals are flush with the body edge.

pitch: float#

Pitch - the distance between adjacent leads on the same side of the package, center to center (typically e)

type: SMDLead#

The lead type for this profile

compute_placements(density_level)[source]#

Compute the lead placements for this lead profile

Parameters:

density_level (DensityLevel) – the density level for the package

Return type:

LeadPlacement

Returns:

the lead placements for this lead profile

class LeadProfileMixin(*args, **kwargs)[source]#

Bases: DensityLevelMixin

lead_profile(pitch, span=0, length=0, width=0, protrusion=None, *additional_profiles)[source]#
Overloads:
Parameters:
Return type:

Self

Submodules#