I have a issue with reading the drill file in my engraving machine. It shows me all pins laps on together. If i only manually add 000 at the end of x,y cordinates this issue got fixed. But for a large pcb this took soo much of my time. Can anyone help me with that please? Is there any option in kicad to fix this?

You are talking from Excellon drill file not pick and place component position (?) what is something totally diffrent. Can you post a (small) sample file how it is and how it should be ? (Rene thx for splitting the topic) As a workaround you can check any editor with regular expression (regex) search & replace capability what will do such changes in one push

Dear Janvi, here is the engrave img shown in the generated dril file.

T1

X65608Y27178

X73228Y27178

X65608Y52578

X73228Y52578

For the above format it shows as attached image but only if we add 3 zeros manually i can fix this

T1

X65608000Y27178000

X73228000Y27178000

X65608000Y52578000

X73228000Y52578000

can i get this fixed some how without updating this manually. ?

Here is the img after adding 3 zeros ‘000’ for x and y coordinates manually as mention above.

What tool are you using to generate the commands for your engraving machine? (And which version of it?)

The fragment you posted doesn’t look like the drill files I get. What options are you using when generating the drill files? Or are you using a different tool?

For example, here is the start of a drill file from one of my projects:

```
M48
; DRILL file {KiCad 5.1.5-5.1.5} date Sun 29 Dec 2019 19:55:16 AEDT
; FORMAT={-:-/ absolute / inch / decimal}
; #@! TF.CreationDate,2019-12-29T19:55:16+11:00
; #@! TF.GenerationSoftware,Kicad,Pcbnew,5.1.5-5.1.5
; #@! TF.FileFunction,Plated,1,2,PTH
FMAT,2
INCH
T1C0.0157
T2C0.0276
T3C0.0315
T4C0.0394
T5C0.0433
T6C0.1378
%
G90
G05
T1
X4.275Y-1.9496
T2
X2.8Y-0.3
X2.8Y-1.5
X2.9Y-0.3
X2.9Y-1.5
X3.0Y-0.3
...
```

Note that the X and Y are much smaller, they are in fact the location of the IC pins, hence the difference of 0.1 inch between adjacent pairs.

The need for 000 seems to point to some 1000x discrepancy between units generated and units expected, say mm vs µm.

Better post the whole file if you can or at least start at the beginning.

I’m using denford pcb engraver machine with their given software.

“The need for 000 seems to point to some 1000x discrepancy between units generated and units expected, say mm vs µm.”

Exactly this is the issue, but how could i turn this µm to mm?

I here attched the gerber file for your referance. In my previous msg I only included the part which i have to modify,

M48

; DRILL file {KiCad (5.1.2)-1} date 17/02/2020 1:12:08 PM

; FORMAT={3:3/ absolute / metric / suppress leading zeros}

; #@! TF.CreationDate,2020-02-17T13:12:08+05:30

; #@! TF.GenerationSoftware,Kicad,Pcbnew,(5.1.2)-1

FMAT,2

METRIC,TZ

T1C0.700

T2C0.800

T3C0.900

T4C1.000

T5C1.100

T6C1.520

T7C2.000

%

G90

G05

T1

X77038Y58166

X77038Y50546

X65608Y27178

X73228Y27178

X48209Y38735

X55829Y38735

X65608Y52578

X73228Y52578

X48209Y64516

X55829Y64516

X77038Y33020

X77038Y25400

X48209Y22225

X55829Y22225

X65608Y67056

X73228Y67056

X66370Y42164

X73990Y42164

X47574Y47498

X55194Y47498

X44856Y29896

X44856Y22276

X45034Y55245

X45034Y47625

T2

X41224Y32385

X41224Y29845

X41224Y27305

X48209Y60325

X48209Y57785

X48209Y55245

X48209Y52705

X55829Y60325

X55829Y57785

X55829Y55245

X55829Y52705

X60909Y55245

X60909Y52705

X60909Y50165

X60909Y29845

X60909Y27305

X60909Y24765

X48209Y34925

X48209Y32385

X48209Y29845

X48209Y27305

X55829Y34925

X55829Y32385

X55829Y29845

X55829Y27305

X41224Y57785

X41224Y55245

X41224Y52705

X65608Y37973

X65608Y35433

X65608Y32893

X65608Y30353

X73228Y37973

X73228Y35433

X73228Y32893

X73228Y30353

X24968Y73660

X24968Y71120

X24968Y68580

X24968Y66040

X32588Y73660

X32588Y71120

X32588Y68580

X32588Y66040

X88341Y36576

X88341Y34036

X88341Y31496

X88341Y28956

X95961Y36576

X95961Y34036

X95961Y31496

X95961Y28956

X65608Y63373

X65608Y60833

X65608Y58293

X65608Y55753

X73228Y63373

X73228Y60833

X73228Y58293

X73228Y55753

X88341Y50038

X88341Y47498

X88341Y44958

X88341Y42418

X95961Y50038

X95961Y47498

X95961Y44958

X95961Y42418

X24968Y37592

X24968Y35052

X24968Y32512

X24968Y29972

X32588Y37592

X32588Y35052

X32588Y32512

X32588Y29972

T3

X76403Y14351

X76403Y11811

T4

X12014Y53340

X12014Y19304

X14300Y55880

X14300Y21844

X14300Y16764

X14300Y4826

X15570Y60198

X16332Y46990

X16586Y14224

X17856Y62738

X18872Y50800

X18872Y16764

X21666Y39624

X21666Y32512

X24206Y41656

X24714Y62738

X24968Y25400

X26492Y60198

X27254Y21844

X27254Y7366

X29540Y41656

