elliotf / heekscnc

Automatically exported from code.google.com/p/heekscnc
Other
1 stars 0 forks source link

Cutter compensation should be on before profile roll-in start point #322

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Set program to EMC2 with cutter compensation
2. Create several points and make a curved spline through them. I used points 
(in inches) at (0.6,0.5), (0,0.5), (-0.4,-0.3), (-0.6,0).
3. Select points in order and make to sketch.
4. Apply a profile to the sketch, cutting on the outside of the curve. Set up 
auto roll-in and out with a radius of 0.5". Use a 1/4" end mill.
5. Post process.
6. Examine the tool path and gcode. The roll-in arc displays correctly, but in 
the gcode the start point of the roll-in arc happens before cutter compensation 
is turned on. In EMC2 this results in a roll-in start point that is different 
from what was desired by the cutter radius.

What is the expected output? What do you see instead?
In gcode, G41/G42 should appear before the start point of the roll-in arc.

What version of the product are you using? On what operating system?
Built in Ubuntu from master on 1-Dec-2011.

Please provide any additional information below.
It appears another problem occurs at the end of the profile, where cutter 
compensation is turned off just before a rapid to the clearance height. Since 
cutter comp is turned off this rapid will also cause motion in X and/or Y, 
possibly gouging the part on the way up.

My gcode output, for the above profile:
(Created with emc2b Cutter Radius Compensation post processor 2011/12/02 13:03)
(Feeds and Speeds set for machining Aluminium)
G54  (Select Relative Coordinate System)
(tool change to 1/4 inch HSS End Mill)
T6 M06
G17 G90 G20
(Sketch)
G00 X-1.325 Y-0.3305 S1000 M03
Z0.4
G01 Z-0.5 F2
G41 D6
G03X-0.7 Y0 I0.1472 J0.4778 F2.36
G02X-0.6671 Y0.0852 I0.6291 J-0.1939
X-0.6223 Y0.1647 I0.5517 J-0.2582
X-0.5696 Y0.2328 I0.5069 J-0.3377
X-0.508 Y0.2931 I0.486 J-0.4344
X-0.4393 Y0.3451 I0.4534 J-0.5284
X-0.3651 Y0.3888 I0.4519 J-0.6817
X-0.2849 Y0.4257 I0.4149 J-0.7968
X-0.2016 Y0.4553 I0.4046 J-1.0079
X-0.1142 Y0.4787 I0.3527 J-1.1387
X-0.0254 Y0.4961 I0.3154 J-1.3817
X0.0648 Y0.5079 I0.2445 J-1.5096
X0.1555 Y0.5147 I0.1753 J-1.7293
X0.3281 Y0.5152 I0.091 J-1.8691
X0.5 Y0.5 I-0.0838 J-1.9232
G03X1.0619 Y0.9291 I0.0664 J0.4955
G40
G00 Z0.5
M02

Original issue reported on code.google.com by kkec...@gmail.com on 2 Dec 2011 at 9:48

GoogleCodeExporter commented 8 years ago
Sorry, one of the points should have been (-0.4,+0.3), not (-0.4,-0.3)

Original comment by kkec...@gmail.com on 2 Dec 2011 at 9:51

GoogleCodeExporter commented 8 years ago
Another mistake -- Step 3 should be

3. Select the spline and make to sketch

Original comment by kkec...@gmail.com on 3 Dec 2011 at 3:28

GoogleCodeExporter commented 8 years ago
try using 'lead in line length' and 'lead out line length' in the profile 
machining dialog

Original comment by ddfalck2...@yahoo.com on 3 Dec 2011 at 9:24

GoogleCodeExporter commented 8 years ago
did you check this on the mashine controller
emc 2.4.6 does not effect the offset on Z moves
also in 2.5 
2.3.x is differend on this 
for the new software this is wright  

BUT it is all in Python you only need to change the  insert line or outlat line 
of the CRC 

Original comment by lot...@foengarage.de on 5 Dec 2011 at 11:56

GoogleCodeExporter commented 8 years ago
in the kurve_funcs.py
line 362
"""
        # restore the unsplit kurve

        if len(tags) > 0:

            offset_curve = area.Curve(copy_of_offset_curve)

        if use_CRC():

            end_CRC()            

        # rapid up to the clearance height

        rapid(z = clearance)

"""

change to 
        # restore the unsplit kurve

        if len(tags) > 0:

            offset_curve = area.Curve(copy_of_offset_curve)

        # rapid up to the clearance height

        rapid(z = clearance)

        # end crc  if on 
        if use_CRC():
            end_CRC()            

Original comment by lot...@foengarage.de on 5 Dec 2011 at 12:17

GoogleCodeExporter commented 8 years ago
Thanks for the comments. Using the lead-in/out length helps. With it I 
generated the code below, to mill radii on the end of a bar. In EMC2 simulator 
(v2.4.6) there is no X or Y movement during the Z-only moves before the G42 
line. Not so at the end, the G00 Z1 line after the G40 also moves X. Maybe this 
is an EMC2 problem? If I move the G40 up by one line, there is no X movement 
with the Z-only move.

Also, viewed in EMC the lead-in and lead-out moves aren't tangential to the 
roll-in/out curves. They look tangential in the backplot in Heekscnc, but not 
in EMC2. (Maybe Heeks backplot doesn't consider cutter comp?) To make it 
tangential, the X of the lead-in/out moves would ideally be reduced by the 
cutter radius.

I'll look at the python code to see if I can manage to do this. 

(Created with emc2b Cutter Radius Compensation post processor 2011/12/05 10:50)
(Feeds and Speeds set for machining Alloy Steel < 0.3% carbon)
G54  (Select Relative Coordinate System)
(tool change to 3/4 inch HSS End Mill)
T7 M06
G17 G90 G20
(Sketch)
G00 X0.875 Y1 S500 M03
Z-0.7
G01 Z-0.75 F2
G42 D7
X0.875 Y0.5 F0.7
G02X0.375 Y0 I-0.5 J0
G03X0 Y-0.375 I0 J-0.375
G01 X0 Y-1.125
G03X0.375 Y-1.5 I0.375 J0
G02X0.875 Y-2 I0 J-0.5
G01 X0.875 Y-2.5
G40
G00 Z1
M02

Original comment by kkec...@gmail.com on 5 Dec 2011 at 9:08

GoogleCodeExporter commented 8 years ago
you did not change the Z move bevor the crc off  in the code you presented last 
post 
there is the Z beond 
so you need to change to 
        rapid(z = clearance)

        # end crc  if on 
        if use_CRC():
            end_CRC()      
this will have the effect you looking for
Z clear with CRC in place then crc off 

Original comment by lot...@foengarage.de on 6 Dec 2011 at 6:12