Re: [Emc-developers] G71 and friends

2020-03-18 Thread andy pugh
On Sat, 15 Feb 2020 at 10:03,  wrote:
>
> As far as I'm concerned it's finished. I have added one more feature
> which uses U and W for incremental coordinates. That's not documented yet.

Could you take a look at this?

https://github.com/LinuxCNC/linuxcnc/issues/699


-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-02-15 Thread mark . vandoesburg
As far as I'm concerned it's finished. I have added one more feature
which uses U and W for incremental coordinates. That's not documented yet.

I'll create a pull request tomorrow.

andy pugh  wrote:

On Thu, 9 Jan 2020 at 21:41,  wrote:

>
> I've added the documentation for the cycles. Apart from the inevitable
> bugfixes I'm done for now.
>
> I have been trying (and failing) to find the time to look at this.
What's the current status? Is there a mergeable pull request?


-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is designed
for the especial use of mechanical geniuses, daredevils and lunatics."
??? George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-02-14 Thread andy pugh
On Thu, 9 Jan 2020 at 21:41,  wrote:

>
> I've added the documentation for the cycles. Apart from the inevitable
> bugfixes I'm done for now.
>
> I have been trying (and failing) to find the time to look at this.
What's the current status? Is there a mergeable pull request?


-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is designed
for the especial use of mechanical geniuses, daredevils and lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912

___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-11 Thread John
I'm the same on my Hardinge CHNC 99% of the ops are done with ngcgui 
subroutines... one of these days I'll update the Ubuntu 10.04 to Debian 
10 and install my QtPyVCP GUI.


JT

On 1/8/20 7:02 PM, andy pugh wrote:

On Thu, 9 Jan 2020 at 00:53, Ben Potter  wrote:


I used to feel the same way, but I now use G71 for lathe work a lot more than I 
use CAM.

Typically I don't even use G71. I have my own GUI with turn / face /
bore / thread tabs and build parts op-by-op. I only ever make one of
anything typically, so this is like working a manual lathe (which I
enjoy) with super power feeds that know where to stop and then return
for the next pass.




___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-09 Thread mark . vandoesburg
andy pugh  wrote:

Typically I don't even use G71. I have my own GUI with turn / face /
bore / thread tabs and build parts op-by-op. I only ever make one of
anything typically, so this is like working a manual lathe (which I
enjoy) with super power feeds that know where to stop and then return
for the next pass.

That's what I did until now. But it really felt like I wasn't using the
machine as I should. And adding chamfers was a chore ;-)

I've added the documentation for the cycles. Apart from the inevitable
bugfixes I'm done for now.

regards,

Mark.


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-08 Thread andy pugh
On Thu, 9 Jan 2020 at 00:53, Ben Potter  wrote:

> I used to feel the same way, but I now use G71 for lathe work a lot more than 
> I use CAM.

Typically I don't even use G71. I have my own GUI with turn / face /
bore / thread tabs and build parts op-by-op. I only ever make one of
anything typically, so this is like working a manual lathe (which I
enjoy) with super power feeds that know where to stop and then return
for the next pass.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-08 Thread Ben Potter
> From: andy pugh
> Sent: 07 January 2020 13:46
> To: mark.vandoesb...@hetnet.nl
> Cc: EMC developers 
> Subject: Re: [Emc-developers] G71 and friends
> 
> On Mon, 6 Jan 2020 at 20:42,  wrote:
> 
> > Why do it that way rather than specify a curve or line in the
> > sub that defines the fillet / chamfer?
> >
> > I don't have CAM software,
> 
> Well, I can't imagine using G71 if you did have CAM software.
> (Fusion360 is partly why I lost the incentive to convert my G71 remap to
> native code) But a chamfer is easy to hand-code, and R-format arcs are
> simple too.
> I think that the objection to R-format falls down in lathe code where they are
> typically exactly 90 degrees.
>

I used to feel the same way, but I now use G71 for lathe work a lot more than I 
use CAM.

For prototype work it isn't worth the time for me to mess around with 
transferring programs on a floppy! The only time I'll use CAM on the lathe is 
if I've got multiple backfacing ops. 

One of the reasons I abandoned my G71 code was that my linuxcnc lathe had a 
major control failure, I was offered a Haas TL-1 shortly afterwards at a price 
I couldn't refuse.
Since picking that up I've gotten far more used to entering programs on the 
control, with linuxcnc I always wrote the program on the computer and 
transferred when ready to run. 

I still use linuxcnc on the Bridgeport and the router, but don't have time to 
keep up with development any more.

Best Wishes
Ben

> 
> --
> atp
> "A motorcycle is a bicycle with a pandemonium attachment and is designed
> for the especial use of mechanical geniuses, daredevils and lunatics."
> — George Fitch, Atlanta Constitution Newspaper, 1912
> 
> 
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers



___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-07 Thread andy pugh
On Mon, 6 Jan 2020 at 20:42,  wrote:

> Why do it that way rather than specify a curve or line in the
> sub that defines the fillet / chamfer?
>
> I don't have CAM software,

Well, I can't imagine using G71 if you did have CAM software.
(Fusion360 is partly why I lost the incentive to convert my G71 remap
to native code)
But a chamfer is easy to hand-code, and R-format arcs are simple too.
I think that the objection to R-format falls down in lathe code where
they are typically exactly 90 degrees.


-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-06 Thread mark . vandoesburg
I think that this seems unnecessary and means that you can't simply
run the sub as-is for a finish pass.

That's true, but you can do the finish pass with G70. If you do G70 Q100
it does the call with the chamfers and fillets.

Why do it that way rather than specify a curve or line in the
sub that defines the fillet / chamfer?

I don't have CAM software, yes I have FreeCAD but there's no lathe
functionality worth mentioning. So what I do is edit the g-code by
hand to generate the profile, if you do that adding a fillet is a lot
of work.  Which is also the reason why it is important for me to be able
to use variables/equations etc in the subroutines.

But anyway, it's not something you have to use, if you do these things in
the profile you don't use A and C and you can use CALL for finishing. If
you have a lathe with an A or C axis I don't think it is usefull to use
a subroutine using those axes with G71.

regards,

Mark.


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-06 Thread andy pugh
On Fri, 3 Jan 2020 at 19:45,  wrote:

> Unfortunately I use different letters for almost everything :-(

My remap is built on top of a previous but unfinished experimental branch:
https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71

I really want us to stop re-doing this. There have been several
attempts made, and none committed.

My Type-2 version was done in Python mainly because I thought of what
I believed to be a neat algorithm one night, and wanted to try it out.
I consider my only real contribution useful to LinuxCNC to be the manual pages.

> I've taken the Fanuc Series 0/00/0-Mate for Lathe operator's manual
> section 13.2.1 to 13.2.2 as a guide.

I just followed an existing implementation (the one above) and used
all the same letters. I had assumed that it was built on a standard
from a commercial control, possibly Okuma?

I guess that if the letters are different then the images from my
manual pages are not re-usable either.

> I don't do gouge detection, but linuxcnc does it when cutter compensation
> is used.

Does it use the front angle and back angle data? (I could check the
code, of course, but I have just got back from 2 weeks holiday and I
am working through a huge backlog of email and forum posts)

> My cycle only works in the G18 plane, it's for a lathe after all

True, but I chose to generalise my implementation as it is easier to
do that now than later. I can imagine that a multi-slide lathe might
want to use YZ and possibly UZ.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-06 Thread andy pugh
On Sun, 5 Jan 2020 at 16:23,  wrote:
>
> After just one part, I realized it was still incomplete. So I added the
> ability to specify if a corner should get a fillet or chamfer.

I think that this seems unnecessary and means that you can't simply
run the sub as-is for a finish pass.

Why do it that way rather than specify a curve or line in the sub that
defines the fillet / chamfer?

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-05 Thread mark . vandoesburg
After just one part, I realized it was still incomplete. So I added the
ability to specify if a corner should get a fillet or chamfer. In the sub
you just have to add "A0.5" to get a 0.5mm radius fillet at that point.
If you want a chamfer you can do this using "C0.5". Other sizes are possible
of course :-)

regards,

Mark.


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-03 Thread Gene Heskett
On Friday 03 January 2020 12:41:41 andy pugh wrote:

> On Thu, 2 Jan 2020 at 21:47,  wrote:
> > I've just pushed a new version. This one supports cutter
> > compensation for G70 and the use of O words (such as call/repeat) in
> > the subroutine used for the path.
>
> There have been a few attempts made to add these cycles. I did one
> myself as a remap as a test of a type-2 algorithm.
> https://github.com/LinuxCNC/linuxcnc/tree/andypugh/g71type2remap
>
> The hope was that someone else who was working on this at the time
> would combine the two to give a built-in version.
> The reason that I feel it should be built-in is so that cutter
> compensation is done in only one place. I am away from home at the
> moment so can't easily check if this is the case with your version.
>
> The main reason, though, that I mention my experimental branch is that
> I did document the cycles, with explanatory images. This might be
> re-usable, if your version of the G71 cycles behaves the same way.
>
> https://github.com/LinuxCNC/linuxcnc/blob/andypugh/g71type2remap/docs/
>src/gcode/g-code.txt#g71-lathe-roughing-cycle-turning

Two things about that Andy.

1. All the arrows need a definition of what they represent.

2. And down in the g76 section just below this, there is still no mention 
of using L and E to cut a long low angle taper for use in a compression 
locked shaft joint, both for the external thread, and conversely for the 
nut that fits that thread.

I am useing such a connection between the shaft for the motor drive and 
its being clamped to the ballscrew for X drive on my Sheldon.  Define L 
to put the big end at the left, and E as one "pitch" less than Z. By 
drilling into the end of that shaft to exactly fit the ball screw, then 
EDM sawing the walls of this socket into 4 petals, make a custom nut to 
fit threads at the small end, inserting the ball screw into that socket 
and tightening the nut 3 or 4 turns, many tons of gripping pressure can 
very effectively make it one piece. With needle cartridge bearings on 
that shaft, and roller thrust washers counter sunk so the outside washer 
exactly fits the countersink in the front of the old hand crank boss so 
no swarf can get in, my major src of X backlash is the nut, hovers at 
about 1.3 thou. Part of that is that the nut is mountless, so its 
mounted in a cage and has felt swarf wipers set into tapered holes in 
brass plates on each end face, driven by small bolts to squeeze the 
brass plates, and the nut, in turn squeezing the felt into the threads 
for wiping a fresh layer of oil on the screw.  With the bottom of the 
cage sealed up with go-2, an annual refill of vactra seems to be 
sufficient to keep it wet.

Its a piece of cake to do, but it does need to be properly explained. But 
with the current text, you have to think way outside the box to do it.

Thanks Andy.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
If we desire respect for the law, we must first make the law respectable.
 - Louis D. Brandeis
Genes Web page 


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-03 Thread mark . vandoesburg
There have been a few attempts made to add these cycles. I did one
myself as a remap as a test of a type-2 algorithm.
https://github.com/LinuxCNC/linuxcnc/tree/andypugh/g71type2remap

