@@ -467,6 +467,7 @@ def __init__(self, panelFilename):
467467 self .vCutLayer = Layer .Cmts_User
468468 self .vCutClearance = 0
469469 self .copperLayerCount = None
470+ self .renderedMousebiteCounter = 0
470471 self .zonesToRefill = pcbnew .ZONES ()
471472 self .pageSize : Union [None , str , Tuple [int , int ]] = None
472473
@@ -1471,6 +1472,7 @@ def makeMouseBites(self, cuts, diameter, spacing, offset=fromMm(0.25),
14711472 offsetCuts .append (offsetCut )
14721473
14731474 for cut in listGeometries (shapely .ops .unary_union (offsetCuts ).simplify (SHP_EPSILON )):
1475+ self .renderedMousebiteCounter += 1
14741476 length = cut .length
14751477 count = int (length / spacing ) + 1
14761478 for i in range (count ):
@@ -1479,7 +1481,8 @@ def makeMouseBites(self, cuts, diameter, spacing, offset=fromMm(0.25),
14791481 else :
14801482 hole = cut .interpolate ( i * length / (count - 1 ) )
14811483 if bloatedSubstrate .intersects (hole ):
1482- self .addNPTHole (toKiCADPoint ((hole .x , hole .y )), diameter )
1484+ self .addNPTHole (toKiCADPoint ((hole .x , hole .y )), diameter ,
1485+ ref = f"KiKit_MB_{ self .renderedMousebiteCounter } _{ i + 1 } " )
14831486
14841487 def makeCutsToLayer (self , cuts , layer = Layer .Cmts_User , prolongation = fromMm (0 )):
14851488 """
@@ -1501,7 +1504,8 @@ def makeCutsToLayer(self, cuts, layer=Layer.Cmts_User, prolongation=fromMm(0)):
15011504 segment .SetWidth (fromMm (0.3 ))
15021505 self .board .Add (segment )
15031506
1504- def addNPTHole (self , position : VECTOR2I , diameter : KiLength , paste : bool = False ) -> None :
1507+ def addNPTHole (self , position : VECTOR2I , diameter : KiLength ,
1508+ paste : bool = False , ref : Optional [str ]= None ) -> None :
15051509 """
15061510 Add a drilled non-plated hole to the position (`VECTOR2I`) with given
15071511 diameter. The paste option allows to place the hole on the paste layers.
@@ -1516,6 +1520,8 @@ def addNPTHole(self, position: VECTOR2I, diameter: KiLength, paste: bool=False)
15161520 layerSet .AddLayer (Layer .F_Paste )
15171521 layerSet .AddLayer (Layer .B_Paste )
15181522 pad .SetLayerSet (layerSet )
1523+ if ref is not None :
1524+ footprint .SetReference (ref )
15191525 self .board .Add (footprint )
15201526
15211527 def addFiducial (self , position : VECTOR2I , copperDiameter : KiLength ,
@@ -1581,8 +1587,8 @@ def addCornerTooling(self, holeCount, horizontalOffset, verticalOffset,
15811587
15821588 The offsets are measured from the outer edges of the substrate.
15831589 """
1584- for pos in self .panelCorners (horizontalOffset , verticalOffset )[:holeCount ]:
1585- self .addNPTHole (pos , diameter , paste )
1590+ for i , pos in enumerate ( self .panelCorners (horizontalOffset , verticalOffset )[:holeCount ]) :
1591+ self .addNPTHole (pos , diameter , paste , ref = f"KiKit_TO_ { i + 1 } " )
15861592
15871593 def addMillFillets (self , millRadius ):
15881594 """
0 commit comments