# CadSoft Eagle - How to select all via based on a specific drill size？

I want to use either ULP or certain menu function to select all vias with certain drill size, how do I do that? I've googled the solution but as what you often get with searching eagle related topics, unhelpful results populated the entirety of the first few pages.

In Altium Designer, all I have to do is to right click one single via of such variety, then select "find similar..." and go from there, but Eagle doesn't seem to have such a humble, down to earth function.

Please do not tell me to disable all other layers but the via layer and select my desired target using the selection tool, I have a large board with nearly 150 vias serving various purposes and discerning them with naked eyes will be an excruciatingly drudgerous task.

How do I select all via based on a specific drill size？

• This sounds like an on-topic question, but the gratuitous rant is, IMHO, distracting. Please consider a suitable edit to keep to the facts. – Roger Rowland Mar 28 '17 at 6:50
• You will have to write a ULP. Get the size of the selected via, then loop through every via on the board compiling a list of all which are the same size. Prompt the user for the new size, then update all in your list. – Tom Carpenter Mar 28 '17 at 7:28
• Closing because this is as much a rant as it is a question. I see someone else edited out some of the Eagle-bashing, but that doesn't mean anything since you didn't do it. You also have a history of Eagle-bashing here. If you want to argue about what software is better, take it elsewhere. If you want answers to how to use Eagle (or anything else for that matter), you don't get to include grandstanding. You have been warned before. Enough is enough! Grow up before trying again. – Olin Lathrop Mar 28 '17 at 11:40
• @DerStrom: Now that you've cleaned up the question, the OP can no longer do so and therefore can't fix the obnoxious attitude himself. It also deprives others from seeing the OP's attitude for themselves, which might change whether they want to answer or not. By trying to "help", you have left no alternative but to close the question completely. – Olin Lathrop Mar 28 '17 at 11:44
• @Der: Anyone can see the original if they specifically look for it. The OP was exhibiting a bad attitude, has a history of doing this, and has been told to stop doing this in the past. It is important that the OP not get the desired result, else he'll be back doing the same thing again, since it works. – Olin Lathrop Mar 28 '17 at 12:24

Eagle 9.0 and above has a feature that solves this problem, its called the "Design Manager". I had a board with over 600 vias when I realized those used to tie my ground planes together were large enough that they automatically removed stop-mask (exposing the copper). To fix the issue, first hide all layers but the via layer. Then go to the design manager, select the "Signals" tab, scroll to the name of the signal you want and select it. Doing this will select all vias of that signal and you can then apply the change tool as you would for any group of selected components. In my case, I used the change tool to decrease the drill size to a value below the threshold to automatically remove the stop-mask.

PS. I know this is an older post, but its not obvious how to use the design manager to do this and in my search this was the first Google result.

• Even apart from the version difference, you aren't actually addressing the question which was asked. You are proposing how to select by signal but the question actually asked is how to select by drill size. – Chris Stratton Aug 1 at 15:38

I agree with people who commented to your question that to automate the task you may need custom-built ULP. 150 vias is not a big number. I have bigger projects, and I recall I had to find specific vias, and did it successfully by hand. А journey of a thousand miles begins with a single step.

If you are really bothered by the issue, there's official EAGLE forum out there - post request in there, and they will (hopefully) build this functionality into new release, or maybe some expert from community will write needed ULP.

There're ways how to make manual task easier though:

• You go to Tools -> Statistics, where you can see number of vias on the "board" tab. Then you go to "via" tab to see stats on via groups, where you can see how many vias with properties you need are out there on your board;
• if you are looking for drill diameters, you export project into Excellon file, and look into its header - it has a list of drills with specific diameter, and sections for the respective drills. Basing on X/Y coordinates you can find out the locations of drills (if there're only few). This is not easy, probably easier to go through 150 drills/vias systemically to find those you need;
• there's ULP called find, but I can not find out how to get value out of it. Probably you will manage to use it.
• No need to do any export, the files became XML several years before the date of the question. And yes, I've written external programs to interact with them in a "find by pattern and modify" sort of way. In simple cases one can simply used sed. – Chris Stratton Aug 1 at 15:40