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
