seveibar/f1c100s-dev-board

This code defines the hardware layout and schematic for a four-layer F1C100S-based module, including footprint placement, pin mappings, power regulation, decoupling capacitors, support components, and routing configurations, enabling automated PCB generation, routing, and verification.

Version
1.3.0
License
unset
Stars
0

routing-boundary.ts

/** Native keepouts currently apply to both autorouting and finished copper.
 * This board needs a routing-only reservation around a pre-routed module.
 * Let native routing use the reservation, then remove ONLY that temporary
 * keepout before copper filling and the unmodified full copper/connectivity DRC.
 * No trace, via, clearance error, or connectivity error is suppressed. */
export function routingBoundaryRef(board: any) {
  const clear = () => {
    const table=board.root.db.pcb_keepout
    for(const k of table.list()) {
      if(k.shape==='rect' && k.width===25.6 && k.height===25.6 && k.center.x===0 && k.center.y===0)
        table.delete(k.pcb_keepout_id)
    }
  }
  const pour=board.doInitialPcbImplicitCopperPourRender.bind(board)
  board.doInitialPcbImplicitCopperPourRender=()=>{ clear(); pour() }
  const check=board.doInitialPcbDesignRuleChecks.bind(board)
  board.doInitialPcbDesignRuleChecks=()=>{ clear(); check() }
}