Locating component hole center marks for faceplates

Hello all - I am relatively new to Kicad but have used it to make a few designs with some success, and am still learning as I go. One thing I am wondering about - is there a way to easily generate a dimensioned drawing from the PCB layout that shows where all the center holes would be punched/drilled in a faceplate that the PCB mounts to? I often have jacks/pots/switches/LEDs that are board mounted but need to protrude up through a faceplate or enclosure and I usually have to print out a version of the PCB on paper that I then tape to a faceplate or enclosure to drill the holes by hand on a drill press, which can be less precise than would be desired. The problem is that all footprints are different in terms of hole size (like where the pot shaft is located) and there are usually no center marks. Generating all the center marks on the footprints is tedious and sometimes difficult to do precisely. I am used to AutoCAD which I learned over 20 years ago that had a lot more snapping and dimensioning features. If I needed to have a panel made by someone else I would need to provide them with a dimensioned drawing with all the hole centers, diameters, etc. Is there an easier way to do this in Kicad?


Seeing as nobody else has answered your question and I happened to be on the forum just now, I’ll try and take a stab at it.

What I do is create a copy of a footprint that is centred on the location of its drill hole. I modify this footprint to put a sketch of the drill mark on the Eco1.User layer in the footprint itself.

This way I can plot only the board outline and the Eco1.User layer to a PDF document for printing.

The benefit of having the footprint centred on its drill is that I can modify the co-ordinates of the footprint (in the ‘edit footprint’ dialog IIRC) to match any CAD drawings I’ve already made of a drilling template. It also enables snapping drill holes and components to a wide grid.

This lets me design from PCB to enclosure or start by drilling the enclosure and then design the PCB around it.

Out of interest, are you coming from the DIY pedal or synth-DIY worlds? To clarify for others, jack refers to a PCB mount guitar/headphone jack socket :smiley:

Hello Sonosus - thanks for the reply!

I think I follow the process you are describing, but I am not certain how some things are done in Kicad. For example, how do you create the center mark on the exact center of the circle on the footprint? Is there a way to snap to quadrants in Kicad? Also, it is interesting that you are making modified copies of footprints - Do you keep the originals in your library or just overwrite them?
I design guitar pedals and retrofit boards for existing effects. I may branch out into other areas but I really like the idea of having no wiring to do, thanks to all of the components being board-mounted. This is why I need to be able to lay out a panel based on a PCB layout, and not just a printed paper version but an actual dimensioned drawing. I am working on a project now that requires a 3D printed piece to which my PCB will mount but I do not have a 3D printer so I will need to create a drawing for whoever does the printing.


P.S. - as an interesting aside, the term ‘jack’ for an electrical connector dates back to at least the late19th century:


1 Like

What footprint are you using? I just checked a mounting hole and it was centered at 0/0 for the grid. A small hole added on the graphic layer should suffice.

Just export as .STEP format and send that to that “someone else”.

You can also load that STEP file into FreeCAD, or use the KiCadStepUp workbench in FreeCAD to exchange data between FreeCAD and KiCad.

If you prefer to work with AutoCAD, then you can export DXF, and read that into AutoCAD.
(Pcbnew / File / Plot / Plot format: DXF)

The gest of the story is to keep your drawing in some PC readable vector format.
With a bit of luck conversion of generating paths for a CNC machine is done with a few mouse clicks. Leave the human out of the loop as much as possible, because they are very slow and make lots of errors.

KiCad can also generate drill files with the center locations of all holes. :slight_smile:

Hello @polaris26,

If you are drilling by hand you could always select an empty layer, draw the board outline and then place “alignment targets” where you need to drill (these snap to grid and have cross hair centers). Add a bit of text to each stating the hole size then just print that layer.

