Thanks for finding my typo! I think the "L" key on my keyboard might be stuck.
This code should be better but look for improvements. It's only meant as a guide.
subclasses = '("VP24", "VP22")
foreach(subclass, subclasses
viaList = stringToSymbol(strcat("viaList_", subclass))
set(viaList, nil)
axlVisibleDesign(nil)
axlVisibleLayer(strcat("via class/", subclass) t)
;axlShell("redisplay")
axlVisibleUpdate(t)
axlSetFindFilter(?enabled '(noall vias) ?onButtons '(noall vias))
allViasInSubclass = axlGetSelSet(axlAddSelectAll())
axlClearSelSet()
foreach(via allViasInSubclass
netname = via ->net ->name
when(netname && (nindex(netname "HC") || nindex(netname "LC") || nindex(netname "GND"))
set(viaList, cons(via, eval(viaList)))
)
);end foreach via
);end foreach subclass
writeOutFile = outfile( "TempFile.tmp" ) ; open write tmp file
foreach(subclass, subclasses
fprintf(writeOutFile, " %-49s", strcat("Layer ", subclass))
)
fprintf(writeOutFile, "\n\n")
foreach(subclass, subclasses
fprintf(writeOutFile, "----------------------------------------------------------------------------------")
)
fprintf(writeOutFile, "\n\n")
foreach(subclass, subclasses
fprintf(writeOutFile, " Vianame Via location Via net name ")
)
fprintf(writeOutFile, "\n\n")
while(exists(subclass, subclasses, eval(stringToSymbol(strcat("viaList_", subclass))))
line = ""
foreach(subclass, subclasses
viaList = stringToSymbol(strcat("viaList_", subclass))
via = car(eval(viaList))
if(via then
sprintf(viaLocation "%L:%L" car(via ->xy) cadr(via ->xy))
sprintf(line, "%s%-30s %-20s %-30s", line, via ->name, viaLocation, via ->net ->name)
else
sprintf(line, "%82s", line)
)
set(viaList, cdr(eval(viaList)))
)
fprintf(writeOutFile, "%s\n", line)
)
close(writeOutFile)