padLayer = strcat("route keepout/" createLayer)
while(axlSelect() axlDBCreateShape( car(axlPolyExpand(axlPolyFromDB( car(axlGetSelSet())) clearance 'NONE )), t,padLayer,nil,nil ))
這個已經成功了 ,double mode的時候有點麻煩, 不好做routekeepout 考慮了一下,感覺電容的pin做routekeepout還有希望,做一個矩形就行, 具體怎麼寫希望指點
mmmmyuitian 发表于 2014-1-23 15:08 static/image/common/back.gif
padLayer = strcat("route keepout/" createLayer)
while(axlSelect() axlDBCreateShape( car(axlPolyExpa ...
其实还是对Poly的操作。你可以通过axlPolyOperation函数,使用`AND参数将Ploy合并。做三个Poly,每个PIN 做一个,然后在两个PIN之间的空间做一个。再合并在一起。
到时候写好的时候分享一下哈。。。
兩個pin中間的shape 不好定位置,請教如何定位置,如果獲取兩pin的中間坐標,和獲取pin的長和寬?分別用什麼函數
中間一個shape如何獲取位置,和長寬,求函數
mmmmyuitian 发表于 2014-1-23 15:54 static/image/common/back.gif
中間一個shape如何獲取位置,和長寬,求函數
没有现成的函数,可结合两个PIN的参数,自己创建一个POLY
startPoint = car(padList)->xy
poly1_list=axlDBCreateShape( car(axlPolyExpand(axlPolyFromDB( car(axlGetSelSet())) clearance 'NONE )), t,padLayer,nil,nil ))
endPoint = cadr(padList)->xy
poly2_list=axlDBCreateShape( car(axlPolyExpand(axlPolyFromDB( cadr(axlGetSelSet())) clearance 'NONE )), t,padLayer,nil,nil ))
if(createLayer == "ALL"
then
foreach(pad car(padList)->pads
when(pad->type == "REGULAR" && pad->layer == "ETCH/TOP"
padRadius = xCoord(cadr(pad->bBox))
)
);end foreach
else
foreach(pad car(padList)->pads
when(pad->type == "ANTI" && pad->layer == padLayer
padRadius = xCoord(cadr(pad->bBox))
)
);end foreach
);end if
antiPath = axlDBCreateRectangle(list(startPoint endPoint) t)
poly3_list=axlDBCreateShape( car(axlPolyExpand(axlPolyFromDB(antiPath) clearance 'NONE )), t,padLayer,nil,nil ))
axlPolyOperation(poly1_list poly2_list poly3_list 'AND)
請教下第三塊怎麼做
startPoint = car(padList)->xy
endPoint = cadr(padList)->xy
antiPath = axlDBCreateRectangle(list(startPoint endPoint) t)
axlDBCreateShape( car(axlPolyExpand(axlPolyFromDB(antiPath) clearance 'NONE )), t,padLayer,nil,n提取了2個pin的坐標,但是左下角和右上角的坐標 不知道怎麼提取?
mmmmyuitian 发表于 2014-1-23 17:37 static/image/common/back.gif
startPoint = car(padList)->xy
endPoint = cadr(padList)->xy
antiPath ...
你可以直接使用axlPolyFromDB获取PAD的外形。没必要自己去创建一个Poly
請教下第三塊怎麼做
怎麼使兩塊合併在一起