@polaris26 Or instead of using the text tool, you could use the tool right between the two that @jmk indicated to put dimensions lines on your documentation layer. I often put things like board outline dimensions and mounting hole dimensions on the fab layer. Other features like shaft centers for potentiometers (or trim caps), centers of LEDs, cutouts for displays, etc. first require me to make sure that feature is accurately drawn in the footprint so I can later draw a dimension line to them using a grid small enough to be within my drilling tolerances.

There are a couple of options - perhaps the most useful is to export either a STEP or IDFv3. Then, load it into FreeCAD (or other CAD/Drawing program) and create a Drawing from it…

Example shows both STEP and IDFv3 loaded into FreeCAD (I offset one and hid the Footprints of the parts, leaving the Holes).

I created a Drawing (using the TechDraw workbench) and turned ON the Arc’s vidibility (to see center-marks) and added some dimensions… it took about 15 seconds to do it…

Thanks everyone for your suggestions. I am trying to work through the various methods of getting where I need to go that you have all suggested.

I think I am frustrated by being ‘spoiled’ from my previous experience with AutoCAD where dimensioning a flat drawing full of holes was trivial - you could click on a circle and the software would let you place X/Y coordinates in a DIM layer based on some 0,0 reference point, and then you could place arrow leaders with the hole diameters. It seems so obvious and easy and intuitive to do that. I am not seeing anything like this in KiCAD and I am not sure why. Maybe V6.0 will fix some of this? I am using V5, not the nightly builds.

For now, Is there a way to have the “Alignment Targets” snap to the exact center of a circle, rather than to the grid? I think the alignment targets will get me where I need to go for now assuming I am printing to paper and hand-drilling, but I would like to be able to generate a 2D layout drawing with X,Y coordinates also (vector file).

Thanks all for your suggestions and your patience!


Hello Black Coffee - I just this morning tried exporting a .step file and I did open it in FreeCAD but it appears as a rendered 3D model moreso than an ortho 2D drawing. I will try exploring this further today as you and others have suggested this path. I still don’t understand why KiCAD doesn’t have this functionality as native!


Follow these FreeCAD steps:

  1. Create a New file
  2. Load your Step file into the New file
  3. Switch View to TOP-View (Generally, you want Top View, i.e., looking down on the PCB from above)
  4. Change the WorkBench to the ‘TechDraw Workbench’ (Add that workbench if not already installed)
  5. Insert a Default Page (First Arrow in image below)
  6. Select the desired Step file item(s) such as the Board…etc
  7. With that item selected, Click the Add View icon (Second Arrow)
  8. Add dimensions as desired (may need to spend time with TechDraw to get warm and fuzzy with it)

AutoCAD is a mechanical CAD. KiCad is an electrical CAD. This is why @maui provided the interface between KiCad and FreeCad. At some point the developers in KiCad have to draw the line on what they can/should provide. But making the footprints you require should be simple enough. It is just a small graphic in the center of the pad on a dedicated layer.

1 Like

I think the lines of distinction between electronic and mechanical CAD were breached a long time ago. We have to worry about 3D models, footprints, etc. even from the schematic stage, and before the PCB is even laid out.

When it isn’t obvious how to snap to the center of a circle (something that feels very basic to do) that’s a frustration for me. Also, I feel that the design constraints of an open-source software are best determined by the requirements of its intended users. If there is a common need to match the PCB design to a mechanical drawing for making a corresponding control panel or enclosure, then it should be trivial to do so within the software package itself. It’s great that people have found work-arounds that work for them, but I would think this indicates that the demand exists for the feature to be included in Kicad proper. I’m not a software designer so I might be off base, but it feels like this functionality would not be difficult to add at this stage of development. Then again, maybe it’s already in the works for version 6? As I say I am still new to Kicad and have a lot to learn.

In any case, I do appreciate all of your input and I will continue to try working with the various solutions set forth to see what works best in my applications.


And conversely, I suppose: AutoCAD should include software to design a PCB? :slightly_smiling_face:

Change your grid or origin to match the centre.

This guide is from the FAQ in blue at the top of this page.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.