I'm a CNC machinist from switzerland. But in a wood furniture manufacture. I also wrote similar macros for furniture parts and house doors. So we're able to take the measurment at the customers house for example how large and deep the wardrobe has to be. The macro just turns the external dimensions of the furniture in to a program for each part. Like an excel-file with "if-then-function", all the necessary holes and millings were adjusted automaticaly. You remember the tour at the Tornos factory, where every working process is totally streamlined for maximum efficency? In switzerland it is necessary that allmost every manufacter works like this. As well cabinet makers and carpenters. Otherwise the products are too expensive. Love your chanel!
Dang bro, Titan changed your life, sent you around the world seeing all kinds of cool stuff. But you absolutely earned it with your knowledge in Swiss machining. Im really happy for you friend. Much Love from Dallas TX.
I love following this channel. Everyone is so informative, professional, and easy to understand. I am a relatively young machinist rising through the ranks in Canada at just 20 years old. (just finished level 2 of my apprenticeship) I hope to one day... run my own shop Great video Titan & team!
Thanks for your kind words brohammer! With that mentality you will shocked at how far you will get. I know several millionaires that started with just a bridgeport in their garage and worked their way up to having multimillion dollar companies. Anything is possible!!!
@jimsopinion9867 I didn't do button pushing for very long lmao. Was brought in on a high school co-op (only benefit I got from attending Canada's crappy education system) and almost instantly started learning how to do setups. It's been an eye-opener for me, so many different possibilities, all different, but all get the job done
I do exactly this at my shop! We have multiple lengths for shafts on a flange. Using macros we can adjust the part length with 1 number adjusted in the program. Its fantastic.
Hey dude great video, it’s so reassuring when I see someone doing stuff that is so similar to my own approach. I use macros all the time on our regular machines. I bought a book on it years ago and it just makes so much sense to use parametric programming on similar parts. I also like to take a more modular approach, writing sub programs and calling them whenever I want them. It just makes so much sense for the type of work we do.
Hi, I'm spanish machinist programer and I use to use Macros in all machines I code. I did 3d surfaces, coordinate shift and a lot more. Thanks for the video
I like the way you explane every days stuff like it's something special. I made many of programms like this. In one program I change 13 differences on a part by canging one numer in my program
i've been a screw machine programmer for close to a year now and these vids are fantastic, fully agree about writing out every constant in your program even if it makes the code longer (human readability is important), i've already been looking for an excuse to try macro variables and this only makes me want to try it more
I've just made a macro for pretty much all my start and finishes for 5 star machines of different shapes and sizes. can just insert cutting data across 5 machines without having to alter a thing. heaven
Excellent way to teach how to use macros , at my last job , i used to have STAR CNC , CITIZEN L20's i had to learn the hard way how to work out with macros and synchronize with sub spindles for shafts over from 3" to 24" using 1 or 2 single programs with macros ....
ACB stands for 'Active Chip Breaker.' This breaks chips in a controlled manner, eliminating the accumulation of long, stringy chips, bird nests, etc. It's supposed to save the operator downtime from having to pause or stop the machine cycle in order to clear chip accumulations.
To follow this better, I typed in: B#600 =11:11 (Video length) () (F: INITIAL FEED RATE =DS.50 This played the entire 11:11 video at 50% DS DS =(Donnie Speed) Much easier for my slow mind to absorb. 😁 I can't begin to comprehend the amount of inputs on a complex part. One single digit entered incorrectly must create scrap metal rather quickly. You guys are doing a fantastic job educating the masses and at the same time entertaining the rest of us. 👍👍👍
Can you guys do more videos on setting up macros like this? I have seen them before but I always wonder how they were made. Can you do macros like this in CAM software?
We do something like that in turning parts of different diameters on a lathe (Okuma). We call them "Variable Parameters", but it amounts to the same kind of functionality.
2:22 - months will pass, everyone would forget the details. Then someone would invoke that macro with a wrong value (less than 0.25’), and the machine would crash by moving below zero on Z axis. So - always check user inputs in your code!
That's why instead of user inputed dimensions I have a table below everything with the variables set by each part number. User just inputs the part number, then it jumps down to that and loads the correct numbers and jumps back up to run like in the video. And if they type something wrong it just alarms out because it can't find a match.
@@nh18343yep. That’s exactly what I do too. Have the user input variable as the part no. for a few parts I make- which directs what sizes/options are machined accordingly.
Kratje bier 🍻 I think the mathematics genius his name was Marco. Due to a later spelling error, it is Macro 😂 Well done Donnie, writing the whole way of thinking in a Macro is way better.... I had some colleagues who wrote only Macros they even don't understand anymore the next time the parts were ordered 😵
I’m so excited to finally have a machine that has macros. Back when I worked for other shops on Haas machines, the bosses were always too cheap to buy the macro option. Penny wise, pound foolish.
We have about 30 regular cnc lathes, and since one year one swiss type machine. My colleague and i have this comparsion: Imagine you are a Plane-Pilot (Plane = regular lathe) you know how to fly it, right. You know how to fly. But when you are in a helicopter (= swiss-type) you cant fly no more. You have to relearn how to fly. Swiss-types have their place and all, but they are sooo different to a regular cnc lathe. Great when u have a big number of pieces to make.
You can do the same stuff to any other control. Siemens, Haidenheim and Fanuc do the same. We sometimes have 30 different variables in our programs. The program has between 10,000 and 1,500,000 lines of code. The variables are stored in the post processor.
Love some Macro B programming. It's all fun and games until your material starts shrinking when you turn it, then you just add another variable to adjust for the shrinkage.
OR, write a macro that uses variables. But, use a separate program for each variation of the part which contains only the variable values and a call for the macro. Of course, there is not much advantage to doing it this way on a simple part like the one in this video. However, for more complicated parts with several variables, it saves time by not needing to edit the program variables every time you run a different variation of the part. You just load the program that contains the variables needed for the variation you want to run. It also reduces the opportunity for errors that might happen if you accidentally edited the program with a bad variable.
perhaps i was taught differently or wrong... but i was told that macros were a sub program called by the main program and using the variables was just that.... using variables...
I love programming with Macros it's a hell of fun to not forget one Makro in a single Line of code. But if it works... hell yes it is satisfying. More on a milling machine than on a lathe since lathe programming is boring.
Its so funny to me how when americans get a metric drawing, it doesnt bother us at all. We know math. But put some imperial in front of a meter lover, and they immediately panic and dont understand the entire video 😂
I would rather just run one program and finish all parts on that program and manually switch to the next, why I would wanna do that is because that would probably be faster for me rather than trying to figure all that out and watch it run to prove it out
sir please make it in Indonesian, I would be very grateful if Tithan of CNC uses various languages including Indonesian, I really want to learn CNC but I have limited English
%
O4000()
(*** SAVING PART VARIABLES ***)
#600 = 1. (Part OAL)
#601 = 1 (OPTION B? 0=NO 1=YES)
G800 A1.125 B #600 C [ #600-.5 ] D0.3 E.003 F0.0155
(A: BAR DIAMETER)
(B: LENGTH OF PART)
(C: PART PICKOFF LENGTH)
(D: FEEDING ALLOWANCE)
(E: FRONTWORK FACING ALLOWANCE)
(F: BACKWORK FACING ALLOWANCE)
(H: LENGTH PINCHES SPINDLE FOR WORK WITHOUT GUIDEBUSH)
(I: INTERNAL DIAMETER)
(J: QUANTITY OF PARTS BY CLAMPING)
(K: QUANTITY OF FEEDING PER PART)
()
(*** SAVING CUT VARIABLES***)
G801 A1100 B0.118 C0 D97 E2000 F0.0035
(A: CUTOFF TOOL NO + CORRECTOR)
(B: CUTOFF TOOL WIDTH)
(C: CUTOFF TOOL ANGLE)
(D: SPINDLE MODE 97=G97 96=G96)
(E: SPINDLE SPEED BASED ON ARG D)
(F: INITIAL FEED RATE)
(I: SPINDLE SPEED LIMIT)
(J: INCREMENT OF CHIP BREAKING)
(K: DEAD TIME TO BREAK THE CHIP)
(M: WITHDRAWAL TO BREAK THE CHIP)
()
(*** SAVING DWELL VARIABLES ***)
G802 A0.5 B0.5 C0.5 D0.5 E1 F0.5
(A: DWELL AFTER OPENING COLLET S1)
(B: DWELL AFTER CLOSING COLLET S1)
(C: DWELL AFTER OPENING COLLET S4)
(D: DWELL AFTER CLOSING COLLET S4)
(E: DWELL AFTER STOP PUSHED BARLOADER)
(F: DWELL BEFORE CLOSING COLLET S1 WHILE FEEDING MATERIAL)
()
(*** SAVING ELEMENTS MACHINE VARIABLES ***)
G803 A2 B0 C1
(A: GUIDEBUSH TYPE 2: MOTORIZED GUIDEBUSH 3: WITHOUT GUIDEBUSH 3.1: WITHOUT GUIDEBUSH TYPE2 100: NOT STANDARD)
(B: BARLOADER TYPE 0: ANY 20 : MANUAL 100: NONE)
(C: TYPE OF EJECTION 1: EJECTOR 2: LONG PART DEVICE WITHOUT CYLINDER 100: NONE)
()
M9000
(*** INITIALISATION ***)
M10
M82
/M8
G4 X1
G900
M9001
M9002
(*** AXIS REF ***)
G28 U0
G28 V0
(*** INITIAL CUTOFF ***)
G910
M9003
(*** START LOOP ***)
N1 M120
(*** END OF BAR TEST ***)
G913
G930
M9004
(*** FEED NEW PART ***)
G912 B500
G0 W0.00787 (RETRACT THE BAR IN Z)
G0 Z-.75 T0
G0 X1.33858 T110 D0 (RETRACT THE CUT OFF TOOL X)
M9005
(*** MACHINING ***)
/M8
(TURN)
G0 Y0 T112 M103 S8000 P1
M45
M600
G0 Z0.0 X [ #500+0.02 ]
G1 X-.05 F.003
X.3, R.025 F.001
X.375, A150., R.025
Z-.26
X1.123
X1.129 W-.03
G0 X1.2
Z.1
G28 U0
(GROOVE)
G0 Y0 T220 S5000 M103 P1
G0 X1.2 Z-.25
X.4
G1 X.3 F.002
G0 X.42
W-.01
G1 X.375
X.355 W.01
G0 X.42
W.01
G1 X.375
X.355 W-.01
G0 X.45
G28 U0
(TURN 2ND SECTION)
G0 Y0 T112 S8000 M103 P1
G0 X1.2 Z-.23
X.4
G1 X.375 Z-.23 F.001
Z- [ #600-.25 ], R.01
X1.120, R.025 F.005
Z- [ #600+.05 ]
X1.129 W-.03
G0 X1.2
G28 U0
IF [ #601 EQ 0 ] GOTO 1234
(GROOVE)
G0 Y0 T220 S5000 M103 P1
G0 X1.2 Z- [ #600-.25-.1 ]
X.4
G1 X.3 F.002
G0 X.4
W-.01
G1 X.375
X.355 W.01
G0 X.4
W.01
G1 X.375
X.355 W-.01
G0 X.45
G28 U0
N1234
M601
M46
()
()
M9200
(*** CUT-OFF PREPARATION ***)
G97
G0 X1.33858 Y0 T110 D0 M103 S5000 P1
G911
(G0Z-[#600+.787+.01])
M9201
M9202
G1 G95 X0 F.006 (CUTOFF)
M9203
G1 X-0.03937 F0.00118 (END OF CUTOFF)
G97 (CONSTANT CUT-OFF CANCELLATION)
(*** END LOOP ***)
M121
M9204
M9
M105
M1105
M2105
M9205
M0 (STOP A END OF CYCLE)
/M8
G4 X1
M9206
M99 P1
M2
O4000()
M9000
(*** INITIALISATION ***)
M10
G900
M702 M2 M22 (Z4 TORQUE LIMITER VALUE)
M702 M3 M1181 (Z4 SERVO-LAG VALUE)
M9001
(*** AXIS REF ***)
G28 W0 (REF Z4)
G28 U0 V0 (REF X4 Y4)
M9002
G919
M9003
(*** START LOOP ***)
N1 M120
M9004
G55
M405
M9005
(*** MACHINING ***)
G55
G28 W0
G0 T540 Y0 X-1.2 S5000 M404 P4
Z0
G1 X.05 F.002
G0 X-1. Z.05
G1 Z0
X-1.12, R.025
U-.003 W-.06
G0 X-1.2 Z.1
M405 P4
G28 W0
()
()
(*** PART EJECTION ***)
G55 (Z4 ZERO OFFSET FOR BACKWORK MACHINING)
M405
G28 W0 (REF Z4)
G0 X0 T500
M11 (OPEN THE COLLET S4)
G4 X0.5
M84
M85
G4 X0.2
G28 W0 (REF Z4)
G28 U0 (REF X4)
M9200
M9201
(*** PART PICKOFF ***)
G915 (SHIFTING FOR WORK IN OPERATION)
G97
G0 X0 Z0.07874 T400 M404 S5000 P4 (APPROACH BACK SPINDLE)
M418 (SYNCHRO PHASE)
M702 M4 M1 (TORQUE LIMIT Z4)
M702 M5 M1 (ENABLE SERVO-LAG CHECK Z4)
G924 (PART PICKOFF)
(G0Z-[#600-.5])
M9202
M9203
G1 G94 W0.07874 F78.74016 (CHECK BREAKAGE CUTOFF TOOL)
M702 M5 M0 (Z4 DISABLE SERVO-LAG CHECK)
M702 M4 M0 (Z4 TORQUE LIMIT CANCELLATION)
G95 (FOR LOOP START)
G28 W0 (RETRACT BACK SPINDLE)
(*** END LOOP ***)
M121
M9204
M405
M5105
M9205
M0 (STOP A END OF CYCLE)
M9206
M99 P1
M2
Looks like a millturn milling cycle, not what was used in the video.
@@staamp4642 Just fixed it! Thank you
You forgot to add (barry stinks)
Im just a manual monkey but youre a real G for dropping this
@RippenSXS they should totally do a silly vid on custom messages and alarms 😂 frickin hilarious!
I'm a CNC machinist from switzerland. But in a wood furniture manufacture. I also wrote similar macros for furniture parts and house doors. So we're able to take the measurment at the customers house for example how large and deep the wardrobe has to be. The macro just turns the external dimensions of the furniture in to a program for each part. Like an excel-file with "if-then-function", all the necessary holes and millings were adjusted automaticaly. You remember the tour at the Tornos factory, where every working process is totally streamlined for maximum efficency? In switzerland it is necessary that allmost every manufacter works like this. As well cabinet makers and carpenters. Otherwise the products are too expensive.
Love your chanel!
I don’t understand anything about programming but I love to watch everything on this channel , you guys are awesome 🤩 CNC is mesmerizing !
Dang bro, Titan changed your life, sent you around the world seeing all kinds of cool stuff. But you absolutely earned it with your knowledge in Swiss machining. Im really happy for you friend. Much Love from Dallas TX.
I love following this channel. Everyone is so informative, professional, and easy to understand. I am a relatively young machinist rising through the ranks in Canada at just 20 years old. (just finished level 2 of my apprenticeship) I hope to one day... run my own shop
Great video Titan & team!
Youre on the right track, bro! Learn everything you can, and rise to greatness!
And then.. become an expert in repairing them! It doesn't end at pushing buttons!
Thanks for your kind words brohammer! With that mentality you will shocked at how far you will get. I know several millionaires that started with just a bridgeport in their garage and worked their way up to having multimillion dollar companies. Anything is possible!!!
@donniehinske Thanks for the kind words, Donnie! All companies start somewhere.
@jimsopinion9867 I didn't do button pushing for very long lmao. Was brought in on a high school co-op (only benefit I got from attending Canada's crappy education system) and almost instantly started learning how to do setups. It's been an eye-opener for me, so many different possibilities, all different, but all get the job done
Great video Donnie! You definitely help make macros seem less intimidating. Very practical and helpful information!👏👏
I do exactly this at my shop! We have multiple lengths for shafts on a flange. Using macros we can adjust the part length with 1 number adjusted in the program. Its fantastic.
That's awesome!
Great video Donatello!!! Macro power!
Always enjoy the funny stuff at the end. Worth waiting for.
Donnie is a goofball and a pleasure to work with every day!😁
Thanks ma!
Hey dude great video, it’s so reassuring when I see someone doing stuff that is so similar to my own approach.
I use macros all the time on our regular machines. I bought a book on it years ago and it just makes so much sense to use parametric programming on similar parts.
I also like to take a more modular approach, writing sub programs and calling them whenever I want them. It just makes so much sense for the type of work we do.
Hi, I'm spanish machinist programer and I use to use Macros in all machines I code. I did 3d surfaces, coordinate shift and a lot more. Thanks for the video
I like the way you explane every days stuff like it's something special. I made many of programms like this. In one program I change 13 differences on a part by canging one numer in my program
i've been a screw machine programmer for close to a year now and these vids are fantastic, fully agree about writing out every constant in your program even if it makes the code longer (human readability is important), i've already been looking for an excuse to try macro variables and this only makes me want to try it more
I've just made a macro for pretty much all my start and finishes for 5 star machines of different shapes and sizes. can just insert cutting data across 5 machines without having to alter a thing. heaven
Excellent way to teach how to use macros , at my last job , i used to have STAR CNC , CITIZEN L20's i had to learn the hard way how to work out with macros and synchronize with sub spindles for shafts over from 3" to 24" using 1 or 2 single programs with macros ....
ACB stands for 'Active Chip Breaker.' This breaks chips in a controlled manner, eliminating the accumulation of long, stringy chips, bird nests, etc. It's supposed to save the operator downtime from having to pause or stop the machine cycle in order to clear chip accumulations.
To follow this better, I typed in:
B#600 =11:11 (Video length)
()
(F: INITIAL FEED RATE =DS.50
This played the entire 11:11 video at 50% DS
DS =(Donnie Speed)
Much easier for my slow mind to absorb. 😁
I can't begin to comprehend the amount of inputs on a complex part. One single digit entered incorrectly must create scrap metal rather quickly.
You guys are doing a fantastic job educating the masses and at the same time entertaining the rest of us.
👍👍👍
Can you guys do more videos on setting up macros like this? I have seen them before but I always wonder how they were made. Can you do macros like this in CAM software?
Hold up, Kratje bier...
G E K O L O N I S E E R D
We do something like that in turning parts of different diameters on a lathe (Okuma). We call them "Variable Parameters", but it amounts to the same kind of functionality.
2:22 - months will pass, everyone would forget the details. Then someone would invoke that macro with a wrong value (less than 0.25’), and the machine would crash by moving below zero on Z axis. So - always check user inputs in your code!
That's why instead of user inputed dimensions I have a table below everything with the variables set by each part number. User just inputs the part number, then it jumps down to that and loads the correct numbers and jumps back up to run like in the video. And if they type something wrong it just alarms out because it can't find a match.
IF[#600LT1.]THEN#3000=1(length too short. Machine will crash)
@@nh18343yep. That’s exactly what I do too. Have the user input variable as the part no. for a few parts I make- which directs what sizes/options are machined accordingly.
Kratje bier 🍻
I think the mathematics genius his name was Marco.
Due to a later spelling error, it is Macro 😂
Well done Donnie, writing the whole way of thinking in a Macro is way better....
I had some colleagues who wrote only Macros they even don't understand anymore the next time the parts were ordered 😵
You are an awesome teacher. just the right amount of energy and clear instructions. thank you
Learning at the speed of Donnie can be challenging. TH-cam edits make it easy. 😂
“Kratje bier” means crate of beer (you did not come close lol)
Leuke informatieve video over macros donnie groetjen uit nederland!
This man is the Golden Goose.
Well done.
Hey Donnie! I loved the video! You are my fav! Hopefully i can meet you someday and talk about macros! This is so interesting:)!
Thanks a lot Donnie! I hope to watch more videos like this one.
Donnie, Soo nice. Please do more on macros and programming 😃😎
I’m so excited to finally have a machine that has macros. Back when I worked for other shops on Haas machines, the bosses were always too cheap to buy the macro option. Penny wise, pound foolish.
This is in Dutch and means crate of beer xD Greetings from the Netherlands! I've been watching you almost forever!
Realistically, how many people watching this are swiss machinists?
Not me
We have about 30 regular cnc lathes, and since one year one swiss type machine.
My colleague and i have this comparsion: Imagine you are a Plane-Pilot (Plane = regular lathe) you know how to fly it, right. You know how to fly. But when you are in a helicopter (= swiss-type) you cant fly no more. You have to relearn how to fly.
Swiss-types have their place and all, but they are sooo different to a regular cnc lathe. Great when u have a big number of pieces to make.
Not me
Swiss Applications Engineer 👋
You can do the same stuff to any other control.
Siemens, Haidenheim and Fanuc do the same.
We sometimes have 30 different variables in our programs.
The program has between 10,000 and 1,500,000 lines of code.
The variables are stored in the post processor.
And again Don Donnie best work!
Thanks brohammer!!! 👊
Always hatted those prints with variable sizes on them. Seen many of them years ago for lathe and milling. That macro sure does make it easy though.
this is very valuable Information thank you
i love using macro/variables, its much easier in fixing an flawed program when it come to reglage in feed rates spindle speeds and other kind
Love some Macro B programming. It's all fun and games until your material starts shrinking when you turn it, then you just add another variable to adjust for the shrinkage.
I do this kinda tabled drawing but i want to implement parts counter with each length variation having different quantities!
Love the breakdown of the programming... 👍👍
I dropped out of college because of programming lol now it's coming back to haunt me
Never expected to see Dutch in a TITANS of CNC video :o
So if i'm understanding this right, does a macro in CNC machining allow you to run the same part while only changing one or two parameters?
You can change more than one or two things, but yes.
OR, write a macro that uses variables. But, use a separate program for each variation of the part which contains only the variable values and a call for the macro. Of course, there is not much advantage to doing it this way on a simple part like the one in this video. However, for more complicated parts with several variables, it saves time by not needing to edit the program variables every time you run a different variation of the part. You just load the program that contains the variables needed for the variation you want to run. It also reduces the opportunity for errors that might happen if you accidentally edited the program with a bad variable.
G98 P#### for the win.
Your vibe is so nice hehe
perhaps i was taught differently or wrong... but i was told that macros were a sub program called by the main program and using the variables was just that.... using variables...
I love programming with Macros it's a hell of fun to not forget one Makro in a single Line of code.
But if it works... hell yes it is satisfying. More on a milling machine than on a lathe since lathe programming is boring.
Not if you have C axis and live tooling….
I did a similar program for thread turning 17 yrs ago when I was an apprentice.
I machine fabricated weldment and castings . I'd like to see videos on those.Few and far between.
Thanks for these videos>>>
Can you please do a video about how to machine Nomex and aluminum honeycomb core?
But what if you need to make multiple passes to get to the desired dia? Also would it not read #600 in your macros if you had a value in there?
Could you guys please put a program for the macro threads epidsode, like you did here?
Thanks.
A simple bolt spacer macro is also good practice for newbies
Please just start using the METRIC or add metric units when editing.
We live in America - sorry
Sorry, we prefer freedom units 🔥🔥🔥💯💯💯🇺🇸🇺🇸🇺🇸
Its so funny to me how when americans get a metric drawing, it doesnt bother us at all. We know math. But put some imperial in front of a meter lover, and they immediately panic and dont understand the entire video 😂
@@barrysetzervery true 😂😂😂
Better start getting familiar with 25.4 my boy
'Kratje Bier' was kinda close. Means 'case of beer' in Dutch
I would rather just run one program and finish all parts on that program and manually switch to the next, why I would wanna do that is because that would probably be faster for me rather than trying to figure all that out and watch it run to prove it out
always wanted to figure this out
can you make it in milling ???
Yes! I think a thread milling macro will be in our next macro video!
Favorite Titan !! +10
Do you guys speed up Donnie in post or does he just talk that fast?
Donnie lay off the energy drinks man. Those are some pretty jittery lines on that white board.
I know a shop that runs macros almost exclusively for production
sir please make it in Indonesian, I would be very grateful if Tithan of CNC uses various languages including Indonesian, I really want to learn CNC but I have limited English
It's pronounced Bare Crotch. LOL They got you!
I believe it's crate of beer.. lol
LoL "Kratje Bier" means "crate of beer" in Dutch ;)
kratje bier 😅 (beer case) sure would be an awsome machinist
kratje bier is dutch for a crate of beer
Kratje bier means in Dutch a case of beer
Did I just see a knife hand?
micro, macro, it's all the same to me'o
Everyday work. Nothing special about it at all.
I think this guy confuses macros with variables. As in , anything unfamiliar is a macro?
Donnie well explained & you have landed @ G28. Titan what a Team you have, Harold was his name Don