X29794Y19304

X29794Y9652

X30302Y61976

X32334Y16764

X32334Y5588

X32588Y48006

X33858Y25400

X41224Y48006

X41986Y61976

X79578Y46609

X79578Y29464

X82118Y48514

X82118Y32004

X85420Y66040

X85420Y24892

X87706Y20828

X87706Y15748

X87960Y68326

X87960Y63500

X96342Y63246

X96342Y20828

X96342Y15494

X104724Y63246

X90881Y20828

X90881Y18288

X90881Y15748

X90881Y13208

X90881Y10668

X93421Y20828

X93421Y18288

X93421Y15748

X93421Y13208

X93421Y10668

X21666Y55880

X21666Y53340

X21666Y50800

X21666Y48260

X21666Y45720

X24206Y55880

X24206Y53340

X24206Y50800

X24206Y48260

X24206Y45720

X21666Y21844

X21666Y19304

X21666Y16764

X21666Y14224

X21666Y11684

X24206Y21844

X24206Y19304

X24206Y16764

X24206Y14224

X24206Y11684

X90881Y68453

X90881Y65913

X90881Y63373

X90881Y60833

X90881Y58293

X93421Y68453

X93421Y65913

X93421Y63373

X93421Y60833

X93421Y58293

T5

X65608Y17526

X68148Y17526

X70688Y17526

T6

X51130Y9144

X56210Y9144

T7

X3632Y73660

X3632Y5080

X105740Y73406

X105740Y5334

T0

M30

Does the software give you any guidance what settings you should use for the two radio buttons selections on the generate drill file popup?

Drill units (millimeters/inches)

Zeros format (decimal/suppress leading zeros/suppress trailing zeros/keep zeros)

You seem to have selected millimetres and suppress leading zeros. Is that what they want? What do you get if you select keep zeros? Or perhaps decimal?

See https://www.artwork.com/gerber/drl2laser/excellon/index.htm

To me, this configuration:

produces this kind of files:

I noticed that default is “Decimal format” and in your case it is “suppress leading zeros”, maybe you could try with other options.

FWIW, the file you are working with is NOT a gerber file. It is an Excellon drill file. Yes, it is submitted along side the gerber files when sending files to a board house. This thread seems to have realized your terminology error, but in the future when communicating with others you can help reduce some initial confusion if you use the correct terminology.

That said, I agree with @der.ule, you should try playing with the different “Zeros Format” settings to see if one works. Otherwise you may need to come up with an external custom script to manually convert the Excellon (industry standard format) to a format that your unique engraver software can understand.

Or… Check your engraver software to see if you can tell it that you are giving it an Excellon (specifically that name) file instead of some other file format.

If I understand the original post correctly, he is getting a “weird” drill file (maybe in um) from KiCAD not from his engraver, what his engraver is doing is helping him to visualize the files and showing all those drill holes on top of each other. I still suggest to try different combination to get the proper output and maybe share a screenshot of his current options.

Yes. I have tried all the above methods, but only thing work is adding 3 zeros.

And this Denford PCB Engraviour is working nicely for .drl files generates from Dip Trace, Altium, Circuit studio and so on… So only issue is the file generated from KiCad. Below is a file generated from Dip Trace and this works fine for my machine.

M48

INCH

T01C0.0354

T02C0.0394

T03C0.0433

T04C0.0512

T05C0.1378

%

T01

X+012248Y+023507

X+012248Y+021507

X+012256Y+019144

X+012256Y+017144

X+008319Y+017144

X+008319Y+019144

X+008311Y+021507

X+008311Y+023507

X+021744Y+025711

X+022744Y+025711

X+022913Y+022593

X+024913Y+022593

X+024913Y+018459

X+022913Y+018459

X+022913Y+014325

X+024913Y+014325

X+024913Y+010192

X+022913Y+010192

T02

X+015827Y+029176

X+015827Y+028176

X+016827Y+028176

X+016827Y+029176

X+017827Y+029176

X+017827Y+028176

X+018827Y+028176

X+018827Y+029176

X+019827Y+029176

X+019827Y+028176

T03

X+017520Y+004199

X+019520Y+004199

X+019539Y+006928

X+017539Y+006928

X+017539Y+009928

X+019539Y+009928

X+013654Y+009928

X+011654Y+009928

X+011654Y+006928

X+013654Y+006928

X+013583Y+004168

X+011583Y+004168

X+004110Y+007298

X+004110Y+009298

X+004110Y+011298

X+004110Y+013298

X+004122Y+017479

X+004122Y+019479

X+004122Y+021479

X+004122Y+023479

X+028122Y+023601

X+028122Y+025601

X+028122Y+019664

X+028122Y+017664

X+028122Y+013727

X+028122Y+011727

X+028122Y+007790

X+028122Y+005790

T04

X+011720Y+029070

X+010220Y+029070

X+006894Y+029030

X+005394Y+029030

X+024177Y+029070

X+025677Y+029070

T05

X+030118Y+001959

X+017461Y+017511

X+030118Y+029377

X+001941Y+028420

X+001941Y+001959

T00

M30

Have you tried exporting your Excellon files with inches instead of millimeters? (See the Drill Units section of the “Generate Drill Files” window.)

And those X and Y values appear to be “Keep zeros”. Try those two settings together.

So, your Excellon file is in Inches.

Select Inches in dialog window and Keep zeros, i.e. no zeroes suppression (leading and trailing).

No. Tried both inches and millimeters… But there is no difference.

You might want to ask the customer support of your tool. Excelon is a quasi standard and if they claim they can read it then there must be a settings combination that works. Is it possible they have some bug and you search on the wrong end?