Drill an array of holes with an endmill

Here's the place for discussion related to CAM/CNC and the development of the Path module.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
Post Reply
mclane
Posts: 8
Joined: Wed Feb 12, 2020 5:19 pm

Drill an array of holes with an endmill

Post by mclane »

Hello,
I would like to equip the baseplate of my diy cnc with an array of srew-in nuts in order to be able to clamp down parts to be machined. Therefore, I have created a model of my baseplate with an array of 6x7 holes with 10 mm diameter each.
Bildschirmfoto vom 2020-02-12 18-36-28.png
Bildschirmfoto vom 2020-02-12 18-36-28.png (139.18 KiB) Viewed 1433 times
I have successfully test-milled a single hole using the adaptive/profiling path. Since the gcode for one hole is already about 5000 lines long (I am using grbl 1.1f; --translate_drill) I want to create several jobs, each containing one line of holes (7 holes). So I have added the respective surfaces to the base geometry list (see attached screenshot). However, this creates gcode which mills all holes in parallel; surface after surface. Is there a possibility to change the milling strategy so that I can mill hole after hole?

My Freecad installation:

Code: Select all

OS: Ubuntu 18.04.4 LTS (ubuntu:GNOME/ubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19541 (Git) AppImage
Build type: Release
Branch: master
Hash: a797a4172709b82c6cd08dcf6df86cb789aaa3ce
Python version: 3.8.1
Qt version: 5.12.5
Coin version: 4.0.0
OCC version: 7.4.0
Locale: German/Germany (de_DE)
Thanks for any hint! I really appreciate the work behind this very powerful piece of software!
chrisb
Veteran
Posts: 54201
Joined: Tue Mar 17, 2015 9:14 am

Re: Drill an array of holes with an endmill

Post by chrisb »

I don't think, that adaptive can do this yet. But may I ask why you use adaptive after all? Is there really much to gain?
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
chrisb
Veteran
Posts: 54201
Joined: Tue Mar 17, 2015 9:14 am

Re: Drill an array of holes with an endmill

Post by chrisb »

If you use a path array instead of adding all pockets to the same adaptive operation you will get all pockets milled individually instead of milling layer by layer for all pockets.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
memfis
Posts: 589
Joined: Tue Nov 15, 2016 7:58 pm

Re: Drill an array of holes with an endmill

Post by memfis »

If the goal is to make hundreds of holes, as with my machine with a field of 3050*1030 mm, then to allocate in FC each hole - you can die.
To solve the problem, there are reasonable ways in g-code - firstly, the use of loops and subroutines, and secondly, the displacement codes of coordinates.
The number of lines in the program is then reduced to tens, hundreds regardless of the number of holes. And it makes sense to learn to do it yourself, not trusting blindly FC (as any other program). Not to mention that creating a volume model for such primitive works and making programs in it is not quite an effective waste of time.

At me, with use LinuxCNC (under Windows with their regular screens of death of different colours all the same it is very risky to work, because Linux, because LinuxCNC), there is a subprogram of milling of a line of a circle O1, it is caused by the necessary number of times the subprogram of milling of a circle, and it is called in the necessary place it is necessary number of times simply with instructions of the center coordinate and depth. The call line is approximately so, on each hole -
o<otvp> call [30] [34] [99] [40] [6]
30 - depth
34 - X coordinate
99 - Y coordinate
40 - hole diameter
6 - cutter diameter

http://www.cnc-club.ru/forum/viewtopic. ... sub#p11977

I think it is also better for you to do such work simply in a text editor taking into account how your machine control program processes g-code
mclane
Posts: 8
Joined: Wed Feb 12, 2020 5:19 pm

Re: Drill an array of holes with an endmill

Post by mclane »

Thanks for all the answers. I will first try the proposal of chrisb (path array). Since grbl does support only a minimal subset of gcode, loops and subroutines are not possible for me.
m0n5t3r
Posts: 138
Joined: Fri Feb 03, 2017 2:55 pm

Re: Drill an array of holes with an endmill

Post by m0n5t3r »

um, what's wrong with helix? I have a GRBL-based machine and use helixes all the time - it uses arcs, which are supported by grbl, and it results in a reasonable number of commands; this is a 8mm diameter, 14mm deep hole from a file I made in 2017, so most likely freecad 0.18 at the time:

Code: Select all

(helix_cut <10.0, 10.0>, 4.0, 0.0, 3.0, -2.0, -14.0, 1.0, 10.0, 6.0, 2.0, 10.0, CW, inside)
(single helix mode)
(radius 1.0)
G0 X11.0000 Y10.0000
G0 Z4.0000
G1 Z-2.0000 F120.00
G2 X9.0000 Y10.0000 Z-2.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-3.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-3.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-4.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-4.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-5.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-5.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-6.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-6.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-7.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-7.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-8.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-8.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-9.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-9.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-10.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-10.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-11.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-11.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-12.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-12.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-13.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-13.5000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-14.0000 I1.0000 J0.0000 F600.00
G2 X9.0000 Y10.0000 Z-14.0000 I-1.0000 J0.0000 F600.00
G2 X11.0000 Y10.0000 Z-14.0000 I1.0000 J0.0000 F600.00
G1 Z4.0000 F120.00
G0 Z10.0000
assuming you're drilling into metal the step-down will probably be about 10 times smaller, but still nowhere near 5k operations
User avatar
Wsk8
Posts: 182
Joined: Fri Dec 07, 2018 6:24 pm

Re: Drill an array of holes with an endmill

Post by Wsk8 »

By default FC interpolates arcs with G1 segments in adaptive. I have added the option to use real arcs, but it's "hidden" in tree settings, since no one added it to the GUI.
https://forum.freecadweb.org/viewtopic. ... 55#p303155

mfg
m0n5t3r
Posts: 138
Joined: Fri Feb 03, 2017 2:55 pm

Re: Drill an array of holes with an endmill

Post by m0n5t3r »

Wsk8 wrote: Fri Feb 14, 2020 10:13 am By default FC interpolates arcs with G1 segments in adaptive. I have added the option to use real arcs, but it's "hidden" in tree settings, since no one added it to the GUI.
https://forum.freecadweb.org/viewtopic. ... 55#p303155

mfg
good to know, but in this case (array of holes) helix is still the easier solution (if you click "reset" in the base geometry section it will add all holes to the list, so less clickety-clicking around :) )
Post Reply