Mine is in C++ and is integrated into linuxcnc.

The hope was that someone else who was working on this at the time
would combine the two to give a built-in version.
The reason that I feel it should be built-in is so that cutter
compensation is done in only one place. I am away from home at the
moment so can't easily check if this is the case with your version.

Yes it uses the cutter compensation already in linuxcnc. The other stuff
such as allowing the use of X[#+3] and Oxxx REPEAT and so on is
also re-use of the code already in linuxcnc.

What I do is to inject an "Oxxx CALL" line into the interpreter and then
take whatever it feeds me back until the subroutine is finished.

The main reason, though, that I mention my experimental branch is that
I did document the cycles, with explanatory images. This might be
re-usable, if your version of the G71 cycles behaves the same way.


https://github.com/LinuxCNC/linuxcnc/blob/andypugh/g71type2remap/docs/src/gcode/g-code.txt#g71-lathe-roughing-cycle-turning

It is at least very similar. I see you're using straight sections
to follow the final shape at a distance, while my method uses round
and straight sections as required to maintain a fixed distance.
Unfortunately I use different letters for almost everything :-(

I've taken the Fanuc Series 0/00/0-Mate for Lathe operator's manual
section 13.2.1 to 13.2.2 as a guide. There is however no limit (unless
you exhaust the memory of your computer) on the number of pockes. Pockets
may also be nested in other pockets. My cycle also does not have to start
beyond the end of the path. I do this to allow boring and finishing
the bottom of that bore using the same path.

A comparison of the parameters:

You Me  
P   Q   The Q kind of looks like an O to me, and I wanted to
use P to give the number of passes for the G70 cycle
D   I   I used I for increment.
R   R   A perfect match  :-) (but it is used)
J   W   It adds to the distance specified with D in my cycle
L   U   This is also added to D, U and W are simply an extra
displacement added to the resulting profile.
I/K Not implemented, the finishing pass starts at a distance D
from the final profile and ends at distance E. Each pass
the distance is decreased with (D-E)/P. Both numbers
E and D may be positive or negative. The distances can
be quite large until further extension of the distance
would make the curve non-monotonic (Currently I just
remove the non-monotonic parts, but maybe I should give
an error). This large distance allows G70 to be used
almost like a Fanuc G73 cycle.

F   Specify this in advance, just like the T, S and G43. If
you want to use cutter compensation you also have to
specify the G41/G42 before starting G70. It is an error
to start G71/G72 when G41 or G42 is active.

D   This is used to specify a distance to keep from the final
profile during G71/G72. This letter is used to specify the
initial distance in the G70 cycle
E   The final distance during the G70 cycle, this is usually
0 but may be positive to make it oversized, or negative
to make it undersized.
P   The number of passes used in the G70 cycle to go from the
initial distance to the final distance.
X   used as an initial postition, a rapid is done to the location.
Z   also initial position

My default method is also type 2. If you require type 1, you also need
to specify G71.1/G72.1. There is an additional G71.2/G72.2 which can
be used after the .1 cycle to finish the path.  This for example allows
you to use a CCMT roughing tool and use VCMT for the pocketing/finishing.

I don't do gouge detection, but linuxcnc does it when cutter compensation
is used.

My cycle only works in the G18 plane, it's for a lathe after all. It also
doen't work if G91 is active, but I can fix that when necessary.

I've included 3 demo/test files:

lathe_g70_71_demo.ngc   The lathe pawn, using G71.1/G71.2 and G70.

lathe_g7x_quadrants.ngc This shows the 8 ways in which the cycles can
be used.

lathe_g7x_face_boring.ngc Shows the use of variables and a "O REPEAT".

regards,

Mark.


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-03 Thread andy pugh
On Thu, 2 Jan 2020 at 21:47,  wrote:
>
> I've just pushed a new version. This one supports cutter compensation for
> G70 and the use of O words (such as call/repeat) in the subroutine used
> for the path.

There have been a few attempts made to add these cycles. I did one
myself as a remap as a test of a type-2 algorithm.
https://github.com/LinuxCNC/linuxcnc/tree/andypugh/g71type2remap

The hope was that someone else who was working on this at the time
would combine the two to give a built-in version.
The reason that I feel it should be built-in is so that cutter
compensation is done in only one place. I am away from home at the
moment so can't easily check if this is the case with your version.

The main reason, though, that I mention my experimental branch is that
I did document the cycles, with explanatory images. This might be
re-usable, if your version of the G71 cycles behaves the same way.

https://github.com/LinuxCNC/linuxcnc/blob/andypugh/g71type2remap/docs/src/gcode/g-code.txt#g71-lathe-roughing-cycle-turning



-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1912


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2020-01-02 Thread mark . vandoesburg
I've just pushed a new version. This one supports cutter compensation for
G70 and the use of O words (such as call/repeat) in the subroutine used
for the path. It also allows the use of R type arcs, which was missing in
the previous version. The only thing I know which is missing is relative
(G91) path mode. I've never used it, so unless someone else wants it I'll
leave it this way.

I am considering adding G70.1 to allow the finishing cut to be taken in
the opposite direction from the roughing path. This might be usefull
after boring using G72.

regards,

Mark.


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2019-12-29 Thread mark . vandoesburg
Is that all-new or based on one of the previous attempts? 

It's all new. I also forgot to mention that G70 has an E parameter whic
gives the end distance. I've updated the demo to reflect this.

The compare to Master seems to include a lot that isn???t related. 

Sorry for the noise, I've rebased and pushed a clean version.


regards,

Mark.


___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 and friends

2019-12-29 Thread Andy Pugh


> On 29 Dec 2019, at 14:14, mark.vandoesb...@hetnet.nl wrote:
> 
> I've just created a branch on github 
> https://github.com/mark-v-d/linuxcnc/pull/new/g7x
> in which I implemented G70, G71 and G72.

Is that all-new or based on one of the previous attempts? 

The compare to Master seems to include a lot that isn’t related. 




___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-05 Thread Gene Heskett
On Monday 05 December 2016 07:31:51 andy pugh wrote:

> On 5 December 2016 at 12:21, Gene Heskett  wrote:
> > HSS cutting alu is not a long lasting tool
>
> Is that based on your theory that Aluminium forms an adamantine
> ceramic layer in nanoseconds?
>
> Even if it does with a milling cutter[1] then it won't with a lathe
> cutter as it is a continuous cut.

Not 100% true, but at some point along the cutting edge, usually on the 
left side of the tool since we usually cut right to left, it is cutting 
thru the oxide film.  The damage in most cases will not be at the 
cutting tip, but back up the left edge by however deep a cut is being 
taken. And a retrace retraction of enough (0.01") to prevent the tip 
from rubbing during the retrace for the next pass becomes very 
important. That makes a huge diff in how long a carbide chip lasts on 
TLM, so I am writing that into my code as I re-use it, or for new code.

> > Have 2 std $40 bench grinders, no angle setter.  Is also maddeningly
> > slow at taking off enough to form a proper angle in a reasonable
> > time w/o burning up the tool
>
> You need a cup of water near the grinder. 

True, and I have a cup sitting there up in the shop building where the si 
carbide wheel is.  But the darned thing has always evaporated dry in 
between uses and no water to refill it without a painful walk back to 
the house to get a pitcher of it.  Recycled coffee works but has an 
odor. :)

> It doesn't even really 
> matter if you micro-crack the metal you intend to remove.
>
> [1] And I don't think it does

Not even if you get it visibly red hot. But of course the temper is gone, 
and then the discolored material must be removed to get back to good 
metal.

Cheers Andy, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page 

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-05 Thread andy pugh
On 5 December 2016 at 12:21, Gene Heskett  wrote:

> HSS cutting alu is not a long lasting tool

Is that based on your theory that Aluminium forms an adamantine
ceramic layer in nanoseconds?

Even if it does with a milling cutter[1] then it won't with a lathe
cutter as it is a continuous cut.

> Have 2 std $40 bench grinders, no angle setter.  Is also maddeningly slow
> at taking off enough to form a proper angle in a reasonable time w/o
> burning up the tool

You need a cup of water near the grinder. It doesn't even really
matter if you micro-crack the metal you intend to remove.

[1] And I don't think it does


-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-05 Thread Gene Heskett
On Monday 05 December 2016 05:04:11 andy pugh wrote:

> On 5 December 2016 at 01:26, Gene Heskett  wrote:
> > But couldn't find any of these I could afford, and had the angles
> > needed to make polygroove pulley's. Project shelved.
>
> That's the time to grind a HSS tool. I doubt that you planned to make
> 100s of pulleys in hardened steel.
> Carbide is over-kill for most of the things that hobby users do.

HSS cutting alu is not a long lasting tool, although a safflower oil mist 
can extend the tool life, a lot.
>
> Not that hand-ground HSS tools make calculating tool angles easy,
> though with tool grinder you would just be able to use the angle you
> set it to.

Have 2 std $40 bench grinders, no angle setter.  Is also maddeningly slow 
at taking off enough to form a proper angle in a reasonable time w/o 
burning up the tool. No powered diamond wheels with coolant.
Looking on ebay. the cheapest thing to click on for a better look is 
$500. One si carbide wheel, 2 alox & one wet grizzly grinder with 10" 
rouge wheel for plane blades, but even that doesn't have an accurate 
angle setter. I did make a huge sliding table for it so I could sharpen 
my 13" bench planer blades. That stone is a cuttin fool even if it is 
about 8000 grit. I should see if I could make a post and articulated 
swing mount for it.

I am beginning to get the tools to do that.

Thanks Andy.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page 

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-05 Thread andy pugh
On 5 December 2016 at 01:26, Gene Heskett  wrote:
> But couldn't find any of these I could afford, and had the angles needed
> to make polygroove pulley's. Project shelved.

That's the time to grind a HSS tool. I doubt that you planned to make
100s of pulleys in hardened steel.
Carbide is over-kill for most of the things that hobby users do.

Not that hand-ground HSS tools make calculating tool angles easy,
though with tool grinder you would just be able to use the angle you
set it to.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread EBo
I also have a jig to set the depth of common tools like drills and 
mills, so that I can have 5 duplicates of the same tool and not have to 
worry about the offsets because it is already set.  It does take the 
extra time to set it carefully instead of simply mounting, measuring, 
and setting the offsets.


On Dec 4 2016 9:19 AM, Filipe Tomaz wrote:
> In my lathe(s) I have VDI tooling.
> Each tool settles only on its holder, and each tool is numbered. 
> So I
> will always use the same tool without changing offsets or angles.
> Each time I need a new tool, I buy a new holder (VDI) so that my 
> tool
> library gets larger. This is expensive but is very effective at the 
> long
> run, due to time AND to avoid tool collisions. I even do this for 
> drilling
> where I keep each commun drill in each holder.
> Bottom rule is that a lathe collision is very nasty and make you 
> think:
> "Why didn't I use the manual one ..."
>
> By the way, I sell toolholders :-)

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Gene Heskett
On Sunday 04 December 2016 19:01:04 andy pugh wrote:

