Skip to content

jsl/landpatterns/courtyard

Package name: jsl/landpatterns/courtyard

Summary

General Definitions

Function Description
make-courtyard-boundary Generator for Courtyard Boundary
build-courtyard-boundary Create a courtyard boundary in a Virtual Landpattern
compute-courtyard-boundary
get-courtyard-boundary Retrieve the Dimensions of the Courtyard Boundary
get-courtyard-dims Extract the courtyard dimensions for the landpattern of a component.
make-courtyard-origin Generator for Courtyard Origin Marker
build-courtyard-origin
Variable Description
DEF_COURTYARD_LINE_WIDTH
DEF_COURTYARD_LINE_LEN
DEF_COURTYARD_LEN_RATIO
DEF_COURTYARD_ORIGIN_LAYER

Definitions

General Definitions

make-courtyard-boundary

Generator for Courtyard Boundary

public defn make-courtyard-boundary (pkg-body:PackageBody, density-level:DensityLevel -- excess:Double = ?, side:Side = ?, pose:Pose = ?) -> Rectangle

  • pkg-body: PackageBody - Package Body of the component
  • density-level: DensityLevel - Density Level for this LandPattern definition. See IPC7351 regarding Maximum, Nominal, and Least Material Conditions.
  • excess: Double - Additional space to pad the boundary of the pads for this component when making the courtyard boundary. The default value is 0.5mm
  • side: Side - Which side of the board to draw the courtyard on. By default we use the Top side as per convention.
  • pose: Pose - Pose offset for this group of features. Default is no transform.
  • Returns Rectangle

The courtyard boundary creates the typical minimum spacing expected around a component. This spacing is for mechanical assembly and thermal reflow reasons.

This function uses the copper pads and the package body to define the envelope of the component. This envelope is then expanded with the excess amount on all sides. We then compute the smallest rectangle that encapsulates all of these expanded features. This rectangle forms the courtyard boundary.

build-courtyard-boundary

Create a courtyard boundary in a Virtual Landpattern

public defn build-courtyard-boundary (vp:VirtualLP, pkg-body:PackageBody, density-level:DensityLevel -- excess:Double = ?, pose:Pose = ?, side:Side = ?) -> Rectangle

  • vp: VirtualLP - Virtual Landpattern Container
  • pkg-body: PackageBody - Package Body for the Component
  • density-level: DensityLevel - Density Level for this LandPattern definition. See IPC7351 regarding Maximum, Nominal, and Least Material Conditions.
  • excess: Double - Additional space to pad the boundary of the pads for this component when making the courtyard boundary. The default value is 0.5mm
  • pose: Pose - Pose offset for this group of features. Default is no transform.
  • side: Side - Which side of the board to draw the courtyard on. By default we use the Top side as per convention.
  • Returns Rectangle

compute-courtyard-boundary

public defn compute-courtyard-boundary (lp-pads:Seqable<LandPatternPad|VirtualPad>, pkg-body:PackageBody, density-level:DensityLevel, excess:Double, side:Side, pos:Pose) -> Rectangle

  • Returns Rectangle

get-courtyard-boundary

Retrieve the Dimensions of the Courtyard Boundary

public defn get-courtyard-boundary (vp:VirtualLP -- side:Side = ?) -> Box|False

  • Returns Box|False

get-courtyard-dims

Extract the courtyard dimensions for the landpattern of a component.

public defn get-courtyard-dims (comp:Instantiable) -> Dims

  • comp: Instantiable - Instantiable component (pcb-component) with assigned landpattern.
  • Returns Dims - X and Y dimensions of the courtyard boundary in mm

This function introspects the given component and finds the courtyard layer of its landpattern. It then returns the dimensions of the landpatterns courtyard layer.

make-courtyard-origin

Generator for Courtyard Origin Marker

public defn make-courtyard-origin ( -- line-length:Double = ?, line-width:Double = ?, pose:Pose = ?, side:Side = ?)

  • line-length: Double - Set the size of the origin marker. The default is 1.0 mm.
  • line-width: Double - Set the line width for the drawn marker. The default is 0.05mm.
  • pose: Pose - Override the origin location by applying a pose. This can both rotate and translate the marker position.
  • side: Side - Indicates which side to place the courtyard on. Default per convention is the top.

This function generates a plus sign marker at the origin of a component landpattern.

build-courtyard-origin

public defn build-courtyard-origin (vp:VirtualLP, outline:Rectangle -- line-width:Double = ?, pose:Pose = ?, side:Side = ?) -> Shape

  • Returns Shape

DEF_COURTYARD_LINE_WIDTH

public val DEF_COURTYARD_LINE_WIDTH

DEF_COURTYARD_LINE_LEN

public val DEF_COURTYARD_LINE_LEN

DEF_COURTYARD_LEN_RATIO

public val DEF_COURTYARD_LEN_RATIO

DEF_COURTYARD_ORIGIN_LAYER

public val DEF_COURTYARD_ORIGIN_LAYER

Related Packages

Forwarded by packages: jsl/landpatterns/framework, jsl/landpatterns