Greetings all;

I carving the side profile of the toolpost holder, my basic loop starts 
at a radius for the g3-g2 moves of about 2000, essentially a straight 
line.

#<_tmp_r> = 2000 (down to were I could restart the code at 500 or so 
since I've the cutaway from several failed starts now)

Then, without any other code except this in the WHILE loop
#<_tmp_r> = [#<_tmp_r> * 0.95]
which becomes the new r#<_tmp_r> for the next pass thru the loop.

But because of the geometry of the circular move, the center of a cut 
pass becomes progressively deeper until the machine doesn't have drive 
enough to cut that deep.

So what sort of code do I want to hack up that increases this multiplier 
as the end of the loop approaches?  Potentially even reducing the doc 
gradually toward the end as more and more of the circumference is being 
cut, and it larger at the left end of the cut.

What I have tried is a small tickler addition that gets larger until the 
IF statement stops it when the total of the multiplier and it 
approaches .998.

But where #_<var> starts at 0.001, a simple
o150 IF [#<_var> lt .048]
#<_var> = [#<_var> + 0.001]
give me an infinity error after the scanner has munched on the code for 
maybe 1.5 seconds, not instantly on a reload attempt?  And its pointing  
at the o150 IF statement as the cause.

Here is the code as I gave up on it just now.
==============================================
%
( to carve the Little Monsters tool post)
G18 G21 G7
#<_left_z>      =       -40.4600
#<_right_z>     =       -14.7180
#<_outer_x>     =       146.2000
#<_inner_x>     =       92.0680
#<_end_lft_z>   =       -52.0000
#<_tmp_z>       =       #<_left_z>
#<_start_r>     =       500
#<_tmp_r>       =       #<_start_r>
#<_init_mul>    = 0.950
#<_multscale>   =       0.002
(setup starting position)
G1 F100 z#<_right_z> x#<_outer_x>
G1 x#<_inner_x>
( start spindle)
s150m3
o100 WHILE [#<_tmp_r> gt 30.0]

#<_tmp_r>       = [#<_tmp_r> * #<_init_mul>]

(scale up multscale slowly)
#<_init_mul>    = [#<_init_mul> + #<_multscale>]
o150 IF [#<_multscale> lt 0.040]
#<_multscale>   =       [#<_multscale> + 0.002]
o150 ENDIF
( move left anchor to left until )

o200 IF [#<_tmp_z> gt #<_end_lft_z>]

(now, I need to slowly move the big, left end to the left because there 
are not now, any chuck jaws in the way.
#<_tmp_z>       =       [#<_tmp_z> -.075]

o200 ENDIF
G2 F15 z#<_tmp_z> x#<_outer_x> r#<_tmp_r>
(and retrace)
G3 F20 z#<_right_z> x#<_inner_x> r#<_tmp_r>
o100 ENDWHILE
M5
M2
%
=========================================
To see what it looks like, comment the 3 lines of the o150 IF
and it will load and display, or does here.

Please, be carefull you don't bust a gut laughing at this.

Thanks.

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 <http://geneslinuxbox.net:6309/gene>

------------------------------------------------------------------------------
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to