> On 4 December 2016 at 16:05, Gene Heskett  wrote:
> > But looking all that
> > up, if indeed it's even published for every tool in the drawer, is a
> > right PITA.
>
> There are only a few tip angles for carbide tips, and only a few
> holders for each.
>
> For example DCxT has a 55 degree angle and typical holders have them
> with a 87 degree frontangle and 32 degree backangle.
> http://www.carbideanddiamondtooling.com/Turning.Tool.Holders.Screw.Loc
>k.SDJC.SDPCN.SDUC.DC_T.Inserts
>
Got some of those. Glanze kit. Sized for TLM.
> CCxT is 80 with 5 and 5 (typically)
> http://www.carbideanddiamondtooling.com/Turning.Tool.Holders.Screw.Loc
>k.SCLC.SCLP.SCVC.SCMC.SCMP.SCGC.SCGP.SCRC.SCRP.CC_T.SP_T.insert
>
And these. Again sized for TLM.

> That only really leaves the VNMx narrow-diamond ones, at 35 degrees
> included
> http://www.carbideanddiamondtooling.com/Turning.Tool.Holders.Multi.Loc
>k.MVGN.MVJN.MVTN.MVVN.MVLN.VNM_Inserts

But couldn't find any of these I could afford, and had the angles needed 
to make polygroove pulley's. Project shelved.  Potential spindle drive 
belt setup, at least 2 speed, for the toy mill. I would have had to make 
each one by itself & glued/screwed them into an assembly that ran true 
enough. Wisely I came to the conclusion that I did not have machinery 
that could do that accurately enough.  Once the Sheldon is working, I'll 
need a bigger version of that threading tool kit you found for me 3 or 4 
years ago, sized for TLM.  But those chips are small, not really capable 
of less tpi than 18. 18-50, maybe even 0-80, they work nice.
But I'm thinking I ought to wait and get this running before I start 
collecting a kilobucks worth of tooling for it. I've got 2 or 3 holders, 
and some hss that needs real serious work on a diamond lap I don't have 
yet to actually make it cut cold butter.

Thank you Andy, This makes it conceptually a little simpler, and more 
do-able too.
Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page 

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread andy pugh
On 4 December 2016 at 16:05, Gene Heskett  wrote:
> But looking all that
> up, if indeed it's even published for every tool in the drawer, is a
> right PITA.

There are only a few tip angles for carbide tips, and only a few
holders for each.

For example DCxT has a 55 degree angle and typical holders have them
with a 87 degree frontangle and 32 degree backangle.
http://www.carbideanddiamondtooling.com/Turning.Tool.Holders.Screw.Lock.SDJC.SDPCN.SDUC.DC_T.Inserts

CCxT is 80 with 5 and 5 (typically)
http://www.carbideanddiamondtooling.com/Turning.Tool.Holders.Screw.Lock.SCLC.SCLP.SCVC.SCMC.SCMP.SCGC.SCGP.SCRC.SCRP.CC_T.SP_T.insert

That only really leaves the VNMx narrow-diamond ones, at 35 degrees included
http://www.carbideanddiamondtooling.com/Turning.Tool.Holders.Multi.Lock.MVGN.MVJN.MVTN.MVVN.MVLN.VNM_Inserts

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Gene Heskett
On Sunday 04 December 2016 11:19:04 Filipe Tomaz wrote:

> In my lathe(s) I have VDI tooling.
> Each tool settles only on its holder, and each tool is numbered.
> So I will always use the same tool without changing offsets or angles.
> Each time I need a new tool, I buy a new holder (VDI) so that my tool
> library gets larger. This is expensive but is very effective at the
> long run, due to time AND to avoid tool collisions. I even do this for
> drilling where I keep each commun drill in each holder.
> Bottom rule is that a lathe collision is very nasty and make you
> think: "Why didn't I use the manual one ..."
>
I do not have a manual one. Everything I have is either run by gcode, or 
from the arrow keys on a keyboard.

> By the way, I sell toolholders :-)

So there IS a method to the promotion. ;-)  OTOH the reasoning makes 
perfect sense.

No complaints from this old man, other than the cost of the toolholders, 
and a sensible storage scheme, all of which has to come out of my SS at 
some point.

> Citando Gene Heskett :
> > On Sunday 04 December 2016 08:36:35 Filipe Tomaz wrote:
> >> Ok, but still it would be good that the machine could make the
> >>"possible" part, skipping without damage the part and the tool.
> >>    On a later tool, the final toolpath could be reached if the
> >> tool allows, and the user could in fact use the same programmed
> >> tool path.
> >>
> >>    This is my opinion.
> >>
> >>    Citando andy pugh :
> >>On 4 December 2016 at 11:35, Filipe Tomaz
> >> wrote:  > With this information
> >>
> >>    is possible to "know" the points on the toolpath where the
> >> tool can ACTUALLY REACH without damaging both the tool and the work
> >> part. This would provide a large improvement even over standard
> >> industrial controllers.
> >>
> >>   We already have a warning about this.
> >
> >   I think thats a good idea, great in fact. My problem is that of
> > putting the tool angle at the best compromise for my instant job,
> > usually by eye, driving the tool to various locations to see if this
> > angle can do it, and not telling the tooltable because I've no quick
> > and accurate enough device to measure the angle. The pro's here
> > probably do know how or have a measuring tool. I believe thats
> > largely my fault because I believe the tool table can now accept the
> > left and right angles of the face of the tool, plus the tip radii if
> > its known. But looking all that up, if indeed it's even published
> > for every tool in the drawer, is a right PITA.
> >
> >   How successful we are depends on our ability to be able to type
> > the 4 or 5 character chip style itself into a slot in the tool
> > table, and the angle of the lengthwise axis of the tool holder, and
> > let the tooltable code do the lookups to control all of that. 
> > Leaving a single variable up to a SWAG by me is an invite for a
> > disaster.
> >
> >   I would offer the guess that the uptake of such an idea in the
> > onsies to tensies shops would be considerably higher if a one time
> > tooltable entry really could cover a single tool holder that well. 
> > It sure would promote the tool holder sales for our quick change
> > posts. :)
> >
> >   G71-72 and this raspi.driver I'm trying to crash and haven't in
> > 2.8 final, the tool table might be LinuxCNC-3.0 stuff maybe?
> >
> >   My $0.02, probably ignoreable. Got to get me ready to go to a
> >   musical/dinner.
> >
> >   Cheers, Gene Heskett
> >   --
> >   "There are four boxes to be used in defense of liberty:
> >   soap, ballot, jury, and ammo. Please use in that order."
> >   -Ed Howdershelt (Author)
> >   Genes Web page 
> >
> >
> > 
> >-- Check out the vibrant tech community on one of the world's
> > most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> > ___
> >   Emc-developers mailing list
> > Emc-developers@lists.sourceforge.nethttps://lists.sourceforge.net/li
> >sts/listinfo/emc-developers
>
> --
> Check out the vibrant tech community on one of the world's
> most engaging tech sites, SlashDot.org! http://sdm.link/slashdot
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page 

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Em

Re: [Emc-developers] G71

2016-12-04 Thread tero.kaarl...@eka-sorvaus.fi
Hi,

  I fully agree. It should report: "Arc impossible", 

--
Tero Kaarlela
Production Engineer
Eka-Sorvaus OY
Nivala
Finland

Alkuperäinen viesti
Lähettäjä : j...@gnipsel.com
Pvm : 04/12/2016 - 18:28 (S)
Vastaanottaja : emc-developers@lists.sourceforge.net
Aihe : Re: [Emc-developers] G71

I think the software should refuse for these reason:
If it cuts the part wrong and the operator thinks he/she has a good part 
because the machine ran is a bad situation.
Secondary ops could go really bad if the part is wrong.
Wrong parts could get shipped to a customer just because the machine ran...

JT

On 12/4/2016 7:51 AM, andy pugh wrote:
> On 4 December 2016 at 13:36, Filipe Tomaz  wrote:
>> Ok, but still it would be good that the machine could make the "possible"
>> part, skipping without damage the part and the tool.
>>  On a later tool, the final toolpath could be reached if the tool
>> allows, and the user could in fact use the same programmed tool path.
> This is somewhere where I am not sure what to think.
>
> I see an argument that the machine should follow the programmed
> toolpath, and if the toolpath is impossible then it should refuse,
> rather than follow a path that is not programmed.
>
> An example would be an arc in centre-point format. Should the softeare
> refuse to make an impossible arc, or should it modify the arc to be
> possible?
>


--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread John Thornton
I think the software should refuse for these reason:
If it cuts the part wrong and the operator thinks he/she has a good part 
because the machine ran is a bad situation.
Secondary ops could go really bad if the part is wrong.
Wrong parts could get shipped to a customer just because the machine ran...

JT

On 12/4/2016 7:51 AM, andy pugh wrote:
> On 4 December 2016 at 13:36, Filipe Tomaz  wrote:
>> Ok, but still it would be good that the machine could make the "possible"
>> part, skipping without damage the part and the tool.
>>  On a later tool, the final toolpath could be reached if the tool
>> allows, and the user could in fact use the same programmed tool path.
> This is somewhere where I am not sure what to think.
>
> I see an argument that the machine should follow the programmed
> toolpath, and if the toolpath is impossible then it should refuse,
> rather than follow a path that is not programmed.
>
> An example would be an arc in centre-point format. Should the softeare
> refuse to make an impossible arc, or should it modify the arc to be
> possible?
>


--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Filipe Tomaz
In my lathe(s) I have VDI tooling.
Each tool settles only on its holder, and each tool is numbered. So I
will always use the same tool without changing offsets or angles.
Each time I need a new tool, I buy a new holder (VDI) so that my tool
library gets larger. This is expensive but is very effective at the long
run, due to time AND to avoid tool collisions. I even do this for drilling
where I keep each commun drill in each holder.
Bottom rule is that a lathe collision is very nasty and make you think:
"Why didn't I use the manual one ..."

By the way, I sell toolholders :-)

