we did that years ago in out VF6 5 axis. But some setup people would make mistakes on entering multiple work offsets. So we built a macro that adjusted all offsets based on first offset . That macro was in beginning of program and had a block delete as it took time to run the macro after the first time. worked great. I came from hand g code and sub programming - I glad to see it still has purpose
If you already have an assembly of the fixture and the parts are all patterned out on that assembly, then you can do all of this within your CAM package through the use of toolpath patterning. If you want to maintain the adjustability of having each instance of the part on its own WCS, you could pattern the entire program folder and have the software "optimize for tool changes" for you instead of going through the code manually, opening multiple pieces of software and increasing the chances of an operator error. As my first shop teacher always used to remind me, "Work smart, not hard"!
*6:30** As someone that has used Excel from the very beginning. I always find it funny when someone uses Excel to shortcut work, but fail to think about how much further they could have done it.* Macros are awesome and could have added that M97 P10 right after each line, easily. etc.
Or since it's OP 1 with oversized stock, just program off the fixture and multi part in CAM with a single work offset. Any rev changes come through and you can just update the model. Lots of probing and tweaking like that I tend to use notepad++ with gcode template, cimco, or go all the way with the Renishaw CAM plugin.
I would buy Haas if It was up to me. They are really great machines, and you guys have the best tutorial and help videos out there. These machines make money and make machining fun and interesting again.
Compared to "modern" programming this seems ridiculously complicated. How are these tips not already implemented in the VPS or even by dedicated NC commands? For example, the Excel shortcut could easily be added via a context menu. Nonetheless the effort you put into these video is very nice and in this way at least we get tips which are applicable to other machines as well.
You should use a G65 P9810 instead of a G91 to move to the next part.... if there is an obstruction the G91 will break the probe tip. the G65 P9810 will stop if the probe tip hits and unexpected object
This video is a great advertisement for Hurco. You can ditch the macros with WinMax and program the probing and programming in a fraction of the time as shown here. With that said, if you have a Haas, this does help and I use a similar strategy on my other machines.
This is literally the longest way to write this program. Its good to know so you understand how much work it is and how it works. CAD/CAM takes care of this with a few extra clicks and then you set your offsets. Only have to program 1 part and can run as many as you can load in the machine.
Why not draw up your fixture plate, 2 dowels in the X,Y corner of each block, then draw all the blocks on the fixture, machine out the fixture, with 2 reamed holes to indicate in for future setups to indicate and pickup the fixture, then draw all the blocks and program them all together on the fixture. Then the only hand programming you’ll have to do is the rotation in the A axis.
Applies to more than just one control,least the basics are the same. Some m codes may be machine specific. Gotta have cad n pc access makes life so much simpler,faster,safer better quality n continuity. Keep it up
TacticalKeychains I use an edge finder too but g52 shifts the coordinate system using 1 offset I don't like having a bunch of offset for a large fixture. Too much setup time.
Am I the only one thinking that if you know your parts are 2.5 inches apart then all you need to do is pick up one part? Simple shift the x number by 2.5 inches for each subsequent work offset. The y offset would be the same for all parts as well as the Z offset. Then just add the appropriate b axis offset for each part in the controller. Math is your friend. Super fast that’s how I pick up 48 work offsets on our horizontal and only need to probe 2 parts to do it if you know your center of rotation. And you could also just use a transform in master cam to use one tool on each offset before switching its super helpful and saves time.
A good example of working with subprograms. But if you use a special multiclamping base, then designate WCS from it. It is more effective. Not need using renishaw.
Does m97 only work on certain controllers? The ones at my shop will not work with m97 so we use m98 but thats a pain because in order to edit u need to pull up a new program every time and then refer back to the main back and forth sometimes takes forever if subs are long
You could also use G52 to just shift the offset 6 times instead and you'd only need 4 offsets and it would be way less code. I used g52 a lot before I started using cam for everything. O1 . . . G54 M97P1L7 G91G52X0Y0 G55 . . . N1 T8M3 . . G52X-2.5 M99
We use mitee bite pitbulls, but the guys have a recurring issue of not tigthening the screws down all the way. So our tools hit the screw or clamp and break them. Is there any alternatives or good practice? Its kind of a pain to have to keep double checking peoples pallet loads to make sure the things are against the stops and that the screws are tightened.
Torque wrench could help, tell your guys your done bolting when you feel it click and not before! as well as making the pocket for the pit bull clamps deeper to avoid tool collisions. Edit: wow just realized this comment was 4 years late hahhaa 😂
Looks more complicated to read the program. Using G52 work shift will shorten the file combining with variables representation of each station so you have options to turn on/off only station to run. Fixture has stopper and don't need to probe each piece as this is stock size and opn1 only. Work offsets can be hard coded by variables assignments.
Nice video! But you could’ve Model the whole fixture with the parts on it up and create a Tollpatsch pattern ...That way you would’ve saved yourself the time programming and probing each part...Or am I wrong with that?
Your'e not wrong. The fixture should be more precise than the part that it makes hence what you said about programming to the fixture locations is correct. Only thing is if you messed up the fixture some how you can't make any adjustments with your work offsets to correct that.
I'm no G-code/CNC wiz, but pretty good with regular computer programming. C++/C#, Java, Basic etc., and I'm shocked. Are there really no better flow control in this "language"?? Just a simple "for...next" loop with simple variables would make this process sooooo much easier. And eliminate the risk of typos and copy/paste error. And make modifications to the code much easier too...
I know we all have different shops and different tactics but myself, I'd rather do all this programming in my CAM program, post out a program with the appropriate code instead of asking my guys/gals on the floor to hand edit all this. If I was feeling extra lazy, I'd write a macro for one part's work shift, then have the machine input all the work shifts for me. It seems like method in the video requires a lot of spindle down time. Then again I'm just a guy behind the keyboard, fuck me right.
This is a great concept idea!... but a horrible nightmare of programming. all that typing will eventually end up in failure. Specially if you have to do it for every single part.. a little macro programming & post-processing editing will make this an easy task for every new part no matter how many parts you are running.
You can post out in subprogram routines... I'm pretty sure they're just doing it manually to explain how everything works. Every program has it's plus's and minuses, I use Mastercam & GibbsCAM daily and I'm familiar with using fusion. Using defaults of any post processor isn't optimal
Why not machine all of these parts from one piece of stock? You would get more parts per fixture, reduce setup and 2nd op setup time, and the CAM would run all of the parts as one simple program. Also, if you have 30" of travel in X, why in the world are you using a 20" tombstone? Make use of the ENTIRE workspace and gain real efficiency and throughput. I appreciate the Haas videos, but they are often short-sighted in terms of real manufacturing challenges.
Single piece of stock wouldn’t get you more parts. You still need the same room between parts. Could use a longer tombstone though. The 20” is off the shelf.
@@mattym8It's concerning when a machinist says, "off the shelf". Time is money. Making fixtures that utilize the entire workspace efficiently needs to be second nature. One piece of stock closer to 30" makes more sense. I don't see how making that over what is shown would be any more work.
Come on! Why don't you implement this in the controller? The G code system would definitely need variables and FOR cycles. In a Turing-complete language this would be few lines of code. Without the need for copy-pasting, and if you have to change the X offset, you would only need to change a constant at the top of the program.
I'll be using this to make room for more programs in that ridiculously small 1mb space they gave me on my $140,000 VF-4SS. I'll never understand why they only give you 1mb of space. Leaves a very bad taste in my mouth everytime I have to move a program off of the machine and onto a USB drive.
CNC machines burn through code, not computers. My biggest problem to date was 32M lines, I must be REALLY bad at what I do. Don't make general statements about what's "good" & "bad" in this trade, at least without asking a few questions first.
The problem with looping your probing routine is that the probe will be turned on and off at every part. The best thing to do is to program the part using the renishaw routines directly. That way you turn the probe on once and off and the end. Way faster.
Do you ever use cutters for other operations than what they were made for? In this video - th-cam.com/video/mHJMuitzENc/w-d-xo.html the cycle time was cut from 8 minutes to 42 seconds by using one tool instead of 3.
why not to model the entire fixture and make all tool paths for number of parts... typing g codes isn't easier than clicking in cam (oh yes, in mastercam that needs holy tons of mouse clicks...)
5:44 Holy crap. You guys would save so much time by learning a basic programming language, like python. As a programmer, this entire video is quite painful. Why do you guys program raw gcode? That's basically like writing assembly directly. Why is there no higher level programming language? All those stupid copy-code-100-times tasks are perfect for that. Just having the ability to program subroutines with parameters would reduce that programming time by 95% ...
Hi, I would be interested in your method. Could you show me an example of creating separate instances of the created G-code of a given operation? Thank you in advance!
Nothing special. Can do that more more more simple. Nothing to copy or paste. Nothing calculate. Machine do that for me. Repeat process is easiest. But every way is good. Is nice are You try do something best. I like IT.
11:47 “you will need to analyze” the amount of time the machine sits and waits for the operator to remove, blow off and load new blanks. One piece part flow always wins. Get a robot...
Haas tip of the day: How to waste time programming, take way too long to set up, and crash your machine! There is at least 10 better ways to do this between macros b and cam. All you computer programmers out there: you can use nested loops to run this program, index the tombstone, and even automatically set the offsets! No way around it, my ass. Step up your game Senior Applications Engineer John Nelson...
My dad was doing these types of fixtures in the mid seventies with moog tape mills.
I wish He was still around. I wish Men lasted as long as machines.
we did that years ago in out VF6 5 axis. But some setup people would make mistakes on entering multiple work offsets. So we built a macro that adjusted all offsets based on first offset . That macro was in beginning of program and had a block delete as it took time to run the macro after the first time. worked great. I came from hand g code and sub programming - I glad to see it still has purpose
WOW! this video is the one of the mind blowing video I have ever seen. Thank you, I have handled the multipart program very easily. Thank you.
If you already have an assembly of the fixture and the parts are all patterned out on that assembly, then you can do all of this within your CAM package through the use of toolpath patterning. If you want to maintain the adjustability of having each instance of the part on its own WCS, you could pattern the entire program folder and have the software "optimize for tool changes" for you instead of going through the code manually, opening multiple pieces of software and increasing the chances of an operator error.
As my first shop teacher always used to remind me, "Work smart, not hard"!
exactly!
*6:30** As someone that has used Excel from the very beginning. I always find it funny when someone uses Excel to shortcut work, but fail to think about how much further they could have done it.*
Macros are awesome and could have added that M97 P10 right after each line, easily.
etc.
Haas, you should put links to the products featured in the "Show More" section.
Or since it's OP 1 with oversized stock, just program off the fixture and multi part in CAM with a single work offset. Any rev changes come through and you can just update the model. Lots of probing and tweaking like that I tend to use notepad++ with gcode template, cimco, or go all the way with the Renishaw CAM plugin.
Hes using mastercam lol....That all could of been done with the translate feature, but good for him right lol.
This is awesome. TH-cam needs more of this kind of video.
Titans of cnc and this old tony are good with the tricks tips and basics.
I would buy Haas if It was up to me. They are really great machines, and you guys have the best tutorial and help videos out there. These machines make money and make machining fun and interesting again.
Compared to "modern" programming this seems ridiculously complicated. How are these tips not already implemented in the VPS or even by dedicated NC commands? For example, the Excel shortcut could easily be added via a context menu.
Nonetheless the effort you put into these video is very nice and in this way at least we get tips which are applicable to other machines as well.
You should use a G65 P9810 instead of a G91 to move to the next part.... if there is an obstruction the G91 will break the probe tip. the G65 P9810 will stop if the probe tip hits and unexpected object
yes!
Do a pattern in Fusion, got from proof program to multiple parts in a couple mouse clicks. I programe horizontal tombstones with ease using fusion.
This video is a great advertisement for Hurco. You can ditch the macros with WinMax and program the probing and programming in a fraction of the time as shown here. With that said, if you have a Haas, this does help and I use a similar strategy on my other machines.
This is literally the longest way to write this program. Its good to know so you understand how much work it is and how it works. CAD/CAM takes care of this with a few extra clicks and then you set your offsets. Only have to program 1 part and can run as many as you can load in the machine.
Why not draw up your fixture plate, 2 dowels in the X,Y corner of each block, then draw all the blocks on the fixture, machine out the fixture, with 2 reamed holes to indicate in for future setups to indicate and pickup the fixture, then draw all the blocks and program them all together on the fixture. Then the only hand programming you’ll have to do is the rotation in the A axis.
Applies to more than just one control,least the basics are the same. Some m codes may be machine specific.
Gotta have cad n pc access makes life so much simpler,faster,safer better quality n continuity. Keep it up
I use g52 so that I only need to find 1 work offset location because I'm super lazy.
TacticalKeychains I use an edge finder too but g52 shifts the coordinate system using 1 offset I don't like having a bunch of offset for a large fixture. Too much setup time.
I have to admit that you are the laziest machinist I've met. Well done. I hope to be as lazy as you one day and still make bank.
you lazy bastards!
It's a way to go, I would have programmed it with 3+1 and Probing in Fusion.
Am I the only one thinking that if you know your parts are 2.5 inches apart then all you need to do is pick up one part? Simple shift the x number by 2.5 inches for each subsequent work offset. The y offset would be the same for all parts as well as the Z offset. Then just add the appropriate b axis offset for each part in the controller. Math is your friend. Super fast that’s how I pick up 48 work offsets on our horizontal and only need to probe 2 parts to do it if you know your center of rotation. And you could also just use a transform in master cam to use one tool on each offset before switching its super helpful and saves time.
A good example of working with subprograms.
But if you use a special multiclamping base, then designate WCS from it. It is more effective. Not need using renishaw.
I understand your point but please read the thread below started by Rohan Ranadive. This explains why I did it this way.
Can you please post a linkt to those clamps? I can not find a "Mini byte talent grip" or something similar
racenvg,
Here you go...
www.miteebite.com/products/pitbull-clamps/
www.miteebite.com/products/talongrip/
Thank you! "Pitbull Clamp" is the keyword :). That was lost during my translation. Very helpful!
Does m97 only work on certain controllers? The ones at my shop will not work with m97 so we use m98 but thats a pain because in order to edit u need to pull up a new program every time and then refer back to the main back and forth sometimes takes forever if subs are long
Excellent video!!! Congratulations from Brazil.
You could also use G52 to just shift the offset 6 times instead and you'd only need 4 offsets and it would be way less code. I used g52 a lot before I started using cam for everything.
O1
.
.
.
G54
M97P1L7
G91G52X0Y0
G55
.
.
.
N1
T8M3
.
.
G52X-2.5
M99
Can you make your work offsets a variable so that all the offsets are just incremental additions of one variable?
Pretty sure fusion has something for this. Used it a little while back when I was chamfering a bunch of connector parts in softjaws.
We use mitee bite pitbulls, but the guys have a recurring issue of not tigthening the screws down all the way. So our tools hit the screw or clamp and break them. Is there any alternatives or good practice? Its kind of a pain to have to keep double checking peoples pallet loads to make sure the things are against the stops and that the screws are tightened.
Torque wrench could help, tell your guys your done bolting when you feel it click and not before! as well as making the pocket for the pit bull clamps deeper to avoid tool collisions. Edit: wow just realized this comment was 4 years late hahhaa 😂
great video do you do a hex fixture ?
We offer a Hexagon fixture!
@@MartinManufacturing thanks got sorted
Looks more complicated to read the program. Using G52 work shift will shorten the file combining with variables representation of each station so you have options to turn on/off only station to run. Fixture has stopper and don't need to probe each piece as this is stock size and opn1 only. Work offsets can be hard coded by variables assignments.
Does This machinę have axis named A and B ?
5:32 I wasn't expecting that 🤣
Nice video! But you could’ve Model the whole fixture with the parts on it up and create a Tollpatsch pattern ...That way you would’ve saved yourself the time programming and probing each part...Or am I wrong with that?
Your'e not wrong. The fixture should be more precise than the part that it makes hence what you said about programming to the fixture locations is correct. Only thing is if you messed up the fixture some how you can't make any adjustments with your work offsets to correct that.
How was the other side decked off?
I'm no G-code/CNC wiz, but pretty good with regular computer programming. C++/C#, Java, Basic etc., and I'm shocked. Are there really no better flow control in this "language"?? Just a simple "for...next" loop with simple variables would make this process sooooo much easier. And eliminate the risk of typos and copy/paste error. And make modifications to the code much easier too...
these do exist in some cnc systems, but apparently not within the Haas system
Oh, what I wouldn't give for a simple way to do for loops in Haas G-code the way bash does them in UNIX. It would save so much more time yet.
you mean like fanuc macros b?
@@Jh_93641 I don't know Fanuc programming ideosyncracies.
My brain just exploded...
Which notepad you use for coding at 3.44 please help
why wouldnt you just probe bottom of fixture and dowel pin ? and whole setup would be 1 probing.
I dont understand why I have to probe them all when you already have the dowels in it and you've proved the first?
I asked the same question. If the fixture is correct, then the stock is in the right place.
I know we all have different shops and different tactics but myself, I'd rather do all this programming in my CAM program, post out a program with the appropriate code instead of asking my guys/gals on the floor to hand edit all this. If I was feeling extra lazy, I'd write a macro for one part's work shift, then have the machine input all the work shifts for me. It seems like method in the video requires a lot of spindle down time.
Then again I'm just a guy behind the keyboard, fuck me right.
I understand your point but please read the thread below started by Rohan Ranadive. This explains why I did it this way.
Thanks, truly informative.
This is a great concept idea!...
but a horrible nightmare of programming.
all that typing will eventually end up in failure. Specially if you have to do it for every single part..
a little macro programming & post-processing editing will make this an easy task for every new part no matter how many parts you are running.
Just use FUSION 360 instead of mastercam, and you don't have to change the code manually, anymore
whaat? you think fusion post processing is any better than mastercam? i use both and a post processor can be made just like you want in both..
You can post out in subprogram routines... I'm pretty sure they're just doing it manually to explain how everything works. Every program has it's plus's and minuses, I use Mastercam & GibbsCAM daily and I'm familiar with using fusion. Using defaults of any post processor isn't optimal
Why not machine all of these parts from one piece of stock? You would get more parts per fixture, reduce setup and 2nd op setup time, and the CAM would run all of the parts as one simple program. Also, if you have 30" of travel in X, why in the world are you using a 20" tombstone? Make use of the ENTIRE workspace and gain real efficiency and throughput. I appreciate the Haas videos, but they are often short-sighted in terms of real manufacturing challenges.
Single piece of stock wouldn’t get you more parts. You still need the same room between parts. Could use a longer tombstone though. The 20” is off the shelf.
Would save money on saw cut tho 🤷♀️
@@mattym8It's concerning when a machinist says, "off the shelf". Time is money. Making fixtures that utilize the entire workspace efficiently needs to be second nature. One piece of stock closer to 30" makes more sense. I don't see how making that over what is shown would be any more work.
In the future, add the file for us to download, modify, learn, and save
Come on! Why don't you implement this in the controller? The G code system would definitely need variables and FOR cycles. In a Turing-complete language this would be few lines of code. Without the need for copy-pasting, and if you have to change the X offset, you would only need to change a constant at the top of the program.
Very good
I'll be using this to make room for more programs in that ridiculously small 1mb space they gave me on my $140,000 VF-4SS. I'll never understand why they only give you 1mb of space. Leaves a very bad taste in my mouth everytime I have to move a program off of the machine and onto a USB drive.
yeah man were in 2018 now, how hard can it be to have a GB chip
1mb gives you 120,000 lines of code, what do you need more than that for?
120k lines of code?? My machine will burn through that while I walk to the bathroom & back...
computers don't "burn through code", if you wrote a program to mill which is more than 120,000 lines of code you're a bad operator
CNC machines burn through code, not computers. My biggest problem to date was 32M lines, I must be REALLY bad at what I do.
Don't make general statements about what's "good" & "bad" in this trade, at least without asking a few questions first.
*can i get a haas shirt*
You can do this so easily by using pattern in inventor hsm! This is too tedious!
I agree, gibbscam can do this super easy. Even making that fixture would be simple.
Daniel Varela- Ventura, Ca
Just do a while statement with variable call 1 part
While #100 LE 28 DO1
END1
The problem with looping your probing routine is that the probe will be turned on and off at every part. The best thing to do is to program the part using
the renishaw routines directly. That way you turn the probe on once and off and the end. Way faster.
Do you ever use cutters for other operations than what they were made for? In this video - th-cam.com/video/mHJMuitzENc/w-d-xo.html the cycle time was cut from 8 minutes to 42 seconds by using one tool instead of 3.
Daniel Machado - Brazil.
great, all you need now are tsc drills and cut the drilling time in half to save another 69 hours
why not to model the entire fixture and make all tool paths for number of parts... typing g codes isn't easier than clicking in cam (oh yes, in mastercam that needs holy tons of mouse clicks...)
My head hurts after watching this. Great video though.
Surphase grinding machine
5:44 Holy crap. You guys would save so much time by learning a basic programming language, like python.
As a programmer, this entire video is quite painful. Why do you guys program raw gcode? That's basically like writing assembly directly. Why is there no higher level programming language?
All those stupid copy-code-100-times tasks are perfect for that.
Just having the ability to program subroutines with parameters would reduce that programming time by 95% ...
Hi, I would be interested in your method. Could you show me an example of creating separate instances of the created G-code of a given operation?
Thank you in advance!
@@endezoor Yes its called Conversational programming, Talk to Mazak lol
Nothing special. Can do that more more more simple. Nothing to copy or paste. Nothing calculate. Machine do that for me. Repeat process is easiest. But every way is good. Is nice are You try do something best. I like IT.
As a software engineer, I am terrified by your use of Excel to generate code.
Difficult
0:55 jes i know wgat that sound is but stll fart
11:47 “you will need to analyze” the amount of time the machine sits and waits for the operator to remove, blow off and load new blanks. One piece part flow always wins. Get a robot...
Homosapiens can program faster , who still uses gcode ?
Haas tip of the day: How to waste time programming, take way too long to set up, and crash your machine!
There is at least 10 better ways to do this between macros b and cam. All you computer programmers out there: you can use nested loops to run this program, index the tombstone, and even automatically set the offsets! No way around it, my ass. Step up your game Senior Applications Engineer John Nelson...
Not good , a lot of waist of time !!!
Thank you anyway.
I make my post to do it all in 3 seconds!!!