Drill file translation problem for engraving machine

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. ?

DRILL 2

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.

DECIMAL FORMAT DOES NOT SUPPORT

SAME OUTPUT FOR BOTH INCH AND MILLIMETERS BUT ERROR WITH DECIMAL FORMAT AS ABOVE

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?