Citando Gene Heskett :
> On Sunday 04 December 2016 08:36:35 Filipe Tomaz wrote:
>> Ok, but still it would be good that the machine could make the
>>"possible" part, skipping without damage the part and the tool.
>>    On a later tool, the final toolpath could be reached if the tool
>>allows, and the user could in fact use the same programmed tool path.
>>
>>    This is my opinion.
>>
>>    Citando andy pugh :
>>On 4 December 2016 at 11:35, Filipe Tomaz
>> wrote:  > With this information
>>
>>    is possible to "know" the points on the toolpath where the tool
>>can ACTUALLY REACH without damaging both the tool and the work
>>part. This would provide a large improvement even over standard
>>industrial controllers.
>>
>>   We already have a warning about this.
>   I think thats a good idea, great in fact. My problem is that of putting
>   the tool angle at the best compromise for my instant job, usually by
>   eye, driving the tool to various locations to see if this angle can do
>   it, and not telling the tooltable because I've no quick and accurate
>   enough device to measure the angle. The pro's here probably do know how
>   or have a measuring tool. I believe thats largely my fault because I
>   believe the tool table can now accept the left and right angles of the
>   face of the tool, plus the tip radii if its known. But looking all that
>   up, if indeed it's even published for every tool in the drawer, is a
>   right PITA.
>
>   How successful we are depends on our ability to be able to type the 4 or
>   5 character chip style itself into a slot in the tool table, and the
>   angle of the lengthwise axis of the tool holder, and let the tooltable
>   code do the lookups to control all of that.  Leaving a single variable
>   up to a SWAG by me is an invite for a disaster.
>
>   I would offer the guess that the uptake of such an idea in the onsies to
>   tensies shops would be considerably higher if a one time tooltable entry
>   really could cover a single tool holder that well.  It sure would
>   promote the tool holder sales for our quick change posts. :)
>
>   G71-72 and this raspi.driver I'm trying to crash and haven't in 2.8
>   final, the tool table might be LinuxCNC-3.0 stuff maybe?
>
>   My $0.02, probably ignoreable. Got to get me ready to go to a
>   musical/dinner.
>
>   Cheers, Gene Heskett
>   --
>   "There are four boxes to be used in defense of liberty:
>   soap, ballot, jury, and ammo. Please use in that order."
>   -Ed Howdershelt (Author)
>   Genes Web page 
>
>
> --
>   Check out the vibrant tech community on one of the world's most
>   engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>   ___
>   Emc-developers mailing list
> Emc-developers@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/emc-developers
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Gene Heskett
On Sunday 04 December 2016 08:36:35 Filipe Tomaz wrote:

> Ok, but still it would be good that the machine could make the
> "possible" part, skipping without damage the part and the tool.
> On a later tool, the final toolpath could be reached if the tool
> allows, and the user could in fact use the same programmed tool path.
>
> This is my opinion.
>
> Citando andy pugh :
> > On 4 December 2016 at 11:35, Filipe Tomaz
> >  wrote:  > With this information
> >
> >>is possible to "know" the points on the toolpath where the tool
> >> can ACTUALLY REACH without damaging both the tool and the work
> >> part. This would provide a large improvement even over standard
> >> industrial controllers.
> >
> >   We already have a warning about this.
> >
I think thats a good idea, great in fact. My problem is that of putting 
the tool angle at the best compromise for my instant job, usually by 
eye, driving the tool to various locations to see if this angle can do 
it, and not telling the tooltable because I've no quick and accurate 
enough device to measure the angle. The pro's here probably do know how 
or have a measuring tool. I believe thats largely my fault because I 
believe the tool table can now accept the left and right angles of the 
face of the tool, plus the tip radii if its known. But looking all that 
up, if indeed it's even published for every tool in the drawer, is a 
right PITA.

How successful we are depends on our ability to be able to type the 4 or 
5 character chip style itself into a slot in the tool table, and the 
angle of the lengthwise axis of the tool holder, and let the tooltable 
code do the lookups to control all of that.  Leaving a single variable 
up to a SWAG by me is an invite for a disaster.

I would offer the guess that the uptake of such an idea in the onsies to 
tensies shops would be considerably higher if a one time tooltable entry 
really could cover a single tool holder that well.  It sure would 
promote the tool holder sales for our quick change posts. :)

G71-72 and this raspi.driver I'm trying to crash and haven't in 2.8 
final, the tool table might be LinuxCNC-3.0 stuff maybe?

My $0.02, probably ignoreable. Got to get me ready to go to a 
musical/dinner.

Cheers, Gene Heskett
-- 
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page 

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Filipe Tomaz
>>   An example would be an arc in centre-point format. Should the softeare
>>  refuse to make an impossible arc, or should it modify the arc to be
>>  possible?
>

The arc will not be modified, it is still there, available. We can end up
with an approximation, but that can be part of the cycle. If the user
wants to force the toolpath he can copy the code on the cycle and paste it
on the line after the cycle, forcing the tool to pass through the path.

In a milling machine not reaching a determine spot can put in danger the
remaining part, as the mill cuts in all its reach (all directions). On a
G71 lathe cycle, if you do not go further the starting point (especially
in inside machining) nothing is damaged.
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Filipe Tomaz
It should the second on my opinion. When the toolpath cannot be fully done
(very normal when programming in a lathe) it should only do what is
possible. In this case you will still have material to remove and do not
brake nothing. A later operation can do the rest.
Is better this way as no material is removed in excess due to the tool
shape.
Others may think differently, lets wait for more ideias.

Citando andy pugh :
> On 4 December 2016 at 13:36, Filipe Tomaz  
>  wrote:  > Ok, but still it would be  
> good that the machine could make the "possible"
>>part, skipping without damage the part and the tool.
>>    On a later tool, the final toolpath could be reached if the tool
>>allows, and the user could in fact use the same programmed tool path.
>   This is somewhere where I am not sure what to think.
>
>   I see an argument that the machine should follow the programmed
>   toolpath, and if the toolpath is impossible then it should refuse,
>   rather than follow a path that is not programmed.
>
>   An example would be an arc in centre-point format. Should the softeare
>   refuse to make an impossible arc, or should it modify the arc to be
>   possible?
>
>   --
>   atp
>   "A motorcycle is a bicycle with a pandemonium attachment and is
>   designed for the especial use of mechanical geniuses, daredevils and
>   lunatics."
>   — George Fitch, Atlanta Constitution Newspaper, 1916
>
>
> --
>   Check out the vibrant tech community on one of the world's most
>   engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>   ___
>   Emc-developers mailing list
> Emc-developers@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/emc-developers
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread andy pugh
On 4 December 2016 at 13:36, Filipe Tomaz  wrote:
> Ok, but still it would be good that the machine could make the "possible"
> part, skipping without damage the part and the tool.
> On a later tool, the final toolpath could be reached if the tool
> allows, and the user could in fact use the same programmed tool path.

This is somewhere where I am not sure what to think.

I see an argument that the machine should follow the programmed
toolpath, and if the toolpath is impossible then it should refuse,
rather than follow a path that is not programmed.

An example would be an arc in centre-point format. Should the softeare
refuse to make an impossible arc, or should it modify the arc to be
possible?

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Filipe Tomaz
Ok, but still it would be good that the machine could make the "possible"
part, skipping without damage the part and the tool.
On a later tool, the final toolpath could be reached if the tool
allows, and the user could in fact use the same programmed tool path.

This is my opinion.

Citando andy pugh :
> On 4 December 2016 at 11:35, Filipe Tomaz  
>  wrote:  > With this information
>>is possible to "know" the points on the toolpath where the tool can
>>ACTUALLY REACH without damaging both the tool and the work part. This
>>would provide a large improvement even over standard industrial
>>controllers.
>   We already have a warning about this.
>
>   --
>   atp
>   "A motorcycle is a bicycle with a pandemonium attachment and is
>   designed for the especial use of mechanical geniuses, daredevils and
>   lunatics."— George Fitch, Atlanta Constitution Newspaper, 1916
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread andy pugh
On 4 December 2016 at 11:35, Filipe Tomaz  wrote:
> With this information
> is possible to "know" the points on the toolpath where the tool can
> ACTUALLY REACH without damaging both the tool and the work part. This
> would provide a large improvement even over standard industrial
> controllers.

We already have a warning about this.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-04 Thread Filipe Tomaz

Since this issue is now under attention, and the G71/G72 will probably
live, I have a suggestion to make it improved.

   Background: Tool information is already available in the tool table.
Tool radius, direction, tool front and back angle. With this information
is possible to "know" the points on the toolpath where the tool can
ACTUALLY REACH without damaging both the tool and the work part. This
would provide a large improvement even over standard industrial
controllers.

   Most CAM packages do this for the user, but using a cycle means that
generally it is used for direct gcode input.

   On the image attached is my understanding of a good G71. Can this be
possible to implement with the information that reaches the python remap,
or this is unreachable? I understand that a lot of math is involved, and
when small line or arc segments are present can represent a real challenge.

   Filipe

   Citando Filipe Tomaz :

Hello,

     Please see attached files. Test is very simple, 3 linear movements.

     The G71 on most all machines take the current position (before the
  cycle) as the "stock". This means that if you start the cycle at X50 it
  is expected that the material have 50mm where the cycle will work. I
  believe that this approach is important as it is safe.
     In your implementation this is not taken in account, and you look for
  the maximum programmed X value as the stock (if I add a extra movement,
  for example to X=40 it would be ok).

     Also, the retract that is implemented to make the pockets are to the
  Xmax position that you have. I understand that it is for safety, but at
  the same time is seams unproductive. Image attached also, where a looong
  retract is shown.

     I also tested with compensation. I think that the compensation is not
  taken in account. Am I correct? I think that the G71 can machine
incorrectly
  shapes when the tool radius compensation is needed.

     I normally use the back tool post, so I hope that I am not saying
  anything silly. Either way another fine work, thank you Andy.
      


  Filipe, EuSurplus

    Citando andy pugh :  > There are two ongoing
work-streams with this:


   G71 as a G-Code is happening in this branch:
https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71

   At the same time I am experimenting with G71 Type 11 (ie, with
   pockets) as a Python remap in this branch:
https://github.com/LinuxCNC/linuxcnc/tree/andypugh/g71type2remap

   The point of the Python version is to work out the niggles in the
   algorithms in a situation where debugging is easier and there is no
   compile step.

   Example video: https://www.youtube.com/watch?v=DwV2cibjGmo

   It is nearly ready for requests to attempt to break it.

   --
   atp
   "A motorcycle is a bicycle with a pandemonium attachment and is
   designed for the especial use of mechanical geniuses, daredevils and
   lunatics."
   — George Fitch, Atlanta Constitution Newspaper, 1916



--
   ___
   Emc-developers mailing
listEmc-developers@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/emc-developers


   
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-03 Thread Ben Potter
Filipe - thanks for the feedback. It's important, particularly while we're 
still fiddling with early implementation.

From: andy pugh [mailto:bodge...@gmail.com] 
> On 3 December 2016 at 21:23, Filipe Tomaz  wrote:

> > The G71 on most all machines take the current position (before the
> >  cycle) as the "stock".
> > In your implementation this is not taken in account, and you look 
> > for  the maximum programmed X value as the stock (if I add a extra 
> > movement,  for example to X=40 it would be ok).
> The version we have been working on is meant to take the starting X as the 
> stock boundary.
> The problem you are seeing is actually that the profile has no "end"
> move to it. The code doesn't know where to end the cuts, so doesn't start 
> them.

Bug present in both the python and C implementations. It _should_ pretend the 
final move is to X infinity. 
Discussion ongoing on the best way to handle this.

> I agree that this isn't correct behaviour. The solution is likely to be to 
> add a retract move to starting X at the end of the profile.
> Or, possibly, to flag an error if the profile has no end-of-cut segment.

I'm of the 'flag an error' school of thought. I feel it's better to train the 
user then to make assumptions about what they intended.
If not, see above.

