Jump to content

Welcome to eMastercam

Register now to participate in the forums, access the download area, buy Mastercam training materials, post processors and more. This message will be removed once you have signed in.

Use your display name or email address to sign in:

cncchipmaker

Verified Members
  • Posts

    190
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by cncchipmaker

  1. I do it the same way but I have seen a laser setup too.
  2. I was just curious as to how you guys set your CNC lathe Jaws. I feel like I have a pretty good method, but wanted to hear from you to see if there is a faster way than I am doing it.
  3. Is this a lathe part or a mill part? Have you considered using a ball bearing?
  4. I am slated to start running CMMs in a couple of months. Should be a good change to what I am doing now and there should be plenty of opportunity for programming there too.
  5. I just wanted to thank everyone for all of the great ideas you have given me for custom macro B applications over the past year. I am still in need of more creative ideas. The boredom at work is killing me and I need something solid to ponder and work on. Thanks again for all of your help.
  6. It sounds to me like all you need to do is update your G54 work offset. The system variable for G54 X is #5221. So lets say that you would need to shift your X .1 after you initially set G54 off of the part. All you would then need to do is write this macro: (Probe Parts Set G54 X) (Then:) #5221=#5221+.1
  7. Did you mean: IF[ABS[#505]GT#511]GOTO20 ? This would allow to evaluate a positive or negative number in #505.
  8. Hopefully this will give you an idea of what you can do if you have macro B. O5001(CARBIDE DRILL MACRO) (ABSOLUTE MACRO) (UNPROVEN) (FORMAT G65/G66 DASFEZWR) (D = #7 - DRILL DIAMETER) (A = #1 - INITIAL RPM) (S = #19 - SECOND RPM) (F = #9 - INITIAL FEEDRATE) (E = #8 - SECOND FEEDRATE) (Z = #26 - Z START) (W = #23 - Z END) (R = #18 - R PLANE) (*********************************) (IF DATA LACKING GOTO N1000) IF[[#7*#1*#19*#9*#8]EQ0]GOTO1000 (STORE ABS POS OF X) #100=#5001 (STORE ABS POS OF Y) #101=#5002 (CALCULATE Z POINT FOR) (RPM AND FEEDRATE CHANGE) (BASED ON 1.5 TIMES DIA. OF DRILL) #102=#7*1.5 (INIITIAL RPM) M03S#1 (TURN ON FLOOD COOLANT) M08 (GOTO HOLE) G0G90X#100Y#101 (RAPID TO .1 ABOVE Z START) Z[#26+.1] (FEED TO Z START W/ INITIAL FEED) G1Z#26F#9 (STORE ABS POS OF Z) #103=#5003 (GOTO RPM AND FEEDRATE CHANGE Z) Z[#103-#102] (TURN ON THRU COOLANT) M26 (DWELL FOR 5 SECONDS) (TO ALLOW THRU COOLANT) (TO BE TURNED ON ALL THE WAY) G4X5. (SECOND RPM) M03S#19 (FEED TO Z END W/ SECOND FEED) G1Z#23F#8 (RAPID TO R PLANE) G0Z#18 (TURN OFF COOLANT) M09 (GOTO HOLE) X#100Y#101 (RETURN TO MAIN PGM) M99 N1000 #3000=1(DATA LACKING!)
  9. If your machine has custom macro B I can write a macro for you that will incorporate everything you would like to try. If you are not sure if it has it just type in MDI #100=1. If you do not get an alarm your machine has macro B.
  10. Does anyone want to know what my secret is as far as why I can do this stuff?
  11. It's pretty cool to see how others write their macro programs. Thank you for sharing this. James.
  12. I forgot to mention that you are going to want to use the G10 Line function at the beginning of your program. It looks something like this: G90G10L2P1X(Hard Location)Z(Hard Location).
  13. I am not familiar with Haas/Reinashaw probe macros. We use different macros on the Makinos here at work, which are Fanuc based. In your first example you are using P9023 to set Z. Why are you not using that in your program? What does the P9995 do? I do however know that Fanuc and Haas have a lot of the same system variables. To me it looks as though if you ignore the question marks that should be enough code to get you what you want. You would just write the logic statement in your main program, do not alter the 9000 programs in any way.
  14. I think this is what you might be looking for: #5221 is G54 X System Variable #5223 is G54 Z System Variable (Set X fixture machine position) #600=#5221 (Probe Part X) #601=#5221 (Reset G54 X) #5221=[#600+#601]/2 (Set Z fixture machine position) #610=#5223 (Probe Part Z) #611=#5223 (Reset G54 Z) #5223=[#610+#611]/2 I hope this helps. Just some basic math should get you going in the right direction.
  15. Give this a try. Thanks for the idea. James O6006(CONTOUR RAMP) (OUTSIDE PROFILE SQUARE/RECT. PART) (UNPROVEN) (FORMAT G65/G66 XYHVQTRZEF) (X = #24 - X DIMENSION) (Y = #25 - Y DIMENSION) (H = #11 - STOCK HORIZONTAL -X-) (V = #22 - STOCK VERTICAL -Y-) (Q = #17 - RAMP IN Z/ DOC) (T = #20 - TOOL DIAMETER) (R = #18 - R PLANE) (Z = #26 - Z START ZERO) (E = #8 - END Z) (F = #9 - FEEDRATE) (*********************************) #100=ABS[#26]-ABS[#8] #100=ABS[#100] IF[[#26*#8]GE0]GOTO1 #100=ABS[#26]+ABS[#8] N1#101=ROUND[#100/#17] #102=#100/#101 IF[#102GT[#100/2]]GOTO1000 #103=#5001 (CLEARANCE X) #104=[#103-.1]-[[#20/2]+[#11/2]] #105=#5002 (CLEARANCE Y) #106=[#105+.1]+[[#20/2]+[#22/2]] (CALCULATE START/STOP POINTS) (X-) #110=#103-[[#20/2]+[#24/2]] (Y+) #111=#105+[[#20/2]+[#25/2]] (X+) #112=#103+[[#20/2]+[#24/2]] (Y-) #113=#105-[[#20/2]+[#25/2]] (RAPID TO CLEARANCE POSTION) G0G90X#104Y#106 Z[#26+.1] G1Z#26F#9 #120=#5003 #120=#120-#102 G41X#110Y#111 N10 G1G90X#112Z#120 #120=#120-#102 #101=#101-1. (X+Y+) IF[#101EQ0]GOTO100 Y#113Z#120 #120=#120-#102 #101=#101-1. (X+Y-) IF[#101EQ0]GOTO200 X#110Z#120 #120=#120-#102 #101=#101-1. (X-Y-) IF[#101EQ0]GOTO300 Y#111Z#120 #120=#120-#102 #101=#101-1. (X-Y+) IF[#101EQ0]GOTO400 GOTO10 N100 Y#113 X#110 Y#111 X#112 GOTO500 N200 X#110 Y#111 X#112 Y#113 GOTO500 N300 Y#111 X#112 Y#113 X#110 GOTO500 N400 X#112 Y#113 X#110 Y#111 N500 G0G90Z#18 G40X#103Y#105 M99 N1000#3000= 1( Q VALUE TOO BIG )
  16. Any more creative ideas for this stuff? I would like to continue to help others out with their macro programs.
  17. If you can see the subs you should be able to see the local variables #1-33 and how they flow down into the program. For example the #1 variable is the local variable for argument A in the G65 line. This may get you started in the right direction.
  18. It's been over a year since posting this and I have received hardly any feedback. I just wanted to know if any of you out there have used or improved the macros and maybe what for. Thank You.
  19. If you do not see the subs in your directory they probably are not there and need to be uploaded. Usually 9000 series programs can only be manipulated by turning on a parameter, this is the case for Fanuc.
  20. To skip parts in your program would be a little bit easier than rewriting a whole program I think. We cut alot of stainless here at work and if we happen to break a tool, lets say on the last pass of a contour cut we use this procedure: Start at the beginning of your program and 'single block' it all the way through letting it go to the 1st XY and let it read the tool length offset move, G43H1Z(whatever). Hit "edit" and scroll to the next point where your next XY where your part was starting. Put your machine back in "memory" and then hit "cycle start. It would be easy to do if you set up your part start postions with line numbers like N100, N200, and so forth that way it would be easy to find. Typically we will save about an hour of run time by doing it this way. If it takes 25 minutes to cut a slot and you have 3 passes and you break a tool on the last pass time really adds up quickly if you have to start from the beggining. This example is done on a Makino, fanuc control.
  21. If you enjoy macro programming check out my download under the cool macros section under Machining, Tools, Cutting & Probing. I have several that do 3D shapes and basic shapes.
  22. My newest macro. This is the version of the ID cone macro but with an adjustable lead-in radius programmed into it. Have Fun! O6888(CUT 0-180 DEG ID TAPER) (ABSOLUTE AND INCREMENTAL SURFACING MACRO) (PROVEN ON NC PLOT ONLY) (FORMAT G65/G66 AQUDTSRZEF) (A = #1 - INCLUDED ANGLE OF PART FROM BOTTOM) (Q = #17 - STEPOVER IN Z/ CUSP HEIGHT) (U = #21 - ARC LEAD IN RADIUS) (D = #7 - TOOL DIAMETER) (T = #20 - TOOL RADIUS/ BALL OR BULL) (S = #19 - PART ID/ TOP) (R = #18 - R PLANE) (Z = #26 - Z START ZERO) (E = #8 - END OF TOOL POSITION IN Z) (F = #9 - FEEDRATE) (***********************************) #100=ABS[#26]-ABS[#8] #100=ABS[#100] IF[[#26*#8]GE0]GOTO1 #100=ABS[#26]+ABS[#8] N1#101=ROUND[#100/#17] #102=#100/#101 IF[#102GT[#100/2]]GOTO1000 #103=#5001 #105=#5002 #113=#105 #115=0 IF[#7EQ[#20*2]]GOTO10 #105=#105-[[#7/2]+#20] #115=#115-[[#7/2]+#20] N10#105=#105+[#19/2] #115=#115+[#19/2] #125=90.+[#1/2] #105=#105-[#20/TAN[#125/2]] #115=#115-[#20/TAN[#125/2]] #107=#105-#21 G0G90X#103Y#107 Z[#26+.1] G1Z#26F#9 WHILE[#101GE0]DO1 IF[#101LT0]GOTO100 #101=#101-1. G90G1G41X[#103+#21]F#9 G03X#103Y#105I-[#21] J-#115 X[#103-#21]Y#107J-[#21] G1G40X#103 #105=#105-[TAN[#1/2]*#102] #115=#115-[TAN[#1/2]*#102] #107=#105-#21 G91G1Z-[#102] G90Y#107 END1 N100G0G90Z#18 X#103Y#113 M99 N1000#3000= 1( Q VALUE TOO BIG )

Join us!

eMastercam - your online source for all things Mastercam.

Together, we are the strongest Mastercam community on the web with over 56,000 members, and our online store offers a wide selection of training materials for all applications and skill levels.

Follow us

×
×
  • Create New...