:Q谁能帮帮我啊,着急。不行只能一条一条的量,要崩溃的。 sujuanyu888 发表于 2016-5-3 20:32
我这是手动加载的。自动加载到文件里,直接软件都打不开。手动加载我打的是:skill load ‘’length_report ...
不好意思!好像贴错了。
试试这个。
/*
* Net Length Report For Allegro 14.2
*
* Allan Wu (2003/12/25)
*
* 1. Function Key F9 Define
* 2. Set Select Filter CLINES
*/
axlCmdRegister("Length_Report" 'Length_Report)
procedure( Length_Report()
popup = axlUIPopupDefine(nil
(list (list "Done" `axlFinishEnterFun)
(list "Cancel" `axlcancelEnterFun)
))
axlUIPopupSet(popup)
(axlClearSelSet)
(axlSetFindFilter ?enabled(list "noall" "clines" "nameform")
?onButtons(list "noall" "clines"))
axlOpenFindFilter()
port = outfile("./lengthReport.txt")
;port = axlDMOpenLog("lengthReport")
fprintf(port " Net Length Report\n")
fprintf(port " Allan Wu (2003/12/25)\n")
fprintf(port "-----------------------------------------\n")
fprintf(port "-----------------------------------------\n")
axlDMClose(port)
logWindow = axlUIViewFileCreate("lengthReport.txt" "Net Length Report" nil)
(while (axlSelect)
cpaths = axlGetSelSet()
total = 0
items = nil
if((logWindow != nil) axlUIWClose(logWindow))
logWindow = nil
port = outfile("./lengthReport.txt")
fprintf(port " Net Length Report\n")
fprintf(port " Allan Wu (2003/12/25)\n")
fprintf(port "-----------------------------------------\n")
foreach(path cpaths
segments = path->segments
pathlen = 0
foreach(segment segments
box = segment->startEnd
lx = caar(box)
ly = cadar(box)
rx = caadr(box)
ry = cadadr(box)
pathlen = pathlen + sqrt( (lx-rx)**2+(ly-ry)**2 )
)
total = total + pathlen
items = cons(list(path->net->name pathlen) items)
)
cpaths = sortcar(items nil)
bknet = caar(cpaths)
bklen = 0
count = 1
foreach( path cpaths
if( (bknet==car(path))
then
bklen = bklen + cadr(path)
else
fprintf(port "%2d)\t%-15s\t%.3f\n" count bknet bklen)
count = count + 1
bknet = car(path)
bklen = cadr(path)
)
)
fprintf(port "%2d)\t%-15s\t%.3f\n" count bknet bklen)
fprintf(port "\nTotal length : %.3f\n" total)
fprintf(port "-----------------------------------------\n")
axlDMClose(port)
if( (logWindow==nil)
then
logWindow = axlUIViewFileCreate("lengthReport.txt" "Net Length Report" nil)
else
(axlUIViewFileReuse logWindow "lengthReport.txt" "Net Length Report" nil)
)
)
if((logWindow != nil) axlUIWClose(logWindow))
axlUIPopupSet(nil)
) defir 所貼的 可以用了 defir 所貼的 可以用了 defir 发表于 2016-5-4 22:51
不好意思!好像贴错了。
试试这个。
可以用了,非常非常感谢:lol:victory: 本帖最后由 bingshuihuo 于 2018-12-12 09:56 编辑
我在菜单里面加载了好像不能使用,奇怪
能帮忙看看为什么吗?
加载 load ("length_report.il" )在allegro.ilinit 文件里面
命令菜单是Length_Report
加载后还是提示E- Command not found: Length_Report
last pick:2385.3 4093.9
这个应该怎么解决 本帖最后由 bingshuihuo 于 2018-12-11 08:22 编辑
vivianwu0317 发表于 2016-5-6 10:04
defir 所貼的 可以用了
这个你可以使用了吗我这边还是使用不了不知道哪里有问题可以帮我看看吗 搞定了
页:
1
[2]