> If you add a G0 X30 to your profile block in the first example then you will 
> get the expected behaviour.
> A "feature" (and I don't know if it is a standard one) of this implementation 
> of the cycle is that there is no X-clearance added to
> G0 moves, which I why I suggest a G0, as the area between entry and exit G0 
> moves will be cut completely.
> > Also, the retract that is implemented to make the pockets are to 
> > the  Xmax position that you have. I understand that it is for safety, 
> > but at  the same time is seams unproductive. Image attached also, 
> > where a looong  retract is shown.
> A more intelligent retract is something I intend to look at. Initially only 
> retracting as far as the highest inter-pocket peak is probably a good start. 
> I suppose a fully-optimised version could only retract the minimum it needs 
> to to get from A to B (but that needs an extra data structure just to store 
> the retracts)

Getting the most efficient retract is fiddly, I'd rather have a safe retract 
than a fully efficient (but potentially unsafe) one. Will bear in mind.

> > I also tested with compensation. I think that the compensation is 
> > not  taken in account. Am I correct?
> That is correct. We fully intend to support compensation, it's important. The 
> reason that it isn't in this Python "mock up" is that I would have had to 
> re-create the entire tool compensation code, and that wasn't the point of the 
> exercise.

Compensation in one direction is pretty straightforward in the C code. 
Compensation in two directions _shouldn't_ be much harder, but I'm reserving 
judgement until it's done.
Also, compensation for type1 isn't hard, type2 comp is tied into anti-gouging. 
Note to self: get a good offset algorithm.

> >  I normally use the back tool post, so I hope that I am not saying
> >  anything silly. Either way another fine work, thank you Andy.

Oh good! a tester using the back toolpost. Since I normally work (and think) in 
terms of a front toolpost it's sometimes really hard to think the other way 
around.


--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-03 Thread andy pugh
On 3 December 2016 at 21:23, Filipe Tomaz  wrote:

> The G71 on most all machines take the current position (before the
>  cycle) as the "stock".
...
> In your implementation this is not taken in account, and you look for
>  the maximum programmed X value as the stock (if I add a extra movement,
>  for example to X=40 it would be ok).

The version we have been working on is meant to take the starting X as
the stock boundary.
The problem you are seeing is actually that the profile has no "end"
move to it. The code doesn't know where to end the cuts, so doesn't
start them.

I agree that this isn't correct behaviour. The solution is likely to
be to add a retract move to starting X at the end of the profile.
Or, possibly, to flag an error if the profile has no end-of-cut segment.

If you add a G0 X30 to your profile block in the first example then
you will get the expected behaviour.

A "feature" (and I don't know if it is a standard one) of this
implementation of the cycle is that there is no X-clearance added to
G0 moves, which I why I suggest a G0, as the area between entry and
exit G0 moves will be cut completely.

> Also, the retract that is implemented to make the pockets are to the
>  Xmax position that you have. I understand that it is for safety, but at
>  the same time is seams unproductive. Image attached also, where a looong
>  retract is shown.

A more intelligent retract is something I intend to look at. Initially
only retracting as far as the highest inter-pocket peak is probably a
good start. I suppose a fully-optimised version could only retract the
minimum it needs to to get from A to B (but that needs an extra data
structure just to store the retracts)

> I also tested with compensation. I think that the compensation is not
>  taken in account. Am I correct?

That is correct. We fully intend to support compensation, it's
important. The reason that it isn't in this Python "mock up" is that I
would have had to re-create the entire tool compensation code, and
that wasn't the point of the exercise.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-03 Thread Filipe Tomaz

 Hello,

Please see attached files. Test is very simple, 3 linear movements.

The G71 on most all machines take the current position (before the
 cycle) as the "stock". This means that if you start the cycle at X50 it
 is expected that the material have 50mm where the cycle will work. I
 believe that this approach is important as it is safe.
In your implementation this is not taken in account, and you look for
 the maximum programmed X value as the stock (if I add a extra movement,
 for example to X=40 it would be ok).

Also, the retract that is implemented to make the pockets are to the
 Xmax position that you have. I understand that it is for safety, but at
 the same time is seams unproductive. Image attached also, where a looong
 retract is shown.

I also tested with compensation. I think that the compensation is not
 taken in account. Am I correct? I think that the G71 can machine incorrectly
shapes when the tool radius compensation is needed.

I normally use the back tool post, so I hope that I am not saying
 anything silly. Either way another fine work, thank you Andy.
 


Filipe, EuSurplus

   Citando andy pugh :

There are two ongoing work-streams with this:

  G71 as a G-Code is happening in this branch:
https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71

  At the same time I am experimenting with G71 Type 11 (ie, with
  pockets) as a Python remap in this branch:
https://github.com/LinuxCNC/linuxcnc/tree/andypugh/g71type2remap

  The point of the Python version is to work out the niggles in the
  algorithms in a situation where debugging is easier and there is no
  compile step.

  Example video: https://www.youtube.com/watch?v=DwV2cibjGmo

  It is nearly ready for requests to attempt to break it.

  --
  atp
  "A motorcycle is a bicycle with a pandemonium attachment and is
  designed for the especial use of mechanical geniuses, daredevils and
  lunatics."
  — George Fitch, Atlanta Constitution Newspaper, 1916


--
  ___
  Emc-developers mailing list
Emc-developers@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/emc-developers
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-12-01 Thread sam sokolik
so far so good..  Great job!!

http://electronicsam.com/images/KandT/testing/Screenshot-33.png

sam

On 11/30/2016 08:27 PM, andy pugh wrote:
> On 29 November 2016 at 22:01, andy pugh  wrote:
>> It is nearly ready for requests to attempt to break it.
> I think that it now is ready for attempts to break it.
>
> I would be interested in screen-shots and sample files that the
> algorithm copes badly with.
>
> No documentation yet, but, roughly speaking
>
>  P  # Block Number of contour beginning (uses N word in beginning block)
>  D # Roughing Depth per cut
>  R # Retraction from each cut
>  J  # Overthickness before finishing X (diameter)   (U on other 
> controllers)
>  L  # Overthickness before finishing Z  (W on other 
> controllers)
>  I   # Thickness for finishing at X
>  K  # Thickness for finishing at Z
>  F  # Feedrate override between P and Q blocks
>  S   # Spindle speed override between P and Q blocks
>  T   # Tool for cycle
>
> F, S, T are not active in the Python remap version. Nor are I and K as
> it doesn't do the semi-finish pass. P should refer to an O NNN SUB / O
> NNN ENDSUB block.
>


--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-11-30 Thread andy pugh
On 29 November 2016 at 22:01, andy pugh  wrote:
> It is nearly ready for requests to attempt to break it.

I think that it now is ready for attempts to break it.

I would be interested in screen-shots and sample files that the
algorithm copes badly with.

No documentation yet, but, roughly speaking

P  # Block Number of contour beginning (uses N word in beginning block)
D # Roughing Depth per cut
R # Retraction from each cut
J  # Overthickness before finishing X (diameter)   (U on other controllers)
L  # Overthickness before finishing Z  (W on other controllers)
I   # Thickness for finishing at X
K  # Thickness for finishing at Z
F  # Feedrate override between P and Q blocks
S   # Spindle speed override between P and Q blocks
T   # Tool for cycle

F, S, T are not active in the Python remap version. Nor are I and K as
it doesn't do the semi-finish pass. P should refer to an O NNN SUB / O
NNN ENDSUB block.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-11-29 Thread Filipe Tomaz
If the toolpath take in consideration the tool shape (tool angle) and the
current compensation, it would be very useful.
( type is II not 11 :-) )

Good work!

Citando andy pugh :
> There are two ongoing work-streams with this:
>
>   G71 as a G-Code is happening in this branch:
> https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71
>
>   At the same time I am experimenting with G71 Type 11 (ie, with
>   pockets) as a Python remap in this branch:
> https://github.com/LinuxCNC/linuxcnc/tree/andypugh/g71type2remap
>
>   The point of the Python version is to work out the niggles in the
>   algorithms in a situation where debugging is easier and there is no
>   compile step.
>
>   Example video: https://www.youtube.com/watch?v=DwV2cibjGmo
>
>   It is nearly ready for requests to attempt to break it.
>
>   --
>   atp
>   "A motorcycle is a bicycle with a pandemonium attachment and is
>   designed for the especial use of mechanical geniuses, daredevils and
>   lunatics."
>   — George Fitch, Atlanta Constitution Newspaper, 1916
>
>
> --
>   ___
>   Emc-developers mailing list
> Emc-developers@lists.sourceforge.nethttps://lists.sourceforge.net/lists/listinfo/emc-developers
--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71

2016-11-29 Thread andy pugh
There are two ongoing work-streams with this:

G71 as a G-Code is happening in this branch:
https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71

At the same time I am experimenting with G71 Type 11 (ie, with
pockets) as a Python remap in this branch:
https://github.com/LinuxCNC/linuxcnc/tree/andypugh/g71type2remap

The point of the Python version is to work out the niggles in the
algorithms in a situation where debugging is easier and there is no
compile step.

Example video: https://www.youtube.com/watch?v=DwV2cibjGmo

It is nearly ready for requests to attempt to break it.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71... was Distributing remaps

2016-11-18 Thread Ben Potter
Evening all - I've been on IRC the past couple of days getting back up to
speed on this.
I'm replying to a whole bunch of e-mails inline. Sorry for the length of
this.

Also, big thanks to Todd for opening this one back up.

> From: Chris Radek [mailto:ch...@timeguy.com] 
> > On Wed, Nov 16, 2016 at 08:15:42AM -0600, dragon wrote:
> > Below is a link to an email thread where Ben Potter submitted a patch 
> > set to implement g71 into the interpreter in 2012. It was never
accepted.
> > 
> > https://sourceforge.net/p/emc/mailman/emc-users/thread/000601cd831d%24
> > bc81b600%2435852200%24%40org/#msg29723177
> > 

For information - the patch mentioned in that message was not the final
patch I submitted. I've hand merged the final 2012 patch into my github and
put a pull request in.

> > Andy Pugh has updated the patch set to apply to the 2.8 branch (big 
> > thanks Andy!)...
> > 
> > https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71

> Hi Todd, it was good to meet you at fest and I'm glad you're still
interested in this.  It looks like Ben's work is a terrific starting point,
and I am super excited and I want to help you however I can.  
> 
> I did a basic review and added some comments to
> 
>
https://github.com/LinuxCNC/linuxcnc/commit/0da9a50f30bb575d557b6617fa0fb0b2
28216f43
>
> Here are my thoughts about what it would take to make this mergeable, in
approximate order of my own feeling about importance, from necessary to
wishful:
> 
> Verify by eyeball the output for a variety of paths and fixup accordingly
> Verify that non-type-1 paths always give an appropriate error message (and
not bogus motion).  I think I found an error check that was wrong (I added a
comment), so I think this is not well-tested yet.
> Verify that you can't easily break the algorithm without getting suitable
error messages, such as by doing things like changing units in the middle of
the profile definition, switching between radius and diameter modes, mixing
IK and R arcs, using R arcs with negative 
> radius, N words out of order, block delete, requesting multiturn arcs,
requesting depths that are negative or bigger than the path, etc etc. and
convince yourself it always either gives a good path or gives a coherent
error

