Mailing list archives : pcb-rnd

Date:Thu, 4 Feb 2021 06:06:45 +0100 (CET)
Subject:[pcb-rnd] new: major cleanup & upgrade of the vendordrill plugin
replies: 4745 from John Griessen <> , 4747 from Bob Paddock <>
Hi all,
I know the vendordrill plugin is not much used anymore, but we still had a 
fewusers and some backlog about it in the TODO so I decided to sit down 
and clean it up. 
Plugin doc:
Here is a list of changes.
1. new: rounding method: down
The original purpose of this code was to tune hole sizes to match a map 
of drill sizes. The tuning algorithm already had round-to-nearest and 
round-up. For consistency I've added round-down too.
2. new: incremental loading
It was possible to load only one vendor_drill_map file. By adding an 
optional second argument to the action, it is now possible to load 
multiple files, building the in-memroy database incrementally. May be 
useful if you want to load the drill map from one file and skips from 
3. new: skips by any attribute
An even less well-known feature is that subcircuits can be excluded from 
the tuning by regex patterns applied to their refdes, value of footprint 
I've extended this so that it now can consider any attribute, for example 
instead of refdes you can write and it will use the 'foo' attribute 
of the subcircuit for the test.
4. cleanups and optimization
5. automated tests for this plugin
6. deprecation: drc subtree
Later on PCB developers thought it was a good idea to overload the 
vendordrill code so that it doesn't only do drills but also sets up the 
old, hardwired DRC.
I think the motivation was that one of the possible use cases is to 
specify a fab's drc settings and drill map in one place. But the whole 
idea is broken and limited: it doesn't specify the layer stackup, export 
details (cam jobs now), etc.
So I decided to deprecate the drc subtree of vendordrill files. Long term 
the vendordrill plugin will do only drill diameter tuning and nothing 
else. I had to immediately remove half of the drc related nodes (you get 
a non-fatal error message about those when you load an old vendor drill 
file still having them) and made the code throw a warning for the rest.
I have a plan for solving the original problem of wanting to communicate 
various different configuration and scripts for a workflow. E.g. for using 
a fab it would be a layer stackup, CAM job(s), DRC settings and scripts 
and maybe even vendor drill mapping (although I don't think any serious 
fab limits your drill usage these days). More on this plan later.
Best regards,

Reply subtree:
4744 [pcb-rnd] new: major cleanup & upgrade of the vendordrill plugin from
  4745 Re: [pcb-rnd] new: major cleanup & upgrade of the vendordrill plugin from John Griessen <>
  4747 Re: [pcb-rnd] new: major cleanup & upgrade of the vendordrill plugin from Bob Paddock <>
    4748 Re: [pcb-rnd] new: major cleanup & upgrade of the vendordrill from