courtyard module#

class CourtyardGenerator[source]#
make_courtyard(target)[source]#
Return type:

Courtyard

Parameters:

target (CourtyardGeneratorMixin)

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

Bases: ApplyToMixin, PackageBodyMixin, LeadProfileMixin, DensityLevelMixin, LandpatternProvider

courtyard(generator)[source]#

Add a courtyard generator to the landpattern

Parameters:

generator (CourtyardGenerator)

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

Bases: ApplyToMixin, LineWidthMixin, LandpatternProvider

origin_marker(max_size=None, max_ratio=None)[source]#
Parameters:
  • max_size (float | None)

  • max_ratio (float | None)

courtyard_excess(density_level)[source]#

Compute the courtyard excess for a density level

Values are taken from IPC-7351B Table 3-17.

Parameters:

density_level (DensityLevel) – the density level to compute the courtyard excess for

Return type:

float

Returns:

the courtyard excess (buffer distance from pad features to courtyard shape) based on the density level.

lead_profile_courtyard_excess(lead_profile, density_level)[source]#

Compute the courtyard excess for a lead profile

Parameters:
  • lead_profile (LeadProfile) – the lead profile to compute the courtyard excess for

  • density_level (DensityLevel) – the density level to compute the courtyard excess for

Return type:

float

Returns:

the courtyard excess based on the lead profile and density level.

class ExcessCourtyardGenerator(excess=None)[source]#

Bases: CourtyardGenerator

Parameters:

excess (float | None)

make_courtyard(target)[source]#
Parameters:

target (CourtyardGeneratorMixin)

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

Bases: CourtyardGeneratorMixin, LandpatternGenerator

A courtyard generator mixin with a default ExcessCourtyard generator.