Absolutely, I know that some areas are weak and are likely to break, there
are some improvements in the second patch, but a lot more to do.
My personal feeling is that I'd like to see solid Type 1 support in and
tested before we confuse people with type 2 and anti-gouging

> Add documentation for the cycle, how to use it, its limitations
Oh yes!

> Add a single sai-based runtest that roughs a path that's carefully chosen
to exercise as much of the geometric code as possible
> 
> (somewhere around here in my list is where I would consider the above to
be the minimum necessary for merging into master)
> 
> Add sai-based runtests that trigger the error conditions when you do
things that aren't handled
> Rework the patch so it uses an O sub instead of N words to demarcate the
cycle's path, as you and I both seem to think is a good idea (the fact that
Ben found that a fully-compatible implementation is hard or impossible
because of our UVW axes is another push in the 
> direction of making our own sane/coherent-within-ngc implementation, I
believe).  I think this is especially important if the roughing cycle
doesn't work with cutter comp, since you will often want to then turn on
comp afterward and run the path one more time
> Rework the patch so roughing can be run directly with cutter compensation
on
I'd consider all of these as part of the minimum - at least for the common
errors.

Andy Pugh wrote:
> One thing I think I spotted looking at it in a Sim is that the X retract
prior to the Z retract seems to be in the wrong direction.
> Other than that, it seems like it would at least work.
Bug in patch 1, should be fixed in latest commit.

> There are two demo files in the ngc directory (G71test1, G71test2) showing
internal and external profiles.
> The demos always run the profile too, rather than just the roughing pass.
I am not sure if that is meant to happen.
Intended behaviour - if I or K is specified the cycle runs a pre-finishing
pass. This allows a consistent finishing thickness for the G70 pass.

To get the behaviour I think you were expecting remove both I and K.

> Putting an M1 between the G71 call and the block (to see if it was just
running the block after the G71) was inconclusive. it ended up running part
of the overall profile three times. Most odd.
Interesting, I'll test - not sure why this one is happening.

John Thornton wrote:
> If your needing testers I can attempt to test this on my Hardinge CHNC. 
> All I have to do is to remember to download it in the morning during free
time...
> 
> JT

Much appreciated - I'd personally wait till we've checked for a few more
edge cases in sim. 
If you have any examples of files that you think would be awkward, feel free
to throw them at it/me/us.

Ben


--

Re: [Emc-developers] G71... was Distributing remaps

2016-11-16 Thread EBo
On Nov 16 2016 9:11 AM, Chris Radek wrote:
> On Wed, Nov 16, 2016 at 08:15:42AM -0600, dragon wrote:
>> Below is a link to an email thread where Ben Potter submitted a 
>> patch
>> set to implement g71 into the interpreter in 2012. It was never 
>> accepted.
>>
>> 
>> https://sourceforge.net/p/emc/mailman/emc-users/thread/000601cd831d%24bc81b600%2435852200%24%40org/#msg29723177
>>
>> Andy Pugh has updated the patch set to apply to the 2.8 branch (big
>> thanks Andy!)...
>>
>> https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71
>>
>> I would really appreciate some feedback as to what needs done for 
>> this
>> to get accepted. I don't want to spend a bunch of time on it if it 
>> isn't
>> going to go anywhere. It would be great if it can be used as a 
>> starting
>> point to finally get the lathe roughing cycles implemented.
>>
>> Thanks,
>> Todd
>
> Hi Todd, it was good to meet you at fest and I'm glad you're still
> interested in this.  It looks like Ben's work is a terrific starting
> point, and I am super excited and I want to help you however I can.
>
> I did a basic review and added some comments to
>
> 
> https://github.com/LinuxCNC/linuxcnc/commit/0da9a50f30bb575d557b6617fa0fb0b228216f43
>
> Here are my thoughts about what it would take to make this
> mergeable, in approximate order of my own feeling about importance,
> from necessary to wishful:
>
> Verify by eyeball the output for a variety of paths and fixup
> accordingly
>
> Verify that non-type-1 paths always give an appropriate error
> message (and not bogus motion).  I think I found an error check that
> was wrong (I added a comment), so I think this is not well-tested
> yet.
>
> Verify that you can't easily break the algorithm without getting
> suitable error messages, such as by doing things like changing units
> in the middle of the profile definition, switching between radius
> and diameter modes, mixing IK and R arcs, using R arcs with negative
> radius, N words out of order, block delete, requesting multiturn
> arcs, requesting depths that are negative or bigger than the path,
> etc etc. and convince yourself it always either gives a good path or
> gives a coherent error

with all this verification and reproducing errors, please try to write 
a unit test for the testing framework -- so that we can catch it if/when 
it breaks.


   EBo --


--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71... was Distributing remaps

2016-11-16 Thread Chris Radek
On Wed, Nov 16, 2016 at 08:15:42AM -0600, dragon wrote:
> Below is a link to an email thread where Ben Potter submitted a patch
> set to implement g71 into the interpreter in 2012. It was never accepted.
> 
> https://sourceforge.net/p/emc/mailman/emc-users/thread/000601cd831d%24bc81b600%2435852200%24%40org/#msg29723177
> 
> Andy Pugh has updated the patch set to apply to the 2.8 branch (big
> thanks Andy!)...
> 
> https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71
> 
> I would really appreciate some feedback as to what needs done for this
> to get accepted. I don't want to spend a bunch of time on it if it isn't
> going to go anywhere. It would be great if it can be used as a starting
> point to finally get the lathe roughing cycles implemented.
> 
> Thanks,
> Todd

Hi Todd, it was good to meet you at fest and I'm glad you're still
interested in this.  It looks like Ben's work is a terrific starting
point, and I am super excited and I want to help you however I can.  

I did a basic review and added some comments to

https://github.com/LinuxCNC/linuxcnc/commit/0da9a50f30bb575d557b6617fa0fb0b228216f43

Here are my thoughts about what it would take to make this
mergeable, in approximate order of my own feeling about importance,
from necessary to wishful:

Verify by eyeball the output for a variety of paths and fixup
accordingly

Verify that non-type-1 paths always give an appropriate error
message (and not bogus motion).  I think I found an error check that
was wrong (I added a comment), so I think this is not well-tested
yet.

Verify that you can't easily break the algorithm without getting
suitable error messages, such as by doing things like changing units
in the middle of the profile definition, switching between radius
and diameter modes, mixing IK and R arcs, using R arcs with negative
radius, N words out of order, block delete, requesting multiturn
arcs, requesting depths that are negative or bigger than the path,
etc etc. and convince yourself it always either gives a good path or
gives a coherent error

Add documentation for the cycle, how to use it, its limitations

Add a single sai-based runtest that roughs a path that's carefully
chosen to exercise as much of the geometric code as possible

(somewhere around here in my list is where I would consider the
above to be the minimum necessary for merging into master)

Add sai-based runtests that trigger the error conditions when you do
things that aren't handled

Rework the patch so it uses an O sub instead of N words to demarcate
the cycle's path, as you and I both seem to think is a good idea
(the fact that Ben found that a fully-compatible implementation is
hard or impossible because of our UVW axes is another push in the
direction of making our own sane/coherent-within-ngc implementation,
I believe).  I think this is especially important if the roughing
cycle doesn't work with cutter comp, since you will often want to
then turn on comp afterward and run the path one more time

Rework the patch so roughing can be run directly with cutter
compensation on


Again, thanks for working on this, and let me know how to help you.

Chris


--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71... was Distributing remaps

2016-11-16 Thread andy pugh
On 16 November 2016 at 14:40, John Thornton  wrote:
> If your needing testers I can attempt to test this on my Hardinge CHNC.
> All I have to do is to remember to download it in the morning during
> free time...

One thing I think I spotted looking at it in a Sim is that the X
retract prior to the Z retract seems to be in the wrong direction.
Other than that, it seems like it would at least work.

There are two demo files in the ngc directory (G71test1, G71test2)
showing internal and external profiles.
The demos always run the profile too, rather than just the roughing
pass. I am not sure if that is meant to happen.

Putting an M1 between the G71 call and the block (to see if it was
just running the block after the G71) was inconclusive. it ended up
running part of the overall profile three times. Most odd.

-- 
atp
"A motorcycle is a bicycle with a pandemonium attachment and is
designed for the especial use of mechanical geniuses, daredevils and
lunatics."
— George Fitch, Atlanta Constitution Newspaper, 1916

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71... was Distributing remaps

2016-11-16 Thread John Thornton
If your needing testers I can attempt to test this on my Hardinge CHNC. 
All I have to do is to remember to download it in the morning during 
free time...

JT

On 11/16/2016 8:15 AM, dragon wrote:
> Below is a link to an email thread where Ben Potter submitted a patch
> set to implement g71 into the interpreter in 2012. It was never accepted.
>
> https://sourceforge.net/p/emc/mailman/emc-users/thread/000601cd831d%24bc81b600%2435852200%24%40org/#msg29723177
>
> Andy Pugh has updated the patch set to apply to the 2.8 branch (big
> thanks Andy!)...
>
> https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71
>
> I would really appreciate some feedback as to what needs done for this
> to get accepted. I don't want to spend a bunch of time on it if it isn't
> going to go anywhere. It would be great if it can be used as a starting
> point to finally get the lathe roughing cycles implemented.
>
> Thanks,
> Todd
>
> On 11/14/2016 09:48 AM, Sebastian Kuzminsky wrote:
>> On 11/14/2016 08:20 AM, dragon wrote:
>>> That was exactly my plan as well. Use a sub to make it more in line with
>>> the way that linuxCNC already does things.
>>>
>>> There have been a few attempts at g71 in the past, but they were all
>>> half-baked from what I could find. None that I found implemented g70.
>>> They were also very 'hacky' in the way that they tried to use line
>>> numbers. I personally feel that the fix for that is to use an o-sub.
>>>
>>> The big question is, if it is done as a remap will it get distributed?
>> I really like the g-code syntax you (Todd/Dragon and Andy) are talking
>> about, using o-subs instead of line numbers for the profile.
>>
>> I think remap might be a good way to prototype it, and it could be
>> distributed (like Sam says) as one of the remap examples.  In this
>> format it would be useful to anyone who did the work of integrating that
>> remap code with their own machine config.
>>
>> But i think the end goal should be inclusion into the C++ code inside
>> the interpreter itself, so that it's available to all users with no
>> setup required.
>>
>>
>> This is just one dude's opinion, take it with a grain of salt since it
>> didn't come with an offer to help do the work!
>>
>>
>
>
> --
>
>
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers

--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71... was Distributing remaps

2016-11-16 Thread dragon
Below is a link to an email thread where Ben Potter submitted a patch
set to implement g71 into the interpreter in 2012. It was never accepted.

