Hi all , now I have wrote a code to check if the pad/via overlap with the text ,but it always return"Total of text on TOP pad:0" Could you help to check and give some advice, thanks in advance! Code shown as following: bBox)) t0 = cadr(nth(1 pads->bBox)) r0 = car(nth(1 pads->bBox)) b0 = cadr(nth(0 pads->bBox)) x0 = (r0+l0)/2 y0 = (t0+b0)/2 padsold=axlDBGetPad(pads , "PIN/SOLDERMASK_TOP" , "REGULAR")->bBox padetch=axlDBGetPad(pads , "ETCH/TOP" , "REGULAR")->bBox ls = car(nth(0 padsold)) ts = cadr(nth(1 padsold)) rs = car(nth(1 padsold)) bs = cadr(nth(0 padsold)) le = car(nth(0 padetch)) te = cadr(nth(1 padetch)) re = car(nth(1 padetch)) be = cadr(nth(0 padetch)) xs = (rs-ls)/2 ys = (ts-bs)/2 xe = (re-le)/2 ye = (te-be)/2 if(xe>xs then xfinal=xe yfinal=ye else xfinal=xs yfinal=ys) l2 = x0-xfinal t2 = y0+yfinal r2 = x0+xfinal b2 = y0-yfinal) return(list(l2:t2 r2:b2))) (defun overlap () (prog () axlSetFindFilter(?enabled '(noall text) ?onButtons '(noall text)) if(axlSingleSelectBox(getpadarea())!= nil then allbox = axlGetSelSet() foreach(item allbox if(item->objType == "text" then if(item->layer ==strcat("REF DES/SILKSCREEN_" layer)|| item->layer == strcat( "PACKAGE GEOMETRY/SILKSCREEN_" layer) then axlHighlightObject(list(item)) ) else nil ) ) ) )) (defun unselect_object () (let (allsel) axlSetFindFilter(?enabled '(noall shapes pins vias text) ?onButtons '(noall shapes pins vias text)) ; axlSetFindFilter(?enabled '(all) ?onButtons '(all)) allsel = axlGetSelSet(axlAddSelectAll()) axlClearSelSet() axlSetFindFilter(?enabled '(noall symbols) ?onButtons '(noall symbols)) allsel = axlGetSelSet(axlAddSelectAll()) axlClearSelSet() )) (defun turn_on_layer ( layer) axlVisibleDesign(nil) Going_On=axlGetParam("paramLayerGroup:BOARD GEOMETRY/paramLayer:OUTLINE") Going_On->visible=t axlSetParam(Going_On) Going_On=axlGetParam(sprintf(dummy "paramLayerGroup:VIA CLASS/paramLayer:%s" layer)) if(layer == "BOTTOM" then Going_On->visible=t else Going_On->visible=nil ) axlSetParam(Going_On) Going_On=axlGetParam(sprintf(dummy "paramLayerGroup:PIN/paramLayer:%s" layer)) Going_On->visible=t axlSetParam(Going_On) Going_On=axlGetParam(sprintf(dummy "paramLayerGroup:PACKAGE GEOMETRY/paramLayer:SILKSCREEN_%s" layer)) Going_On->visible=t axlSetParam(Going_On) Going_On=axlGetParam(sprintf(dummy "paramLayerGroup:REF DES/paramLayer:SILKSCREEN_%s" layer)) Going_On->visible=t axlSetParam(Going_On) Going_On=axlGetParam(sprintf(dummy "paramLayerGroup:PACKAGE GEOMETRY/paramLayer:PLACE_BOUND_%s" layer)) Going_On->visible =t axlSetParam(Going_On) axlUIWRedraw(nil) axlClearSelSet() ) >>
↧