Keyboard Shortcuts
Likes
Search
shorting traces - How I messed up & a question about spot-drill-holes
#eagle
#etch
You may remember a struggle I was having with some traces shorting out.? As it turns out, I had converted a library file for a 28 pin DIP from having little round pads to the elongated type which I find easier to solder.? And of course somehow when I loaded it, Eagle thought it still had the smaller pads and although the traces cleared them, some of them ran right through the pads.
I'm not sure how, but this doesn't seem to happen anymore and I can pretty much etch a board without any manual trace adjustments. I am puzzled by another effect I'm getting. I like to spot drill pads and set the spot-drill depth to .011, but they get spot-drilled to .075 which is where I have the drill depth set. What am I missing here. john |
Hey John,
I had experienced your issue as well, and I cruised through the code and I managed to find out how to fix the error.. I adjusted the code as follows The issue is a flag reset in spot drill. the first one comes out fine, but then the rest are drilled to fill drill depth. ?
In pcb-gcode.ulp you will find this sequence:
// ? if (SPOT_DRILL == YES) {
??? if (m_first_spot_drill) { ????? output_drill_first_hole(drill_ ???? // m_first_spot_drill = NO; ??? } ??? else { ????? output_drill_hole(drill_x, drill_y, SPOT_DRILL_DEPTH); ??? } ? } /// ?
The underlined line is the culprit. it spot drills one time, then spot drill is set to NO, so it doesn't do it anymore. I got the correct behaviour by commenting out that line. All the drill files are to the correct level. It works as it should on my machine - running on the GRBL config. Hope this helps! Joel |
开云体育I cannot thank you enough for this.? I do a lot of boards and having to remember to fix the incorrect spot-drill depth was a real pain. best regards, john On 1/31/19 6:27 PM,
klassen.jj@... wrote:
Hey John, |
No problem, I am normally not all that great at troubleshooting this sort of thing, but this worked out.
I found a program which searches for a text string across an entire directory and subfolders, so I just found the keyword I needed, then look at all the code around it in each file. It really helped me spot it. Joel |
Hi,
Not trying to pour cold water on your findings, but I've never had a problem with spot drilling!!? I did a check of my code in the area you modified and it appears to be exactly the same as the one that misbehaves - see below (cut and paste) :- if (SPOT_DRILL == YES) { if (m_first_spot_drill) { output_drill_first_hole(drill_x, drill_y, SPOT_DRILL_DEPTH); m_first_spot_drill = NO; } else { output_drill_hole(drill_x, drill_y, SPOT_DRILL_DEPTH); } }Something else must surely be going on elsewhere in the programme to change the SPOT_DRILL_DEPTH ? To my inexperienced eye the original code seems to be entirely logical. Peter |
开云体育This would mean that I've selected something in the pcbgcode options which does this or it is being forced by something in Eagle.? I'm going to look at one of the older eagles to see if it does it.
john On 2/1/19 4:30 AM, peterg1000 via
Groups.Io wrote:
Hi, |
开云体育just to be sure. You are using the spot drill mode to prick each hole at say .011 and subsequently drilling them out at .07 +/- ?? I wonder if problem might be how the pads are coded in my Eagle files> strange.. john On 2/1/19 10:08 AM, peterg1000 via
Groups.Io wrote:
I've used most Eagle revisions from 7.7 to 9.2 with equal success w.r.t .pcbgcode if that's any help to you. |
All the spot drills are done with the same tool as is used for the track milling - I've used both 0.1 and 0.2mm? tools for this.?? The drill file is completely separate and calls for drills as required by the component definitions in Eagle.?
Spot drill code is part of the main "etching" GCODE file - this is run as received from pcgcode, no editing required whatsoever. The drill info is in a separate file and contains all the necessary spindle stops and starts to allow for tool changes and setting the Z axis zero using a touch probe. Drill depth is set for about 1.7mm when using 1.5mm FR4 boards. I manually "adjust" this for larger drills (up to 3mm) to allow for the 120 degree drill point, but no other changes are made. Peter |
开云体育Peter, It's a mystery to me. that is exactly what I'm doing.? I'm using the "tries to e compatible g-code profile" I etch first and the spot drill follows the etch as part of its code. . then I run the drill g-code, then the mill (cut-out). I check spot-drill homes on first page of pcbgcode setup and (using imperial) set the depth to -.011 on second page of setup I set "drill depth" to -.075. And then what I get is the spot drill holes all -.075. ???? john
On 2/1/19 4:13 PM, peterg1000 via
Groups.Io wrote:
All the spot drills are done with the same tool as is used for the track milling - I've used both 0.1 and 0.2mm? tools for this.?? The drill file is completely separate and calls for drills as required by the component definitions in Eagle.? |
Truth be told, I spot drilled alright with a previous version of pcbgcode SOMETIMES but sometimes things would go horribly wrong, so I deactivated spot drilling in the past. but I re-setup my CNC and updated to the latest version and I came across this issue.
So I was curious, so I looked through all the files for every instance of 'SPOT_DRILL_DEPTH" to see where all it is defined and how it is used. Fig 1 is just my search params in AstroGrep which yielded 2 ULP files and several settings files Fig 2 shows the usage in the pcb-gcode-setup.ulp file, -line 160 converts the user entered SPOT_DRILL_DEPTH in to the correct units for the machine, -line 349 writes SPOT_DRILL_DEPTH with a name to a document somewhere, I assume the settings file -line 589 creates the entry field for the GUI of the setup so the mix-up can't happen in this file, which makes sense, because the settings file says the correct SPOT_DRILL_DEPTH value when inspected, so it must occur during the pcb-gcode.ulp file Fig 3 shows the usage of 'SPOT_DRILL_DEPTH' in pcb-gcode.ulp ?? and searching for all instances of 'depth' or 'drill' bring me no luck... Really, I don't know why my hack worked... perhaps I just pretend I am doing the first? spot drill every time because there is no difference in the routine (except it works for me?) and skipping the 'not first spot drill' section of the code... but yeah.. it doesn't make sense that it puts the wrong depth in. I have no idea where it comes from. Why there is a special case for the first spot drill, I do not know. Good luck, I am glad you have success! |
Hi Peter, my name is Jim, and I reading your post about spot drill holes. The word in your article "pcgcode"
should read? pcbgcode ? Sorry about if i'm wrong, but my etching gcode file not placeing spot drill holes. Try to find answares? all ove the net to my problem, no luck. It also doesn't generate drill and mill files. It shows this error "Improperly formatted rack entry" .? I had to reinstall windows10 ever since this problem showed up. Before had no problem at all useing Eagle 7.0.6 and Pcb-gcode 3.6.2.4 try to use different drillrack files, but reading your posting this shouldn't be my problem. Sorry to bother you all of this, but I'm trying to find solution for this problem. Any help or idea would be appreciated. Best regards.? |
I'm contributing to a discussion thread that's been dormant for almost a couple of years, so I'll start off by summarising the problem.
Some folks find that pcb-gcode doesn't spot drill on the etch layer to the required depth.? Instead, the bit gets driven in to the drilling depth, not what you would expect.? One fix that has been suggested is to alter the code in pcb-gcode.ulp so that every spot is treated as the first of a series.? The fix works, but it explains nothing. My fix is this:? Go to the tab GCode Options in the pcb-gcode-setup screen, and add a check to "Use simple drill code".? That's all you need do. You only need to read on if you have an overwhelming desire to know why there's a problem when "Use simple drill code" is unchecked. In source/pcb-file-utils.h, the macro 'output_drill_first_hole' uses the specified SPOT_DRILL_DEPTH parameter correctly.? No problem. But the macro 'output_drill_hole' is used for all subsequent spots.? This goes about it in a different way, and it calls another macro 'DRILL_HOLE'.? That's defined in settings/gcode-defaults.h using the value DRILL_DEPTH unconditionally.? The SPOT_DRILL_DEPTH parameter is lost or ignored in this process. |