https://sourceforge.net/p/emc/mailman/emc-users/thread/000601cd831d%24bc81b600%2435852200%24%40org/#msg29723177

Andy Pugh has updated the patch set to apply to the 2.8 branch (big
thanks Andy!)...

https://github.com/LinuxCNC/linuxcnc/tree/BenPotter/G71

I would really appreciate some feedback as to what needs done for this
to get accepted. I don't want to spend a bunch of time on it if it isn't
going to go anywhere. It would be great if it can be used as a starting
point to finally get the lathe roughing cycles implemented.

Thanks,
Todd

On 11/14/2016 09:48 AM, Sebastian Kuzminsky wrote:
> On 11/14/2016 08:20 AM, dragon wrote:
>> That was exactly my plan as well. Use a sub to make it more in line with
>> the way that linuxCNC already does things.
>>
>> There have been a few attempts at g71 in the past, but they were all
>> half-baked from what I could find. None that I found implemented g70.
>> They were also very 'hacky' in the way that they tried to use line
>> numbers. I personally feel that the fix for that is to use an o-sub.
>>
>> The big question is, if it is done as a remap will it get distributed?
> 
> I really like the g-code syntax you (Todd/Dragon and Andy) are talking 
> about, using o-subs instead of line numbers for the profile.
> 
> I think remap might be a good way to prototype it, and it could be 
> distributed (like Sam says) as one of the remap examples.  In this 
> format it would be useful to anyone who did the work of integrating that 
> remap code with their own machine config.
> 
> But i think the end goal should be inclusion into the C++ code inside 
> the interpreter itself, so that it's available to all users with no 
> setup required.
> 
> 
> This is just one dude's opinion, take it with a grain of salt since it 
> didn't come with an offer to help do the work!
> 
> 



signature.asc
Description: OpenPGP digital signature
--
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread Michael Haberler

Am 23.08.2013 um 18:35 schrieb David Armstrong :

> On 23/08/13 17:10, andy pugh wrote:
>> On 23 August 2013 16:55, Michael Haberler  wrote:
>>> Now if it turns out to be more of a packaging problem what we are talking 
>>> about here, then why dont we think a little bit about packaging extensions 
>>> and make them easier installable?
>> That might be a solution.
>> 
>> The G-code remapping capability we have is great, but it is very much
>> at the "Integrator" not the "User" level.
>> As the forum thread linked to show, some people really don't want to
>> be anywhere near what they think of as "programming", even those who
>> write and work with G-code.
>> 
>> 
>> 
> i totaly agree Andy ,
> although my other concern is that , for example everyone expects G71 to 
> work out the box to resonable laid down standard or spec , as many 
> commercial cam programs output for canned cycles out the box
> the last thing we need is an apprentice to go and change it fundamentaly 
> , although say adding say G71.1 would be acceptable .

> but having certian codes such as G71 in a plugin directory , we would 
> then be able to say in the doc's that G71 is supported directly as 
> installed , which is different for someone to see it missing , but that 
> having to trawl or post to see , what he thinks for whatever reason is a 
> work around ... as he sees it not incorporated in the main build .


right, you want G71 to be always present, then you ship the interpreter with 
that extensions and any other you deem essential - that's like stock plugins

nothing keeps us from defining extension sets like 'packaged', say 'recommended 
for lathe',  'recommended for mill', 'experimental', or whatever categories

--

If there is any lesson to be learned from what is happening with user 
interfaces right now: if it is possible in Python, it will be picked up 
eventually - not everybody, but quite a few nevertheless; if it is C++, it will 
not happen


time to sketch a spec for that feature


-m

> 
> 
> 
> --
> Introducing Performance Central, a new site from SourceForge and 
> AppDynamics. Performance Central is your source for news, insights, 
> analysis and resources for efficient Application Performance Management. 
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread David Armstrong
On 23/08/13 17:10, andy pugh wrote:
> On 23 August 2013 16:55, Michael Haberler  wrote:
>> Now if it turns out to be more of a packaging problem what we are talking 
>> about here, then why dont we think a little bit about packaging extensions 
>> and make them easier installable?
> That might be a solution.
>
> The G-code remapping capability we have is great, but it is very much
> at the "Integrator" not the "User" level.
> As the forum thread linked to show, some people really don't want to
> be anywhere near what they think of as "programming", even those who
> write and work with G-code.
>
>
>
i totaly agree Andy ,
although my other concern is that , for example everyone expects G71 to 
work out the box to resonable laid down standard or spec , as many 
commercial cam programs output for canned cycles out the box
the last thing we need is an apprentice to go and change it fundamentaly 
, although say adding say G71.1 would be acceptable .

but having certian codes such as G71 in a plugin directory , we would 
then be able to say in the doc's that G71 is supported directly as 
installed , which is different for someone to see it missing , but that 
having to trawl or post to see , what he thinks for whatever reason is a 
work around ... as he sees it not incorporated in the main build .



--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread David Armstrong
On 23/08/13 16:55, Michael Haberler wrote:
> Am 23.08.2013 um 15:58 schrieb David Armstrong :
>
>> On 23/08/13 14:06, andy pugh wrote:
>>> On 23 August 2013 13:38, Michael Haberler  wrote:
 Flatly I dont get it why folks just go straight to patching around in C++ 
 code, and inventing bizarre new control "features" instead of reading a 
 manual and trying examples
>>> Maybe because they see G71 as an addition to the LinuxCNC G-code
>>> language support, not an additional, optional, plug-in that requires
>>> users to configure Python files and create a unique system all of
>>> their own?
>>>
>>> I don't even know if this is an accurate description of the situation,
>>> but a G-code that only works for some people does seem like it might
>>> cause problems.
>>>
>> I respectfully place this view .
>>
>> My point is that not all people are programmers or capable of scripting
>> or re-compiling , and what is now a resonable standard G Code  , should
>> be supported as such and part of the mainstream build
>> i have come across many people thinking to use Linuxcnc , and because it
>> does not conform to their resonable standards out the box , in
>> comparison to x product  they wont use it , due to machine down time and
>> perhaps the learning curve are other matters , but every controller on
>> the planet just about has canned cycles G71 as standard , so no learning
>> curve ! .
>>
>> which is perhaps one point why it keeps popping up on the lists and
>> forums ..
>>
>> the easier we make it to do the majority out the box the better .
>> we should support standards and leave scripting for the newer wizards ..
> that's all fine, the problem is you ask 10 people and get 15+ different views 
> of what is 'standard'
>
> now if you go down the 'lets do it in C++' route everybody rams down his view 
> everybody else's throat, including any aberration - see the murky control 
> flow changes which are inacceptable as proposed IMV
>
> if you do a remapping config, that does not happen because its optional; the 
> C++ patches are not made to be optional.

 I think it's more a question of ease of use , for the non 
programmers , and for it to be included by default  in an extension 
directory , rather than an addition by whatever means
so why not a directory structure  where these  ' plugins can reside ' , 
but to the user they are transparent and need no manipulation to work
i.e installed by default , so yes i agree it's more of a packaging and 
'Yes it works out the box ' rather than ' oh you need to do this for x 
to work ! '

so yea i think thoughts on it's structure may be the best way , and by 
far i'm not the one to suggest how to implement it , i am by far not 
criticising how it is now , just how the hell to make it better
from the user point of view , that knows enough to be dangerous with 
linux .. and a machine attached
> --
>
> Let's take an analogy, for instance Firefox and say Autocad. These are 
> generic frameworks with a plugin capability, and it is very easy to adapt 
> behavior by installing 'extensions', ad blockers, lisp files, what have you. 
> Much of the functionality comes from plugins, and nobody would think of 
> asking Autocad or Mozilla Foundation to recode their favorite plugin in the 
> core code just because they love C++ so much.
>
> I dont see the interpreter as anywhere different. You dont like what you 
> have, you provide an extension. In fact I would see a future interpreter as a 
> minimal C/C++ framework wich generates an abstract syntax tree, and exposes 
> this to an embedded Language, which provides 'the meat' (semantics). Then the 
> difference between core and extension code goes away completely.
>
> That said, I concede that building such an extension isnt exactly the most 
> straighforward thing on earth, it requires reading the manual and working 
> through the examples. But people definitely use it.
>
> Now if it turns out to be more of a packaging problem what we are talking 
> about here, then why dont we think a little bit about packaging extensions 
> and make them easier installable?
>
> A remapped code is a .ini fragment, maybe a bit of Python, maybe an NGC file 
> or several. Those could well be collected in a per-extension directory, and I 
> could even imagine making these installable with say 'apt-get install 
> rs274-g71-suchandsuch-flavor', and on startup that extension would be pulled 
> in automatically because the interpreter scans a directory of installed 
> extensions, which are one per subdirectory therein. That is for instance 
> exactly what apache does, and gazillion of other demons which have some 
> /etc/.d/ directory where config fragments are assembled.
>
>
> - Michael
>
>
>
>
>> With all the changes Micheal and others are doing are for the best , yes
>> i agree , but missing out the basics .. should not be taken lightly ,
>> everyone is thinking as a programmer .. or coder ... not as a user or
>> poor apprentice been given the task

Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread andy pugh
On 23 August 2013 16:55, Michael Haberler  wrote:
> Now if it turns out to be more of a packaging problem what we are talking 
> about here, then why dont we think a little bit about packaging extensions 
> and make them easier installable?

That might be a solution.

The G-code remapping capability we have is great, but it is very much
at the "Integrator" not the "User" level.
As the forum thread linked to show, some people really don't want to
be anywhere near what they think of as "programming", even those who
write and work with G-code.



-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread Michael Haberler

Am 23.08.2013 um 15:58 schrieb David Armstrong :

> On 23/08/13 14:06, andy pugh wrote:
>> On 23 August 2013 13:38, Michael Haberler  wrote:
>>> Flatly I dont get it why folks just go straight to patching around in C++ 
>>> code, and inventing bizarre new control "features" instead of reading a 
>>> manual and trying examples
>> Maybe because they see G71 as an addition to the LinuxCNC G-code
>> language support, not an additional, optional, plug-in that requires
>> users to configure Python files and create a unique system all of
>> their own?
>> 
>> I don't even know if this is an accurate description of the situation,
>> but a G-code that only works for some people does seem like it might
>> cause problems.
>> 
> 
> I respectfully place this view .
> 
> My point is that not all people are programmers or capable of scripting 
> or re-compiling , and what is now a resonable standard G Code  , should 
> be supported as such and part of the mainstream build
> i have come across many people thinking to use Linuxcnc , and because it 
> does not conform to their resonable standards out the box , in 
> comparison to x product  they wont use it , due to machine down time and 
> perhaps the learning curve are other matters , but every controller on 
> the planet just about has canned cycles G71 as standard , so no learning 
> curve ! .
> 
> which is perhaps one point why it keeps popping up on the lists and 
> forums ..
> 
> the easier we make it to do the majority out the box the better .
> we should support standards and leave scripting for the newer wizards ..

