|
本帖最后由 361553894 于 2016-4-25 14:30 编辑
procedure(SymCenter(@optional (sym nil))
prog( (pins Xs Ys X Y)
when(stringp(sym) sym = car(axlSelectByName("REFDES" sym)))
unless(sym
axlSetFindFilter(?enabled '("all") ?onButtons '("noall" "symbols"))
sym = car(axlGetSelSet(axlSingleSelectPoint()))
)
unless(sym return(nil))
pins = sym->pins
Xs = nil, Ys = nil
foreach(pin pins
Xs = append1(Xs car(pin->xy))
Ys = append1(Ys cadr(pin->xy))
)
Xs = unique(Xs), Ys = unique(Ys)
X = 0.0, Y = 0.0
foreach(x Xs
X = X + x
)
X = X / length(Xs)
foreach(y Ys
Y = Y + y
)
Y = Y / length(Ys)
return(list(X,Y))
))
这是我写的获取零件中心的Skill
|
|