soic module#
- class SOICBase(*args, **kwargs)[source]#
Bases:
ThermalPadGeneratorMixin,PackageBodyMixin,DualColumnSmall Outline Integrated Circuit (SOIC) Landpattern
This class generates a full SOIC landpattern. By default, it creates a soldermask-bounds-based silkscreen outline, a circular pad 1 marker, and a courtyard based on the bounds of all features buffered by an excess amount. It can also optionally generate a thermal pad.
- narrow(package_length, *, span=None)[source]#
Set the package body to be standard narrow SOIC
>>> class MySOIC(Component): ... # A narrow body SOIC, 10 mm long, with 14 leads ... landpattern = SOIC(num_leads=14).narrow(10)
- Parameters:
package_length (
Toleranced|float) – length of the package bodyspan (
Toleranced|float|None) – span of the leads. If not specified, the span is set to the width of the package body
- Returns:
self for method chaining
- wide(package_length, *, span=None)[source]#
Set the package body to be standard wide SOIC (7.5mm body width).
Wide SOIC packages are typically used for larger ICs that need more internal die area or better thermal dissipation.
>>> class MyWideSOIC(Component): ... # A wide body SOIC, 10 mm long, with 16 leads ... landpattern = SOIC(num_leads=16).wide(10)
- Parameters:
package_length (
Toleranced|float) – length of the package body in mmspan (
Toleranced|float|None) – span of the leads. If not specified, defaults to body width.
- Returns:
self for method chaining
- class SOICDecorated(*args, **kwargs)[source]#
Bases:
SilkscreenOutline,Pad1Marker,ReferenceDesignatorMixin,ExcessCourtyard,SOICBase
- class SOIC(*args, **kwargs)[source]#
Bases:
LinearNumbering,SOICDecoratedSmall Outline Integrated Circuit (SOIC) Landpattern
This class generates a full SOIC landpattern. By default, it creates a soldermask-bounds-based silkscreen outline, a circular pad 1 marker, and a courtyard based on the bounds of all features buffered by an excess amount. It can also optionally generate a thermal pad.
Note that this class will use
LinearNumberingfor the pad numbering. To use a different numbering scheme, create a subclass ofSOICDecoratedand inherit a different one.>>> class MySOIC(Component): ... # A narrow body SOIC, 10 mm long, with 14 leads ... landpattern = SOIC(num_leads=14).narrow(10) >>> MySOIC().landpattern.p[1] SMDPad