that's all fine, the problem is you ask 10 people and get 15+ different views 
of what is 'standard'

now if you go down the 'lets do it in C++' route everybody rams down his view 
everybody else's throat, including any aberration - see the murky control flow 
changes which are inacceptable as proposed IMV

if you do a remapping config, that does not happen because its optional; the 
C++ patches are not made to be optional.

--

Let's take an analogy, for instance Firefox and say Autocad. These are generic 
frameworks with a plugin capability, and it is very easy to adapt behavior by 
installing 'extensions', ad blockers, lisp files, what have you. Much of the 
functionality comes from plugins, and nobody would think of asking Autocad or 
Mozilla Foundation to recode their favorite plugin in the core code just 
because they love C++ so much.

I dont see the interpreter as anywhere different. You dont like what you have, 
you provide an extension. In fact I would see a future interpreter as a minimal 
C/C++ framework wich generates an abstract syntax tree, and exposes this to an 
embedded Language, which provides 'the meat' (semantics). Then the difference 
between core and extension code goes away completely.

That said, I concede that building such an extension isnt exactly the most 
straighforward thing on earth, it requires reading the manual and working 
through the examples. But people definitely use it.

Now if it turns out to be more of a packaging problem what we are talking about 
here, then why dont we think a little bit about packaging extensions and make 
them easier installable?

A remapped code is a .ini fragment, maybe a bit of Python, maybe an NGC file or 
several. Those could well be collected in a per-extension directory, and I 
could even imagine making these installable with say 'apt-get install 
rs274-g71-suchandsuch-flavor', and on startup that extension would be pulled in 
automatically because the interpreter scans a directory of installed 
extensions, which are one per subdirectory therein. That is for instance 
exactly what apache does, and gazillion of other demons which have some 
/etc/.d/ directory where config fragments are assembled.


- Michael




> With all the changes Micheal and others are doing are for the best , yes 
> i agree , but missing out the basics .. should not be taken lightly , 
> everyone is thinking as a programmer .. or coder ... not as a user or 
> poor apprentice been given the task to program a machine .
> 
> what can be easy for us to use , can be a nightmare of major proportions 
> for others .




> 
> or are we displaying it to wider user the wrong way .
> 
> 
> --
> Introducing Performance Central, a new site from SourceForge and 
> AppDynamics. Performance Central is your source for news, insights, 
> analysis and resources for efficient Application Performance Management. 
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Cent

Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread David Armstrong
On 23/08/13 14:06, andy pugh wrote:
> On 23 August 2013 13:38, Michael Haberler  wrote:
>> Flatly I dont get it why folks just go straight to patching around in C++ 
>> code, and inventing bizarre new control "features" instead of reading a 
>> manual and trying examples
> Maybe because they see G71 as an addition to the LinuxCNC G-code
> language support, not an additional, optional, plug-in that requires
> users to configure Python files and create a unique system all of
> their own?
>
> I don't even know if this is an accurate description of the situation,
> but a G-code that only works for some people does seem like it might
> cause problems.
>

I respectfully place this view .

My point is that not all people are programmers or capable of scripting 
or re-compiling , and what is now a resonable standard G Code  , should 
be supported as such and part of the mainstream build
i have come across many people thinking to use Linuxcnc , and because it 
does not conform to their resonable standards out the box , in 
comparison to x product  they wont use it , due to machine down time and 
perhaps the learning curve are other matters , but every controller on 
the planet just about has canned cycles G71 as standard , so no learning 
curve ! .

which is perhaps one point why it keeps popping up on the lists and 
forums ..

the easier we make it to do the majority out the box the better .
we should support standards and leave scripting for the newer wizards ..

With all the changes Micheal and others are doing are for the best , yes 
i agree , but missing out the basics .. should not be taken lightly , 
everyone is thinking as a programmer .. or coder ... not as a user or 
poor apprentice been given the task to program a machine .

what can be easy for us to use , can be a nightmare of major proportions 
for others .

or are we displaying it to wider user the wrong way .


--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread andy pugh
On 23 August 2013 13:38, Michael Haberler  wrote:
> Flatly I dont get it why folks just go straight to patching around in C++ 
> code, and inventing bizarre new control "features" instead of reading a 
> manual and trying examples

Maybe because they see G71 as an addition to the LinuxCNC G-code
language support, not an additional, optional, plug-in that requires
users to configure Python files and create a unique system all of
their own?

I don't even know if this is an accurate description of the situation,
but a G-code that only works for some people does seem like it might
cause problems.

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread Michael Haberler

Am 23.08.2013 um 14:13 schrieb andy pugh :

> On 23 August 2013 11:50, Michael Haberler  wrote:
> 
>> all of this can be achieved without any C++ changes, by just using 
>> documented methods as outlined here:
> 
> Are you sure? One feature of G71 is that it interprets a block of
> G-code as defining a profile, but then doesn't actually follow the
> moves in that profile.

We had a similar profile discussion about a year ago, the proposed solution I 
suggested was:

  
http://git.mah.priv.at/gitweb?p=emc2-dev.git;a=shortlog;h=refs/heads/list-recorder-by-remap

This was about a patch with severe breakage potential on label semantics and 
then some. The suggestion wasnt taken up because of a personal preference for 
C++ over Python, after which I rested my case.

> I can see that that might be possible in Python, but not as a G-code
> based G-code remap.

why? all fields in a block are exposed in Python and open for alternative 
interpretation during a remapped code.


> Also, as is clear in that forum thread, not everyone wants to have to
> install chunks of code or patch the source to have access to what is a
> moderately standard G-code.

sure, that was the reason why extensability of the interpreter was on the 
desired feature list, and why I put considerable effort into making it work - I 
have no idea why folks refuse to look at whats there and go straight to 
fiddling C++ code. Thats what plugins are all about, I would think.


> What little thought I have given to G71 (and friends) begins with
> adding an extra O-word "O100 BLOCK / ENDBLOCK" to define a chunk of
> code (and provide an ID number for it) that is skipped by the normal
> G-code parser, but that can be interpreted by a special routing (the
> same idea would work for a mill-pocketing routine)

Have a look at the list-recorder-by-remap code. The basic idea is to mirror the 
codes used in the profile definition:

http://git.mah.priv.at/gitweb?p=emc2-dev.git;a=blob;f=configs/sim/remap/list-recorder/list-recorder.ini;h=379e96eb0d041ec22efb09fc0c186dcfdecb55d4;hb=65e9a3087223a196147d74625f715700cbe5d683#l99

so the 'recording version' of G0 becomes G0.1, G1 becomes G.1 etc. 

line 20 onwards shows the recording method: 
http://git.mah.priv.at/gitweb?p=emc2-dev.git;a=blob;f=configs/sim/remap/list-recorder/nc_files/list.ngc;h=9609fccc7924566dbe4739fe2a5443684f01baf4;hb=65e9a3087223a196147d74625f715700cbe5d683

line 30 and 35 show the 'dump profile' and 'replay profile' operations.

The is no need whatsoever to invent new block semantics, or fudge label 
semantics as proposed at the time and here. It is all linear execution.

No breakage potential with new ad-hack control structures, all documented, 
doable now, examples available. 

--

Flatly I dont get it why folks just go straight to patching around in C++ code, 
and inventing bizarre new control "features" instead of reading a manual and 
trying examples, maybe ask a question on the list before going about it.

- Michael

> 
> I am not clear how the G71 in that patch works, is there any
> documentation for it? What prevents the G-code interpreter from
> executing the N-numbered lines?



> 
> -- 
> atp
> If you can't fix it, you don't own it.
> http://www.ifixit.com/Manifesto
> 
> --
> Introducing Performance Central, a new site from SourceForge and 
> AppDynamics. Performance Central is your source for news, insights, 
> analysis and resources for efficient Application Performance Management. 
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread andy pugh
On 23 August 2013 11:50, Michael Haberler  wrote:

> all of this can be achieved without any C++ changes, by just using documented 
> methods as outlined here:

Are you sure? One feature of G71 is that it interprets a block of
G-code as defining a profile, but then doesn't actually follow the
moves in that profile.
I can see that that might be possible in Python, but not as a G-code
based G-code remap.

Also, as is clear in that forum thread, not everyone wants to have to
install chunks of code or patch the source to have access to what is a
moderately standard G-code.

What little thought I have given to G71 (and friends) begins with
adding an extra O-word "O100 BLOCK / ENDBLOCK" to define a chunk of
code (and provide an ID number for it) that is skipped by the normal
G-code parser, but that can be interpreted by a special routing (the
same idea would work for a mill-pocketing routine)

I am not clear how the G71 in that patch works, is there any
documentation for it? What prevents the G-code interpreter from
executing the N-numbered lines?

-- 
atp
If you can't fix it, you don't own it.
http://www.ifixit.com/Manifesto

--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread David Armstrong
On 23/08/13 11:50, Michael Haberler wrote:
> Am 23.08.2013 um 12:43 schrieb David Armstrong :
>
>> support for G71
>>
>> As per posting on the forum , can this patch be assessed and included
>> into master
>
> which forum post?
>
>> http://www.bpuk.org/linuxcnc/g71-patch-2-initial-feedback-mod2.diff
> all of this can be achieved without any C++ changes, by just using documented 
> methods as outlined here:
>
> http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_creating_new_g_code_cycles_a_id_remap_g_code_cycles_a
>
> - Michael
>
>
>> --
>> Introducing Performance Central, a new site from SourceForge and
>> AppDynamics. Performance Central is your source for news, insights,
>> analysis and resources for efficient Application Performance Management.
>> Visit us today!
>> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
>> ___
>> Emc-developers mailing list
>> Emc-developers@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/emc-developers
>
> --
> Introducing Performance Central, a new site from SourceForge and
> AppDynamics. Performance Central is your source for news, insights,
> analysis and resources for efficient Application Performance Management.
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers
>
>
http://linuxcnc.org/index.php/english/forum/9-installing-linuxcnc/26833-using-g71-on-sherline-lathe#37888



--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers


Re: [Emc-developers] G71 canned cycle

2013-08-23 Thread Michael Haberler

Am 23.08.2013 um 12:43 schrieb David Armstrong :

> support for G71
> 
> As per posting on the forum , can this patch be assessed and included 
> into master


which forum post?

> 
> http://www.bpuk.org/linuxcnc/g71-patch-2-initial-feedback-mod2.diff

all of this can be achieved without any C++ changes, by just using documented 
methods as outlined here:

http://www.linuxcnc.org/docs/devel/html/remap/structure.html#_creating_new_g_code_cycles_a_id_remap_g_code_cycles_a

- Michael


> 
> --
> Introducing Performance Central, a new site from SourceForge and 
> AppDynamics. Performance Central is your source for news, insights, 
> analysis and resources for efficient Application Performance Management. 
> Visit us today!
> http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
> ___
> Emc-developers mailing list
> Emc-developers@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-developers


--
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk
___
Emc-developers mailing list
Emc-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-developers