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:

JerryBenoit

Verified Members
  • Posts

    96
  • Joined

  • Last visited

Everything posted by JerryBenoit

  1. The easiest way would be to add two new string variables useing the ansi code to post out the (") and (;"). on each post block that is outputting code. That way you could just call the string variable at the begining and end of each line of code. This will be a slow process, because you will need to add them to each output command. Unless you are comfortable in doing a replace text routine. Jerry PS If you need more info just ask.
  2. Hello, We have one of our milling Machines Matsuura with a 11M control that will not allow use to use a "GOTO" statement to rewind to a previous block number. We also tried to use an M99 Pxxx with no luck also. Is there a parameter setting that we need to set to allow this? Thank Jerry
  3. If you contact your reseller they might have X6 NCI with V9 it is 50meg PDF. and also V9 is update as to what is obsolete. Jerry
  4. Talk to your reseller, I took a basic post class that they put on and also attended one at CNC a few years ago. Jerry
  5. Yes I believe you are right K2csq7. It is my understanding that any command starting with a "p" is refering to a post block same as a command starting with "s" is to a string, the ( * ) in front of any command will force the output. Whether it is a G code feed or axis command. Jerry
  6. We have an outside vender that Laser our machines this checks the entire travel of our machines in each axis. As to the fequency it would depended on your company standards we do each machine 1 every year. Jerry
  7. yes there is you need to change the each time you want to force the post to out put the G code. In the post you will see sgcode if you place *sgcode. However you need to do this in several place. prapidout #Output to NC of linear movement - rapid sav_gcode = gcode$ if convert_rpd$ = one, [ gcode$ = one feed = maxfeedpm ipr_type = zero ] pcan1, pbld, n$, sgplane, `sgcode, [if gcode$ = 1, sgfeed], sgabsinc, pccdia, # <<<< this line change `sgcode to *sgcode pxout, pyout, pzout, pcout, [if gcode$ = 1, `feed], strcantext, scoolant, e$ gcode$ = sav_gcode plinout #Output to NC of linear movement - feed pcan1, pbld, n$, sgfeed, sgplane, `sgcode, sgabsinc, pccdia, # <<<< Again same here pxout, pyout, pzout, pcout, `feed, strcantext, scoolant, e$ pcirout #Output to NC of circular interpolation if not(arccomp), pcompwarn if full_arc_flg$, [ if plane$ = zero, result = force(xabs,yabs) #force coordinate on full arc if plane$ = one, result = force(yabs,zabs) #force coordinate on full arc if plane$ = two, [ result = force(xabs,xabs) #force coordinate on full arc result = force(zabs,zabs) #force coordinate on full arc ] ] if hel_2100 = one, pcirout2 else, pcirout1 pcirout1 #Output to NC of circular interpolation pcan1, pbld, n$, `sgfeed, sgplane, sgcode, sgabsinc, pccdia, #<<<< This line change sgcode to *sgcode pxout, pyout, pzout, pcout, parc, feed, strcantext, scoolant, e$ pcirout2 #Output to NC of circular interpolation if (plane$ = zero & fmtrnd(zinc)<>0) | (plane$ = one & fmtrnd(xinc)<>0) | (plane$ = two & fmtrnd(yinc)<>0), phelout else, pcirout1 phelout #Output to NC of helical interpolation if plane$ = zero, [ result = nwadrs(strk, lead) lead = abs(zinc/sweep$*360) ] if plane$ = one, [ result = nwadrs(stri, lead) lead = abs(xinc/sweep$*360) ] if plane$ = two, [ result = nwadrs(strj, lead) lead = abs(yinc/sweep$*360) ] pcan1, pbld, n$, `sgfeed, sgplane, sgcode, sgabsinc, pccdia, #<<<< This line change `sgcode to *sgcode pxout, pyout, pzout, *lead, pcout, parc, feed, strcantext, scoolant, e$ Now this is only going to do the G0, G1, G2, and G3 lines of code if you have others you will need to seach them out Jerry
  8. I would agree with Goetzlnd and Jamman. EDM or Gundrill based on the fact most boring bars that are Carbide you can go 6 times the diameter or the bar. The .110 diameter you could go .66 , and then you also need to think about chip evacuation. Jerry
  9. Are you looking for a Machine Manuel? Jerry
  10. Hi CADCAM3D5AXIS, First make sure you click on image to enlarge Then start at the list at General user variables list this should be at line 482 in your post (+/- dependending if you have other modification within your post, just look for the comment line). At the end of this list add the variable you wish to use (use something that makes sense, like “sav_numb”). Now if you like to use N1000 and so on for can-cycles and keep that number increasing each time you do another roughing operation insert two variables. Remember variables are case sensitive. After I set a variable search the entire post to see if that variable is being used (use the find case sensitive). If you only find it once you are alset to continue. #General user variables xia : 0 #Formated absolute value for X yia : 0 #Formated absolute value for Y zia : 0 #Formated absolute value for Z cia : 0 #Formated absolute value for C “ “ “ #Formated “ “ “ #Formated “ “ “ #Formated “ “ “ #Formated rslt_plc : 0 #Return value from plcval rslt_upd : 0 #Return value from updstr sav_numb : 0 #Used to save number sequence before can-cycle pnumb : 0 #Used to save can-cycle number Ok after that search the program down around line 3884 for prcc_call_end$ add the lines marked >>> prcc_call_end$ #Rough canned cycle end # Restore cc_1013 to the value it held prior to the rough # 1/17/03 # groove canned cycle. cc_1013 was changed in ptoolend. # 1/17/03 if tool_op$ = 208 | tool_op$ = 62, cc_1013$ = sav_cc_1013 # 1/17/03 if tool_op$ <> 208, [ omitseq$ = sav_omitsq if omitseq$ = no$ & cc_seqno, n$ = sav_cc_st_seq #reset start of canned cycle sequence number #Close the ext file result = fclose (sbufname3$) #Open the ext file as a buffer #Use the size to determine the start and end sequence subout$ = sav_subout size3 = rbuf(three, zero) if omitseq$ = one, [ >>>> sav_numb = n$ >>>> if pnumb = 0, pnumb = 1000 #This set-up the first block number of a can cycle to N1000 >>>> n$ = pnumb ng70s = n$ ng70e = n$ + 1 ] else, [ if old_new_sw = zero, ng70s = n$ + seqinc$ else, ng70s = n$ + (seqinc$ * two) ng70e = ng70s + (seqinc$ * (size3 - one)) ] pwrite_g70 ] #Setup the stock and clearance directions g73x = vsub (lcc_xcst,lcc_xcend) if old_new_sw = zero, g73x = g73x * pl_ax_m0x else, g73x = g73x * dia_mult g73z = g73z * pl_ax_m0z xstckcc = xstckcc * dia_mult * lccdirx zstckcc = zstckcc * lccdirz * pl_ax_m0z clearcc = clearcc * lccdirz * pl_ax_m0z #Write the cycle definition sav_feed = feed sav_ipr = ipr_actv$ feed = sav_feedcc ipr_actv$ = sav_iprcc if lathecc = three, [ #Setup the previous position for inc. in G74/G75 cycle sav_xa = vequ(xabs) #Save the cycle end copy_x = vequ(lcc_xcst) #The cycle start raw pshft_map_xa pxyzcout ##The cycle start in machine terms ps_inc_calc #Recalculate incremental pe_inc_calc #Update previous at start xabs = vequ(sav_xa) #Restore the cycle end ps_inc_calc #Recalculate incremental ] if old_new_sw = zero, [ if gcodecc < three, pg71old if gcodecc = three, pg73old if gcodecc > three, pg74old ] else, [ if gcodecc < three, pg71new if gcodecc = three, pg73new if gcodecc > three, pg74new ] if lathecc = three, [ #Set the cycle end position at the original start copy_x = vequ(lcc_xcst) #The cycle start raw pshft_map_xa pxyzcout ##The cycle start in machine terms ps_inc_calc #Position at start pe_inc_calc #Update previous ps_inc_calc #Recalculate incremental ] feed = sav_feed ipr_actv$ = sav_ipr if tool_op$ <> 208, [ #Bug2 is off to prevent execution crashes with long strings bug2$ = zero #Write the cycle profile, sequence are written now rc3 = one while rc3 <= size3, [ sav_eob = eob$ #save out eob character as it's getting lost eob$ = 32 #save out eob character as it's getting lost prv_eob$ = 32 #save out eob character as it's getting lost #Write the lathe canned cycle profile string3 = rbuf (three, rc3) if rc3 = two, [ #Add the finish spindle speed to the first move speed = n1_ss #Mastercam is reporting 0 and 2 backwards for parameter 10124 #Note that G71 type 1 and 3 are never allowed (can't change Z dir) if g71type = 2 | g71type = 3, pbld, *n$, *string3, *speed, e$ if g71type = 1 | g71type = 0, pbld, *n$, *string3, *speed, "W0.", e$ ] else, [ if omitseq$ = one & rc3 = size3 + one, pbld, *n$, *string3, e$ else, pbld, n$, *string3, e$ ] eob$ = sav_eob #save out eob character as it's getting lost canneddone = one ] #Close the buffer result = fclose (three) #Remove the ext file result = remove (sbufname3$) bug2$ = sav_bug2 ] sav_seq = n$ >>> if omitseq$ = one, >>> [ >>> pnumb =n$ + 1 >>> if sav_numb > 0, n$ = sav_numb >>> ] now your first can cycle number will be P1000 to Q1001 the next can cyle will be P1002 Q1003 Jerry PS if you have any trouble or need more info just ask.
  11. Do you want that every time you post the M08? Jerry
  12. You also want to check if your tool you choose to cut this feature will clear the flanks of the thread. I once had a job we needed to cut with 60 starts on the O.D. of a part that required us to modify the holder to angle the insert so there was clearance with the flanks. Simalar to a laydown insert and its use of the shim. Jerry
  13. Ron, Good point, so often we assume the customer is correct in the requirements we tend to forget that cutting threads is more than just getting the P.D. to size. We also need to have the Major, Minor, and Form fall into tolerance as well. If you look at any insert manufacture they produce class 2 type cresting threading inserts, but if you need to cut a class 3 you will need to cut the crest with another tool, or special order inserts for the thread you desire to cut. Now when cutting any thread I always look at the P.D. then check the thread form. I make sure that when you cut the P.D. to its size limits does the minor fall within, if the insert is cresting does the major fall in. Reason being is I have seen the customer requirements wrong that when you get the P.D. size the minor or major would be out. One case comes to mind was a customer gave us a special ACME thread that gave a tolerance on the P.D., major, and minor on that thread of (+/- .01). I thought peice of cake however, after looking at the root radius they required. "You cannot get there from here!" The minor would be way below the tolerance they gave. Not only that, but we would have cut a spiral ring around the bearing journal next to the threads. When inspect threads you need to look at the P.D. and thread form. If you fail to look at the whole characteristic, someone will eat crow. Better them then you. Jerry
  14. There are several good ways to check threads each has there own place. I trend to feel it is ok to use ring gages but never trust them completely. Reason being my last employer have to swallow his pride and rework over a 1000 peices of 718 inco because the ring gages wore out (Q.C. gave the green light on when the gages neede to be swaped they were a little off). Wire meathod is good difficult to use by some but they are accurate. Pitch mics also are good, however it does not matter what method you use. If you only use and that one method is wrong do to calabration, a wore gage, or miss use. You will be reworking parts! Using a mating part is not good because is it to the high or low of it accecpted tolerance. After that episode we adopted policy to check every feature with a double method. Both have to match if not it was up to Q.C. to decide how the parts are to be gaged. Again looking at the history if the double check method did not verify the accuracy. Which one of you want to explain to your employer or customers why the threads are not to spec? Each method is good each should repeat if not do some gage R&R. Jerry
  15. oh, by the way I use both editor and both are about the same price, both are good, however if you use alot of Fanuc Macro B statements NcPlot will allow you to check logic of those statment. Jerry
  16. Hi, Please bear in mind that if you use the tool path from g-code with G41 or G42 you will be fine in using the DFX file, but if the code was produce with cutter compensation built into the code you need to adjust the path on all radius and angles. I do this a lot in old code lathe that we do not have in MasterCam. Jerry
  17. CADCAM3D5AXIS, Do you omit sequance numbering, meaning you only post block numbers at the start of every tool change not on every line? Jerry
  18. Hi, I have done this. I have my post outputting a block number at the start of every tool change sequence increasing by +1, then changed the sequence Numbers to start with N1000 and start to increase +1 on every can-cycle I produce then going back to the original sequence. You will need to create a new variable to accomplish this. The trick to this is create a new variable to store the current n$, that will allow you to maniplulate the n$ to what you desire, then recall the new variable to reastablish the n$ to the original value. What I used as a variable was "sav_numb". If you like more info on this just asked. Jerry
  19. Thanks Greg, Projects that we used that software were great. It helps insure the set up easier, check tool interference and check program tool path. Especially when you have a 30K piece of material in the machine with face grooves that have upper and lower lips that you need specialty tools to reach. As for the interface, I believe this is a new feature. So it will take some play time with and a lot of seat time learning how to get the two the play together. Jerry
  20. Thanks John, I am really not suprized. It seems to me that Vericut was designed mostly for mills and lathes came as after thought. I will talk to you on monday. Jerry
  21. Hello, Anyone using Mastercam interface with Vericut on Lathe files? We just purchased the interface and having some trouble bring in the stock STL file into Vericut. We have been setting up our lathe programs in the D+ Z+ and when we bring that into Vericut. The part is vertical instead of being on the horizontal plane. Is there a way we should set up our WCS planes? I did search to see if this was an issue and did find a toppic on mills. Thanks Jerry
  22. HELLO, WFL has this ability. To move the B axis while maintaining tool contact in cut. They are always monitoring tip position whether you are in cut or not. if you position the b axis at 45deg then face the part using G41 or G42 then position the tool at 35 deg to face the same feature the machine will calculate the tip on problem. You also can just program the b axis to move will in cut. from the 45 to 35 deg. This is really neat to watch but in the three years since our first WFL we only employ this method once or twice. this feature is designed to take light cuts and be careful of your feed your b axis is now moving by your feed command.
  23. Ron, You might also want to mention that the feed should be set in in/min. the lathe will not feed unless the machine spindle is on in in/rev.

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...