Suggestion: Convert any object into drill holes (like CAM350 “Flash to Drill”)

I often run into cases where I need to take an existing object (solder pad, via, circle, polygon, or even graphics/text) and quickly turn it into a drill hole. CAM350 has this as a one-click function (“Flash to Drill”), but KiCad currently only allows drills from pads/vias.

Would anyone else find this useful?
The idea would be:

  • Select an object → define drill size → KiCad inserts it in the drill file.
  • Optionally remove the original object.

This would save a lot of time in CNC and legacy Gerber workflows.

I have reverse engineered a few (smallish) PCB’s from Gerbers, which also prompted me to make the tutorial linked to below. I would not have found a function like this useful at all. In fact, it would be worse then useless (in my use case). What I did is remove all the old copper from the pads in the gerber file (Gerber does not know what a pad is) and then snapped a pat from an appropriate footprint from KiCad’s libraries to a track end. This has a few quite big advantages. First, you do a whole footprint at a time, which makes it pretty quick. Second, You’re less likely to make mistakes, miss a pad or misalign a hole. And third and most important. Because the footprint you place also has real pads, you build up an implicit netlist combined with the imported copper tracks. In a later stadium, you can compare it with the (also reverse engineered?) schematic, and DRC will then point out any differences. Then you can figure out whether the mistake was in the schematic or in the PCB, but when DRC does not complain anymore at the end, you can be pretty confident that the job has been done well.

For the rest, this would be a quite niche usage and not really in the direction for KiCad. KiCad has (for now) no aspiration to do much with Gerber file processing. I’m extremely happy it’s got the reverse-engineer tools it has at the moment.

And there is also a relatively simple workaround for your wish. You can create a footprint with either a PTH or NPTH, and then place those footprints on your PCB.