- Posts: 19
- Thank you received: 8
Efficient Code for Repetitive Arcs Centered on 21 Holes?
- Scrappy_000
- Offline
- New Member
-
Less
More
6 years 1 week ago - 6 years 1 week ago #186997
by Scrappy_000
Efficient Code for Repetitive Arcs Centered on 21 Holes? was created by Scrappy_000
Y'all,
First, some background on who I am which might help lead to an answer, whether it falls along the lines of "This is easy..." or "This is too advanced for your current skill set." I'm a hobbyist who has been regularly but infrequently using LinuxCNC for about four years now, and so far I've hand-coded everything because what I've needed to make has been rather simple (e.g. a basic carburetor spacer), so I haven't had a real need to learn CAD/CAM (what I want to make is another subject altogether). I probably don't know enough at this point to ask the right question(s) and/or this might not be the right sub-forum (as in it should be in "O Codes (subroutines) and NGCGUI"), but here goes...
My current need is to fabricate two flanges with 21 fastener holes between them, with each hole being surrounded by an o-ring groove. Due to the constraints of the existing parts I must to work with, the wall between the o-ring groove and fastener hole is going to be only about 0.050" wide, so getting everything concentric is a must.
I know I can fat-finger it (and risk errors) or make a spreadsheet that will spit out the necessary G02/G03, but is there a simple method to do something that basically says "Go to X 2.374 Y 0.125. Now think X 2.374 Y 0.125 is X 0 Y 0. Do this G02. Now this X 0 Y 0 is X 2.374 Y 0.125 again. Go to the next X/Y and do the same thing."?
Even if this would require too much time learning/implementing for something I really need to get done quickly, it's probably something I would like to learn in the future (i.e. to spit out a set of repetitive parts from one piece of material).
Thanks in advance,
Scrappy
First, some background on who I am which might help lead to an answer, whether it falls along the lines of "This is easy..." or "This is too advanced for your current skill set." I'm a hobbyist who has been regularly but infrequently using LinuxCNC for about four years now, and so far I've hand-coded everything because what I've needed to make has been rather simple (e.g. a basic carburetor spacer), so I haven't had a real need to learn CAD/CAM (what I want to make is another subject altogether). I probably don't know enough at this point to ask the right question(s) and/or this might not be the right sub-forum (as in it should be in "O Codes (subroutines) and NGCGUI"), but here goes...
My current need is to fabricate two flanges with 21 fastener holes between them, with each hole being surrounded by an o-ring groove. Due to the constraints of the existing parts I must to work with, the wall between the o-ring groove and fastener hole is going to be only about 0.050" wide, so getting everything concentric is a must.
I know I can fat-finger it (and risk errors) or make a spreadsheet that will spit out the necessary G02/G03, but is there a simple method to do something that basically says "Go to X 2.374 Y 0.125. Now think X 2.374 Y 0.125 is X 0 Y 0. Do this G02. Now this X 0 Y 0 is X 2.374 Y 0.125 again. Go to the next X/Y and do the same thing."?
Even if this would require too much time learning/implementing for something I really need to get done quickly, it's probably something I would like to learn in the future (i.e. to spit out a set of repetitive parts from one piece of material).
Thanks in advance,
Scrappy
Last edit: 6 years 1 week ago by Scrappy_000. Reason: redundant words, poor flow on a couple of sentences
Please Log in or Create an account to join the conversation.
- MaHa
- Offline
- Platinum Member
-
Less
More
- Posts: 542
- Thank you received: 241
6 years 1 week ago #187005
by MaHa
Replied by MaHa on topic Efficient Code for Repetitive Arcs Centered on 21 Holes?
The following user(s) said Thank You: Scrappy_000
Please Log in or Create an account to join the conversation.
- Scrappy_000
- Offline
- New Member
-
Less
More
- Posts: 19
- Thank you received: 8
6 years 1 week ago #187012
by Scrappy_000
Replied by Scrappy_000 on topic Efficient Code for Repetitive Arcs Centered on 21 Holes?
Thanks, MaHa. That doesn't look as if that's what I'm after. To put it another way, I'm looking to take a given G02/G03 and repetitively use it on multiple center points, without changing anything about the G02/G03 other than the point it's centered on.
Please Log in or Create an account to join the conversation.
- MalteS
- Offline
- Junior Member
-
Less
More
- Posts: 33
- Thank you received: 11
6 years 1 week ago - 6 years 1 week ago #187014
by MalteS
Replied by MalteS on topic Efficient Code for Repetitive Arcs Centered on 21 Holes?
This is how I'd do it
Move to x / y
Use G10 L20 P1 X0 y0 to set new 0 Point
Execute your code
Repeat
See linuxcnc.org/docs/html/gcode/g-code.html#gcode:g10-l20
Malte
Move to x / y
Use G10 L20 P1 X0 y0 to set new 0 Point
Execute your code
Repeat
See linuxcnc.org/docs/html/gcode/g-code.html#gcode:g10-l20
Malte
Last edit: 6 years 1 week ago by MalteS.
The following user(s) said Thank You: Scrappy_000
Please Log in or Create an account to join the conversation.
- Scrappy_000
- Offline
- New Member
-
Less
More
- Posts: 19
- Thank you received: 8
6 years 1 week ago #187020
by Scrappy_000
Replied by Scrappy_000 on topic Efficient Code for Repetitive Arcs Centered on 21 Holes?
Thanks, MalteS. That looks as if it might do the trick!
Please Log in or Create an account to join the conversation.
- Aciera
- Offline
- Administrator
-
Less
More
- Posts: 4819
- Thank you received: 2177
6 years 1 week ago #187080
by Aciera
Replied by Aciera on topic Efficient Code for Repetitive Arcs Centered on 21 Holes?
That is definitely something you could use a subroutine for.
Here is a well explained example:
github.com/araisrobo/linuxcnc/blob/maste...eful-subroutines.ngc
Here is a well explained example:
github.com/araisrobo/linuxcnc/blob/maste...eful-subroutines.ngc
The following user(s) said Thank You: Scrappy_000
Please Log in or Create an account to join the conversation.
Time to create page: 2.822 seconds