求文字是否压到焊盘精准的方法代码?
本帖最后由 王开鑫55 于 2017-10-18 14:50 编辑文字的bBox比实际的文字范围要大,焊盘的top,bbox也大,传统的这个方法,很大误差。求一个skill。感谢!
http://www.allegro-skill.com/forum.php?mod=viewthread&tid=6305
procedure( TextToPoly16_6(text)
prog( (lines flattened tPolys polys)
lines = axlText2Lines(text)
flattened = foreach(mapcan x lines x)
tPolys = nil
foreach(path flattened
polys = axlPolyFromDB(path ?endCapType 'ROUND ?line2poly t)
foreach(poly polys
if(tPolys then
tPolys = axlPolyOperation(poly tPolys 'OR)
else
tPolys = poly
)
)
)
unless(listp(tPolys) tPolys = list(tPolys))
return(tPolys)
))
这是16.6版本,文字转成polys的函数 本帖最后由 leilei4908 于 2017-10-20 17:16 编辑
16.6版本可以用axlText2Lines转换成lines,再转换成polys,pad也转换成polys(如pPoly = axlPolyFromDB(pad ?layer "ETCH/TOP"))
再利用axlPolyOperation(tPoly pPoly 'And)判断是否重叠
axlPolyOperation这个方法效率很慢的,,最好先bBox过滤一下在用
页:
[1]