jsl/landpatterns/keep-outs¶
Package name: jsl/landpatterns/keep-outs
Summary¶
Data Types¶
IKeepoutOverlay¶
Application Layer Keepout Generator Interface
Multis¶
Function | Description |
---|---|
shape | Retrieve the Keepout Shape for a particular Copper Layer |
make-keepout-overlay | Keepout Overlay Generator |
Methods¶
Function | Description |
---|---|
make-keepout-overlay | Default Implementation |
KeepoutCreator¶
Interface Type for Keepout Creation
Multis¶
Function | Description |
---|---|
build-keep-out | Build the keep-out layer geometry in the Virtual LP Scene Graph |
IntraPadKeepOut¶
Keepout Creator for Intra-pad Keepouts
Constructors¶
Function | Description |
---|---|
IntraPadKeepOut (+ 1) | Constructor for defstruct IntraPadKeepOut |
KeepoutOverlay¶
Constant Shape Keepout Overlay Generator
Functions¶
Function | Description |
---|---|
KeepoutOverlay | Constructor for KeepoutOverlay |
General Definitions¶
Function | Description |
---|---|
keepout-overlay | Keepout Overlay Object Definition |
Variable | Description |
---|---|
DEF_KEEPOUT_LAYER_SET |
Definitions¶
IKeepoutOverlay¶
Application Layer Keepout Generator Interface
public deftype IKeepoutOverlay
This type defines an interface for application layer keepout generators.
The idea is that sometimes, you will want to have a keepout placed over
a component - but you don't want to change the pcb-component
definition
to introduce this keepout there.
For example - if your application requires
a 32 layer board and you want keepouts on layers 16 and 19 - it may not make
sense to encode this in the pcb-component
.
Multis¶
shape¶
Retrieve the Keepout Shape for a particular Copper Layer
public defmulti shape (k:IKeepoutOverlay, lyId:LayerIndex) -> Shape
k: IKeepoutOverlay
- KeepoutOverlay objectlyId: LayerIndex
- Optionally create custom shapes based on the desired layer. See KeepoutOverlay for a constant shape variant.- Returns
Shape
- geometry for the constructed keepout region. This shape can be offset with a Pose for offset keepouts.
make-keepout-overlay¶
Keepout Overlay Generator
public defmulti make-keepout-overlay (k:IKeepoutOverlay, other:JITXObject -- layer-set:Tuple<LayerIndex> = ?, side:Side = ?, name:String = ?) -> False
k: IKeepoutOverlay
- KeepoutOverlay objectother: JITXObject
- Component or Module Instance which the constructed keepout object will track.layer-set: Tuple<LayerIndex>
- Set of copper layers that keepouts will be drawn on. By default this is only the top layer.side: Side
- Which side of the board to work fromname: String
- Optional name to apply to the keepout object. This is useful for differentiating multiple keepout objects in a board.- Returns
False
This method must be called from a pcb-module
context.
This method will construct a Keepout object and then place it in the
current pcb-module
context relative to the passed other
instance.
The Keepout object is basically a pcb-module
that only contains
layer
statements.
Methods¶
make-keepout-overlay¶
Default Implementation
defmethod make-keepout-overlay (k:IKeepoutOverlay, other:JITXObject -- layer-set:Tuple<LayerIndex> = ?, side:Side = ?, name:String = ?)
KeepoutCreator¶
Interface Type for Keepout Creation
public deftype KeepoutCreator
Custom keepout generators can be built by inheriting from this type and then implementing the interface
Multis¶
build-keep-out¶
Build the keep-out layer geometry in the Virtual LP Scene Graph
public defmulti build-keep-out (kc:KeepoutCreator, vp:VirtualLP -- side:Side = ?) -> False
- Returns
False
This function will generate the necessary keep-out artwork in the virtual LP scene graph.
IntraPadKeepOut¶
Keepout Creator for Intra-pad Keepouts
public defstruct IntraPadKeepOut <: KeepoutCreator
layer-set: Tuple<LayerIndex>
shrink-by: Double|Percentage|Dims
-
layer-set: Tuple<LayerIndex>
- Set of copper layers where the keepout will be placed. The most obvious layer would be the top layer underneath the component. But for some applications, we might want to add keepouts in the reference plane underneath the component as well.The default value is the top layer
LayerIndex(0)
-
shrink-by: Double|Percentage|Dims
- Shrink the created keepout By default, this type will create a keepout that is the same size as the interstitual region between the pads of the SMT component. This parameter can be used to make this keepout region smaller (or larger if negative). By default this value is 0.0.
For SMT chip components like resistors and capacitors, we often want to restrict copper underneath the component. This can be for SI reasons, manufacturing reasons, etc.
Sometimes we want to restrict the ground plane on an internal layer underneath these components.
This type is used to contruct these keepouts on any layer of the board design.
Constructors¶
IntraPadKeepOut¶
Constructor for defstruct IntraPadKeepOut
public defn IntraPadKeepOut (layer-set:Tuple<LayerIndex>, shrink-by:Double|Percentage|Dims = ?)
IntraPadKeepOut¶
Constructor for defstruct IntraPadKeepOut
public defn IntraPadKeepOut ( -- layer-set:Tuple<LayerIndex> = ?, shrink-by:Double|Percentage|Dims = ?)
KeepoutOverlay¶
Constant Shape Keepout Overlay Generator
public deftype KeepoutOverlay <: IKeepoutOverlay
This generator implements the IKeepoutOverlay interface and constructs keepouts of the same shape on all requested copper layers.
Functions¶
KeepoutOverlay¶
Constructor for KeepoutOverlay
public defn KeepoutOverlay (const-shape:Shape) -> KeepoutOverlay
const-shape: Shape
- Constant Geometry that will be applied on all copper layers requested.- Returns
KeepoutOverlay
General Definitions¶
keepout-overlay¶
Keepout Overlay Object Definition
public pcb-module keepout-overlay (layer-set:Tuple<KeyValue<LayerIndex, Shape>> -- name?:Maybe<String> = ?)
layer-set: Tuple<KeyValue<LayerIndex, Shape>>
- Set ofcopper => Shape
mappings that will be constructed as keepoutsname?: Maybe<String>
- Optional Name for the module.
This module is used to construct the keepout-overlay
instance in make-keepout-overlay
It primarily consists of layer statements on ForbidCopper(layerId)
.
DEF_KEEPOUT_LAYER_SET¶
public val DEF_KEEPOUT_LAYER_SET
Related Packages¶
Forwarded by packages: jsl/landpatterns/framework, jsl/landpatterns