View Full Version : Newbie to Forum and Macros "Need Help"


gtrrpa
06-04-2008, 08:36 AM
Hello everyone, this is my 1st Post so Hello #1. I'm new to Macros and am programming a takisawa using an older Fanuc control.What series,Don't know?
Anyways I'm using th "WHERE" DO1 and END1 in a facing routine in a very small part and it is looping, but it doesn't come out of the loop? I know I'm doing something very small that needs to be changed. All I've read is Shmitz's book on Macros and jumping in and started writing. I've got this far and know I'm having trouble.If someone can help please let me know and I can send the program. Thx gtrrpa

ImanCarrot
06-04-2008, 12:02 PM
Ello mate, and welcome to the boards.

I'm sure someone will correct me if I'm wrong- folk know a lot here, but...

Are you sure the "WHERE" command is right.. isn't it "WHILE"

eg:
WHILE [#00LT#101]DO1
...
...
END1

I'm not too sure about your particular settup and only have a couple of mins before I leave work.. will look at it more tomorrow, sorry I only have a couple of mins to spare, but I'm sure the conditional loop is "WHILE" not "WHERE"?

Search on here or Google the Web for the rather excellent Macro Programming guide by Scott Martinez, but I dunno if this pertains to your particular settup.

Also.. beware of global and local variables- some change with every call or exit from a subroutine (some stay the same).

Will post more tomorrow, and welcome here again!

gtrrpa
06-04-2008, 03:02 PM
Sorry "Corrrection" >>>>>>WHILE<<<<<<<<

chrisryn
06-04-2008, 04:38 PM
Lets see the code then we can go from there.

gtrrpa
06-04-2008, 06:29 PM
%
:O6807(LG M.C. C/B.843)
G28U0W0
#1=#26
#1=-.1
#3=#1+.002
T0303(FACE)
G97
G99
M03S850
/M08
G0X.1
G0Z.02
G1F.01Z[#1+.015]
WHILE[#1+.015GE[#1+.002]]DO 3
G1F.01W-.007
G1F.002X.84
G1G99F.002W.005
F.01X.1
END 3
G0Z4.
M01
M30
%
Dont forget, I'm in a counterbore with a .105 bore. Gong to finish c/bore at
.843 dia. THX all for the help.................

Mike Stevenson
06-04-2008, 06:54 PM
Man that is some bad code. Why on earth would you use a Macro to do that?

gtrrpa
06-04-2008, 08:43 PM
Have all sorts of parts where the Z depth changes on the c/bore and want to have the operator only change value of #1, which will have a note stateing that this will be Z depth.of other parts. This is the reason to stay away .002 from bottom of c/bore to take 2 passes of .001 because the intersection of the bore and the wall of the face of the c/bore has to be very sharp. Any other Ideas?

Mike Stevenson
06-04-2008, 08:58 PM
Well I think you should write individual cnc programs so your operator does not have to remember this wacky macky (macro.) :D

gtrrpa
06-05-2008, 02:59 AM
Only thing he has to change is #1 once it's done for all tools.As it's shown it's already been rough c/bored leaving .01

ImanCarrot
06-05-2008, 07:00 AM
Right, I'm by no means an expert at Macro programming, but if I recall correctly when you call a subroutine the variables are reset. So in your line

WHILE[#1+.015GE[#1+.002]]DO 3

#1 will start as zero and so the Greater than or Equal to statement will always be true and the loop will never end.

To pass variables into a sub- routine I think you need to use the G65 command.

Hang on.... might be a simpler solution...Try something for me please? instead of using variables #1 and #3 change these to #101 and #103- that should work since anything from #100 to #999 are Common Variables and, unlike Local Variables (#1 to #99), retain their values on entering and exiting to/ from a sub- routine. Variables #1 to #99 get reset on every subroutine call, so your conditional loop will (I think) always be true cos #1 will always start at zero.

PS- don't mess about with #0, it cannot be set and is neither zero or anything, it's always empty (not zero, but empty)

Also! don't mess with variables #1000 to #5999- unless you know what your up to LOL.

chrisryn
06-05-2008, 07:16 AM
I suggest changing to the common variables like Imancarrot mentioned but you might want to change your while statement to this.

WHILE[[#1+.015]GE[#1+.002]]DO 3

ImanCarrot
06-05-2008, 09:08 AM
Chris is right, that is neater. But, it still won't work cos of the passing of variables from the main program to the sub- routine.

You need to change variable #1 and #3 to #101 and #103 (or whatever # as long as it aint #0 or anything between #1000 to #5999). Variables #100 to #999 will keep their values on a subroutine call. I beleive that's where your problem is- the conditional loop will never end 'cos the value in #1 is not getting passed from the main program to the sub- routine and so variable #1 is always zero on entering the sub- routine and hence your conditional WHILE is always TRUE.

Every time you call or return a subroutine the (local) #variable will be reset to zero UNLESS you G65 the variables prior to the start of the program which allows keeping their values (system variables). Even nested loops will reset the variable at that level of sub- routine

My second suggestion in my previous post will work (ie: change the variables to above #99)... I think! but again, I'm not an expert.

I would definately use Chris's format for the equation- it's neater and simpler and intuitively right. Yours would probably work ok, but best to cover all the bases.

Please let us know if this works? If it does, you owe me a beer, lol: my mates down the pub at lunchtime were accusing me of being a workaholic as I scribbled over my notes with a pint of Stella :)

I'll try and find a link to Scott Martinez's excellent explanation of Macro Programming. It's incredibly good.

ImanCarrot
06-05-2008, 09:24 AM
Found it:

This document is reproduced in it's entirety with kind permission from Scott Martinez and remains his intellectual property with all rights reserved. Thanks Scott!

(any spelling mistakes are mine :)

Iain.

chrisryn
06-05-2008, 09:59 AM
:O6807(LG M.C. C/B.843)
G28U0W0
#1=#26
#1=-.1
#3=#1+.002
T0303(FACE)
G97
G99
M03S850
/M08
G0X.1
G0Z.02
G1F.01Z[#1+.015]
WHILE[#1+.015GE[#1+.002]]DO 3
G1F.01W-.007
G1F.002X.84
G1G99F.002W.005
F.01X.1
END 3
G0Z4.
M01
M30
%


Looking back over the program I see one main problem. Your setting #1 to two different values first one is = #26 second is =-.1.

Imancarrot your right on the varible part, but if you look at the program its not a subroutine it is the main program since the M30 is at the end and not a M99 to return to main prog. I don't think he is using G65 to call this. If he is thats the loop problem because instead of return to main it just rewinds this program.

gtrrpa
06-05-2008, 02:13 PM
You are right chrisyn, tried to sneak it in the main. Guess that won't work Huh? You have to call a G65 sub or Macro call out for it to work? Hey, Just learning.....

chrisryn
06-05-2008, 02:20 PM
No you can have it in the main. I think Imancarrot thought you were calling it with G65.
I have many of macros that are the main prog.

gtrrpa
06-05-2008, 05:35 PM
So you can just call it in the main without calling a G65 ? I was just using variables as you can see. Maybe best thing is for me to send g code program complete so you can see what I'm trying to do complete. thx alot for your help alll . thx for sending Martinez article also

gtrrpa
06-05-2008, 06:33 PM
Here's the mess I'm trying to get rid of. Instead of -.1 this program uses -.916
The depth of c/bores change constantly,And the bores which doesn't seem to be a problem changing that variable. But this is where I was trying to sneak the WHILE and END if possible. Apparently not. Let me know what you think?

K value is fine on the FEM.
ON 1ST CALL FOR TOOL #3 THE #1+.01 WAS NO PROBLEM.

ON 2ND CALL FOR "TOOL #3 FACE", IS WHERE I WAS TRYING TO SNEAK "WHILE" TO FACE .002 UNTIL I LEFT .002 ON THE BOTTOM OF C/BORE THEN WAS GOING TO TAKE .001 AT 2 PASSES TO ACHIEVE C/BORE CALL OUT.

T0303 SPRING IS NO PROBLEM
%
:O6806
G28U0W0
T0808(13/16 FEM)
G97
G99
M03S500
M08
G0X0
G0Z.02
G65P9137K-.906B.03F.002W.05Q.03A0.0
G0Z4.
/M01
/G28U0W0
T0303(LG. B/BAR)
G97
G99
M03S850
M08
G0X.8
G0Z.02
G1F.002Z-.906
X.78
G0Z.02
G0X.84
G1F.002Z-.906
X.82
G0Z4.
M01(CLEAN CHIPS)
T0303(FACE)
G97
G99
M03S850
M08
G0X.22
G0Z.02
G1F.01Z-.906
F.002X.84
Z-.9
F.01X.22
Z-.908
F.002X.84
Z-.9
F.01X.22
Z-.91
F.002X.84
Z-.9
F.01X.22
Z-.912
F.002X.84
Z-.9
F.01X.22
Z-.914
F.002X.84
Z-.9
F.01X.22
Z-.915
F.002X.84
Z-.9
F.01X.22
Z-.916
F.002X.84
Z-.9
X.8
G0Z.02
G0X.9236
G1F.002Z0
G2F.002X.8901Z-.0117R.0178
G1X.8458Z-.0727
G2X.843Z-.0805R.0228
G1F.001Z-.916
X.8
G0Z.02
T0303(SPRING)
G97
G99
M03S850
M08
G0Z.02
G0X.843
G1F.002Z-.916
X.8
G0Z6.
M09
G28U0W0
T0101
M30
%

chrisryn
06-05-2008, 10:42 PM
Ok so thats the complete g Code I also need the code thats in program number 9137 for the macro call. You talk about two G65 calls but there is only one.

gtrrpa
06-05-2008, 11:37 PM
There is only one. I'm tryin to call the "WHILE" without another G65 if possible? The 9137 is a deep drill cycle. Ya need it ? I'll send it in the a.m. !

gtrrpa
06-06-2008, 09:03 AM
%
:O9137(DRILLING MACRO)
IF[#6GE0]GOTO70
G00W0
#4=#5002
#17=ABS[#17]
#2=ABS[#2]
F#9
#27=ABS[#23]
#28=ABS[#6]-ABS[#26]
#29=ABS[#26]
DO1
IF[#27LE#17]GOTO2
GOTO3
N2#27=#17
N3IF[#27GE#28]GOTO4
G00Z[#2-#29]
G1Z-[#29+#27]
G00Z#4
G4U#1
#28=#28-#27
#29=#29+#27
#27=#27*.5
END1
N4G00Z[#2-#29]
G1Z#6F#9
G00Z#4
M99
N70#3000=1[K MUST BE NEG]
%

chrisryn
06-06-2008, 01:12 PM
Let me look it all over and I'll see what I can come up with.

chrisryn
06-08-2008, 05:35 PM
qtrrpa:
I know I am requesting a lot of info but do you have a print. I want to make sure I have everything right before releasing code.

gtrrpa
06-09-2008, 11:08 AM
All it is,is a c/bore with a dia. of .843 that stays constant with a 20* angle
.06 lead in(which isn't that critical).When I receive the parts the O.D.'s are
1" x 2.4" long (lengths vary)depending on family of parts, But is no concern of mine since I program from the face which is my "Z ZERO". The only 2 dim's that change consistentely on me are the bore dim's which I receive from the wrie edm and the depth of the c/bore.That's why I was only trying to use local variables and if the "While" didn't work I was just going to use (for 5 steps) #1+.005 then again #1+.003 and so on.Then go to my spring cut.
If you still need the print after this description let me know.

chrisryn
06-09-2008, 11:39 AM
Ok to make sure I get this right. These are the dimensions that need to be variables.
The bore diameter and length, Counter bore diameter and length?

Edit: After re reading I noticed its only the counter bore that you need the varibles for. Length and diameter?

gtrrpa
06-09-2008, 02:31 PM
The only things that would change are the Z depth on the counterbore and the (Bore Dia's) which come to me pre wired.This is where I start my facing
routine so I can get a sharp edge against the face of the c/bore and the bore.If my bore lets say is .05 dia. I start my facing routine at .04 dia.
In the program below I didn't state (sorry) the bore is .23 dia.
Counterbore dia. never gets changed.
Bore dia gets variable (starting point of facing routine -.01 in X)

(c/bore at this point has .01 of stock left from FEM and LG b/Bar)

c/bore depth gets variable ( stay away .01,face .002 at a time then .001 twice to leave a sharp edge and that's done.

chrisryn
06-09-2008, 02:49 PM
Ok thanks I am working on it. It may take me abit work just put 6 new parts on my desk, have to program, create setups and proof the program. If its a major rush I can try and set some time aside.

g-codeguy
06-09-2008, 04:22 PM
Not positive, but I think the open and close brackets must be equal. Chris has the right format.

What machine are you running this on? G97 & G99 should be active on start up. There is a suggested format for commands. Lathes I am familiar with use the format
G__X__Z__R__F__
G__S__M__
although they will function properly with the code in any order. It is a matter of what you get use to seeing.

The drill cycle appears to be similar to the one Hardinge uses. Some of the names have been changed to protect the innocent. :D I normally use Z.5 for the drill cycle starting position. The Hardinge drill macro would rapid from Z.5 to Z.03 and feed to Z-.05, then rapid back to Z.5 with the example you gave. I use to program with it close like yours, but after watching the cycle run for a few years, changed to Z.5. I am a slow learner.

I assume you want to stop to clear out chips after the 1st operation with tool 3. Try M0. This doesn't require the operator to have Optional Stop on. G0 & G1 are modal.

A few years ago I had a guy tell me that G0 with a short move was unnecessary. Made sense to me not to rapid on moves less than .1

Having a print would be nice, but I will take a shot at it anyway. I'm going to format how our lathes run. Maybe your's won't run this way. I think it should, tho.

I feel F.002 for a 13/16 endmill is a tad slow. You might want to experiment with feedrate. Plus .05 pecks with that size endmill are on the short side. Anyhoo...

Will assume that the counter bore is the same diameter, but different depths, and that the thru bore is .105 for all parts. What boring bar/insert radius are you using? A 5/16 inch bar will fit. Use a ground insert to minimize burr on thru hole. Don't know what kind of material you are running. but S850 is really slow. You might want to consider using CSS if you can without causing chatter. Even then you can limit the RPM to where it doesn't chatter. You shouldn't need 2 passes to remove .028 off the diameter regardless of boring bar size.

Will also assume you are using a .008R insert, and have a .010R on face and .015R at bore intersection. Two passes on the bottom should be sufficient, but will give you what you want. The spring pass should be unnecessary unless running tough material with about .0005 or less tolerance (and a tiny bar).


:O6806

#100=0 (SET FINISH COUNTER BORE DEPTH)

G28U0W0
G97T0808S500M3 (13/16 FEM)
G0X0Z.5M8
G65P9137K-[#100-.01]B.03F.002W.05Q.03 ('A' can be omitted if zero)
G0Z4.
M1 (Don't know why the Block Skip on this block or why the G28U0W0 block is needed)

G97T0303S1777M3 (LG. B/BAR)
G0X.86Z.5M8
G50S2500
G96S400
Z.02
G1Z-.0286F.002
X.84
Z.02F.03
X.8954
X.84Z-.0561F.002
Z-[#100-.02]F.003
W-.01F.001
X.82F.003M9
G0G97Z4.S100
M0 (CLEAN CHIPS)

Good luck with the operators not loading a new part here. I stop at Z.5 as it leaves enough room to remove chips, and they can see that the part hasn't finished yet.

G97T0303S2500M3 (FACE C-BORE)
G0X.11Z.5M8
G96S400
Z-[#100-.04]
G1W-.026F.005
#101=.002
WHILE[#101LE.01]DO3
G1W-.006F.002
X.84
W.004
G0X.11
#101=[#101+.002]
END3
G0Z.03
X.95
G1X.9167Z.01F.02
Z0F.002
G2X.8829Z-.0118R.018
G1X.8458Z-.0628
G2X.843Z-.0706R.023F.001
G1Z-#100
X.82F.002
G0Z-.05
G1X.843F.02 (SPRING)
Z-#100F.001
X.82F.002M9
G0G97Z1.S100
G28U0W0
M30
%

I used #100=.002 and added .002 to it hoping that it would be easier to understand. I see from your last post that I guessed wrong on the radius size on the boring bar. Oh well, important thing was to show you the WHILE statement.

gtrrpa
06-09-2008, 05:38 PM
Very, Very Interesting..Gonna give it a try...Thx alot
That's what I'm really interested in ! and yes, dealing with beryllium copper
Tough stough, Have to take it easy and using small Boring bars (no insert),Solid carbide. handles it really good. But that bottom face has to be
sharp with the face of the bottom of the c/bore and the bore. ! thx again

g-codeguy
06-10-2008, 06:21 AM
It will do what you asked. I tested it to be sure.

gtrrpa
06-10-2008, 10:19 AM
Works Great. Can You exlpain the last line of the WHILE cycle.
#101=[#101+.002]. Does this need to be there? Does this make it loop?
I added the bore dia variable. Would you suggest it being a local variable as #27 or Common as #103?

chrisryn
06-10-2008, 11:55 AM
Works Great. Can You exlpain the last line of the WHILE cycle.
#101=[#101+.002]. Does this need to be there? Does this make it loop?
I added the bore dia variable. Would you suggest it being a local variable as #27 or Common as #103?

Well g-codeguy beat me to it. I am only half way done. Works been hectic. He did basically what I was going to do. Oh well, maybe nextime. :)

gtrrpa
06-10-2008, 04:38 PM
Thx anyways chrisryn

g-codeguy
06-10-2008, 08:06 PM
Works Great. Can You exlpain the last line of the WHILE cycle.
#101=[#101+.002]. Does this need to be there? Does this make it loop?
I added the bore dia variable. Would you suggest it being a local variable as #27 or Common as #103?

I would use a common variable for the diameter. I pretty much always reserve local variables for G65 Macro calls.

The #101=[#101+.002] has to be there. In a way it does make it loop. It is a counter. I did it this way because I thought it would be easier for you to see what the WHILE statement was doing. These 2 blocks locate the tool .014 from finish depth.

Z-[#100-.04]
G1W-.026F.005

The G1W-.006F.002 moves it to .008 from finish depth. You left .01 with the endmill, and want to remove .002 per pass. This is why I set #101=.002 before the WHILE statement. It represents the .002 for the 1st pass. W.004 increments the tool .004 plus direction. Then #101=[#101+.002] takes the .002 that's in #101 variable and adds another .002 more to it make #101=.004. Next the tools increments .006 minus to take another .002 off the face. (.004-.006)

Now the .004 in #101 has another .002 added to it to make .006. This repeats until #101 reaches .012 at which point it is greater than the .01 specified in WHILE[#101LE.01]DO3 and leaves the loop dropping down to the next line: G0Z.03

Bingo! You just faced off .01 in .002 increments.

Want to get fancy? Make X=counter bore size, Z=counterbore depth, H=thru hool size, T=tool number, S=surface feet, M=maximum RPM. Make the (FACE C-BORE) a subprogram. Then use this format

G65P****X***Z***H***T***S***M*** to run the subprogram. This would require putting a G50 block in the subprogram. Then if your counterbore size was .843 x .916 deep with a .105 thru hole, you would type something like this:

G65P1234X.843Z.916H.105T0303S250M2500

Of course things have to be constant. A .06 long by 20 degree chamfer using the same radius boring bar although you could have 2 sections in the subprogram. One to run with a .008R tool, and one to run with a .016R tool. Then include another variable (R maybe?) in the G65 call. Use an IF statement in the subprogram to direct the program to the correct section based on the radius size of the tool. The #101 variable should stay a common variable.

This also requires more thought & work from the programmer. You couldn't use X.11 or X.84, but would have to use expressions with #11, #24 to define the moves. You would use U values in place of the X values on the chamfer move once you positioned the tool at the starting point on the face using something like X[#24+.0737]Z0.

I don't know how many parts you are running, but say you had 10 different counter bore diameters, each with 5 different depths. This would require you to write a minimum of 10 programs as your program is now written. Using the G65 Macro call, you would still need 10 programs, but only one finish bore operation for all 50 parts.

However, to be honest, you probably could write the 10 operations as fast as you could the one subprogram. It takes time to get fast using variables. Lots to keep track of.

This is fun stuff, huh: :D There's lots more you could do, but I think you get the idea.

A word of caution about decimal points in a G65 Macro call. Notice I didn't use any on the T, S, or M. They will put out a whole number without the decimal. I think the rest put out values less than one. And they aren't all the same value. That is one letter assigned a value such as H25 would put .0025 in #11, while F25 might put .000025 in #9. These are only examples. I did not check to see what they actually put out. Use MDI to find out. Thus you probably should always use a decimal point on any letter other than the 3 I mentioned. I think they are the only ones that are this way.

Mike Stevenson
06-10-2008, 09:07 PM
g-codeguy KNOWS macro programming. :D

g-codeguy
06-10-2008, 09:48 PM
g-codeguy KNOWS macro programming. :D

I'm going to take that as a compliment, and as such, you made my day. He$$ made my month! :D :D I've been teaching myself macro programming the past year. Still have a lot to learn. Am planning on taking the parametric programming course offered online, but worry about how well I would do since I only program lathes. You mill guys are much more knowledgeable than I'll ever be about this kind of stuff.

gtrrpa
06-10-2008, 10:49 PM
Thx Alot G, Explained things perfect and it works great. I just enrolled in the online course,and all I do is program lathes. I havent programmed a mill in about 3 yrs..I've been using Mastercam for years now but parametric is totally new to me so I enrolled in the course, Hey Nothing to lose. You should enroll. Your pretty awesome for teaching yourself. Thanks Again ! Learned Alot from you...

Mike Stevenson
06-10-2008, 11:30 PM
g-codeguy,

Yes it was a compliment and I think you are well on your way to becomming great at this. :D

g-codeguy
06-11-2008, 05:57 AM
Well g-codeguy beat me to it. I am only half way done. Works been hectic. He did basically what I was going to do. Oh well, maybe nextime. :)

LOL. I'd like to know how many times I've posted an answer only to find someone else was a faster typer. Chalk one up for me. :D

g-codeguy
06-11-2008, 06:08 AM
g-codeguy,

Yes it was a compliment and I think you are well on your way to becomming great at this. :D

I apologize for forgetting my manners. The first thing I said in my original attempt at replying to your 1st post was, "Thanks for the compliment." (Computer problems at home.) Never a reason for not being polite. :o

It means a lot coming from a fellow programmer. So, THANKS.

gtrrpa
06-11-2008, 08:20 AM
Hey G-codeguy,I have to cut various angles in very small small parts where I get the bores already done when they come to me. They come to me anywhere from .015 to .065 dia.. Angles needed to be cut vary from 4 deg. included to 90 deg included. What I do is use 2 boring bars, 1 to rough and then 1 to finish.I rough using a canned facing cycle then finish cutting from
Z0 down into the bore. The dim on the face has to held within .0004.
Since you run lathes, Do you happen to have a macro that would control the FACING rough cycle? 1.The depth of cut 2.Feedrate 3.Angle
I guess you would have to put the bore dia. in there also so it knows where to start the facing cycle. I usually stay away .001 in X and .001 in Z for the finish. Guess I'm asking alot Huh? But figured you might have a program similiar to this that might help me figure this one out. When I do my toolpaths its pretty critical to go past the dia of the bore so it doesn't leave a step at the intesection. Anyways let me know if you have something to help me out.
Thx and Thx again

chrisryn
06-11-2008, 09:26 AM
You guys will learn alot from the online course. I have the CNCCI Parametric programing book and it was an eye opener for how powerfull it is.

gttpra: your descriptions of what you want done are great I'm a visual kinda guy. If you can send some prints of what you want our way. It would make it easier and quicker for me.

gcodeguy: Being a mill and lathe programmer take it from me if you can understand the concepts to be a lathe programmer it doesn't take much more to program mill. Most of the concepts in lathe work in mill. The tool is spinning not the part. :) I learned mill first the learned lathe. Now it all easy to me. Of course four axis is the most I have worked with.

g-codeguy
06-11-2008, 01:41 PM
gtrrpa: WOW!!! .0004 tolerance on a chamfer size? I've held closer tolerances than that, but never on a chamfer. Good luck with that.

Sorry, but you are getting beyond my current knowledge af parametric programming with this latest post. Someone like Chris is going to have to help you with this one. It is going to require a lot of math inside the subprogram. Even if I could figure it out, you'd be nearing retirement age! :D I will play with it in my spare time. Just for kicks.

Chris: Glad to hear that the online course is a good one. I do some C-axis programming, but nothing fancy. Was supposed to have the opportunity to learn mills 3 years ago when I gave my 2 weeks notice. Never happened. No surprise, tho.

gtrrpa
06-11-2008, 03:03 PM
OK, I hold those on the champher all the time, thats why the light cut. It's berylium copper also so very tough stuff.Ths anyway G, though maybe you'd have a facing routin already stashed somewhere that would help. I'm trying to send a drawing in DWG format lets see what happens...

Cool it went thru....

chrisryn
06-11-2008, 03:43 PM
OK, I hold those on the champher all the time, thats why the light cut. It's berylium copper also so very tough stuff.Ths anyway G, though maybe you'd have a facing routin already stashed somewhere that would help. I'm trying to send a drawing in DWG format lets see what happens...

Cool it went thru....

My camsoftware shows it blank. Can you send in a dwf I have a viewer for that.

g-codeguy
06-11-2008, 08:58 PM
gtrrpa: I don't have any facing routines. If I need one, I use the G72 canned cycle. Almost every lathe I program for is a barfeed or autoloading lathe with the exception of the Hitachi, Yang, and those with Fagor controls. The other lathe programmer handles the few other lathes we have without barfeeds.

I often have 4 or 5 programs for the same job...on the same lathe...because of different stock sizes. I started converting my rough turn operations to G71 canned cycles to make my life easier. All that is needed with these is to modify a couple X-dimensions, and re-figure the DOC. Once I got further into using variables, I had a thought that maybe I could write a little routine using a WHILE statement that would do the figuring for me. That way I would need only one program to run the part...regardless of the stock size.

So I did. It will also change the feedrate based on the DOC. Didn't take me long to decide to load it into the lathes as a subprogram, and use a G65 Macro call to assign the variables to it. That saves me from having to cut-and-paste it into all the programs I want to use it with, then make the necessary changes. I write one block of information, and I'm done. :D

gtrrpa
06-11-2008, 09:07 PM
I cant see a convertor that will give an ext of dwf. I Googled dwf says its Autdesk Extension. I went to Autodesk.com and they have a free viewer for
.dwg format. I used autocad so when you open up the file the drawing is very small you have to Fill to Screen. Let me know what happens....

g-codeguy
06-11-2008, 09:37 PM
I cant see a convertor that will give an ext of dwf. I Googled dwf says its Autdesk Extension. I went to Autodesk.com and they have a free viewer for
.dwg format. I used autocad so when you open up the file the drawing is very small you have to Fill to Screen. Let me know what happens....

Don't know if it is my computer or what, but I downloaded the viewer. Got an error message telling me to download from the underscored link. It was for a 64 bit program. Downloaded that, but it ran into an error trying to execute.

So no luck for me seeing it tonight. Should be able to at work as we have Autodesk Inventor and Autocad.

gtrrpa
06-14-2008, 02:19 PM
No Luck "G" with viewing .dwg format?

g-codeguy
06-14-2008, 11:04 PM
No Luck "G" with viewing .dwg format?

Nope. Not even at work.

EDIT: Had a thought over the weekend. (It happens occasionally. :) ) Tried viewing your file on my old computer at work. No problem. Realized I probably didn't have the proper program loaded on the new one yet.

Don't know the quantity of parts, but would it be to your advantage to get a roughing tool made for the various angles instead of roughing with a tiny boring bar?

Thanks, Mike, for posting a view of the drawing. I've never tried doing that yet. Pretty sure I don't know how. I'm not the swiftest sloth when it comes to computers. :(

gtrrpa
06-15-2008, 02:43 PM
How bout if I send you a .dxf , can you open it?

gtrrpa
06-15-2008, 02:58 PM
What Viewer are you using at home?

Mike Stevenson
06-15-2008, 03:24 PM
Hi guys,

I had no problem at all opening the TEST.DWG file in in Autocad. :D

gtrrpa
06-16-2008, 03:39 PM
That's it, a rough sketch.Instead of giving an angle wouldn't it be easier to give the z depth intersection (angle and bore)? Hey I'm new at this but it seems some how I can create a canned cycle by inserting the opening at the face which is Z0 and the intersection of the bore and angle(which is what the prints give me anyways.Then all I would need is D=depth of cut F=feedrate Somewhere I would have to insert XandZ co-ordinates for large opening of cone and Xand Z for small opening.......Just thinking...Maybe that's my 1st Mistake..................lol