Quantcast
Channel: Cadence Community
Viewing all articles
Browse latest Browse all 3331

axlDBCreatePadStack Warnings...

$
0
0
Hi All, have any of you seen these errors before?  I'm getting closer and closer to creating my padstacks,
but still get some warnings that don't seem to point me in the right direction. (I'm a programmer and new to
pcb design).  My current function to copy padstacks is listed below.

I'm seeing things like the following:
- W- *WARNING* (axlDBCreatePadStack): Hole larger than pad size on layer FILMMASKTOP
- W- *WARNING* (axlDBCreatePadStack): Padstack origin outside pad boundary on layer TOP

I'm assuming that they must be the figureSizes for the drillData and the Pad data.  The wording of the messages
don't really give me too many hints on what to next to resolve these.  Again, I'm new to this, and especially to the
createPadStack function.  

Any help is greatly appreciated!

-Mike

-------------------------------------------------------------------------------------------------------------------------------------------------------------
procedure( copyPadStack(padStackName newPadStackName)
  let(( form padStackName newPadStackName drill_data )   
  
ps = axlLoadPadstack(padStackName)
/*** Get Drill Data for padStack ***/
drill_data = make_axlPadStackDrill(
;?fixed ps->fixed
;?uvia  ps->uvia
;?keepout  ps->keepout
?drillDiameter ps->drillDiameter
?figure ps->drillFigureName ;;symbol
;?figureSize ps->figureSize
?figureSizelist(ps->drillFigureWidth ps->drillFigureHeight)
?offset ps->drillOffset
?plating ps->plating ;;symbol
?drillChar ps->drillChar
;?multiDrillDataps->multiDrillData
;?holeType ps->holeType ;;symbol
;?slotSize ps->slotSize
;?holeTolerance ps->holeTolerance
;?drillNonStandardps->drillNonStandard ;;symbol
)

padList = nil
foreach( pad ps->pads
/*** Get the figure size. ***/
ll = car(pad->bBox)
ur = cadr(pad->bBox)
x1 = car(ll)
y1 = cadr(ll)
x2 = car(ur)
y2 = cadr(ur)
width = x2 - x1
height = y2 - y1
figureSize = list(width height)
type = stringToSymbol(pad->type)
when( type == 'ANTI  type = 'ANTIPAD )

newPad = make_axlPadStackPad(
?layer cadr(parseString(pad->layer "/")) 
?type type  ;;Symbol
?figure pad->figureName ;;Symbol
?flash pad->flash ;;String
?figureSize figureSize ;;Must adjust size to so that it matches the type.
?offset pad->offset
)
/*** ignoreLayers is just for debugtging. Trying to isolate different warning messages. ***/
ignoreLayers = nil
;ignoreLayers = list("FILMMASKTOP" "PASTEMASK_BOTTOM" "PASTEMASK_TOP" "FILMMASKBOTTOM")
unless( member(cadr(parseString(pad->layer "/")) ignoreLayers) ;;Mike. Just for debugging.
padList = cons(newPad, padList)
padList = reverse(padList) ;;Temp. Just for debugging.  Order shouldn't matter.
)
)
mikeDB = axlDBCreatePadStack(newPadStackName, drill_data, padList)
  );End let.
);End copyPadStack().

Viewing all articles
Browse latest Browse all 3331

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>