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:

Roger Martin from CNC Software

CNC Software
  • Posts

    2,870
  • Joined

  • Last visited

  • Days Won

    6

Everything posted by Roger Martin from CNC Software

  1. cuttingedge, What is your filter setting for 'Minimum Arc Radius'? What is your setting for which planes to 'Create Arcs in (XY,XZ,YZ)'? How about some sample NC code? Without that - we are just guessing. If you could show us say - 6 blocks before and after the gouge and if you know which block the gouge happpen - all the better.
  2. First you must make sure the PST is requesting the system to create an OPS (Operation Parameters) file. See this setting in your PST -> 1502. Write operation information to binary file (.ops)? y # Now you need to declare a string variable to hold the PST name -> spostname # Declare a STRING variable to hold the PST name # Now add this code to the PPARAMETER postblock. (If this postblock does NOT exist in your PST - just add it) code: pparameter if prmcode = 10055, spostname = sparameter # Capture the PST name # Note that this 'spostname' string includes the FULL path to the PST [ 02-25-2003, 01:24 PM: Message edited by: Roger Martin from CNC Software ]
  3. Jammer, NO... Here is a way to keep separate CFGs for different users. Specify the CFG file on the command line of the shortcut you use to start MC. Like this -> C:Mcam9MILL9.EXE my-mill9.cfg So, when your other user logs onto the computer -they will have there own Desktop in Windows. Their shortcut to start Mill 9 would specify THEIR CFG file and the shortcut on YOUR login Desktop would specify YOUR CFG.
  4. If your Pecking Cycle doesn't support a Subsequent Peck parameter - you will need to turn off canned cycle output for Peck Drilling. Find in your PST-> usecanpeck : yes #Use canned cycle for Peck Change to -> usecanpeck : no #Use canned cycle for Peck Now the 1st Peck, Subsequent Peck and Peck Clearance values are used when generating LONG HAND output (using G0 & G1 moves). That may not sound too appealing, ALL your peck drilling in long hand format? If you sometimes want the G83 canned cycle and sometimes need to go to the long hand output to use Subsequent Peck, etc - there is a way. You can add some logic in the PDRILL0 postblock like shown below... Now if you program a Peck Cycle and specify ZERO for the Subsequent Peck value, you will get a G83 canned drilling cycle call. But if you enter a NON-ZERO value for the Subsequence Peck the post will change over to long hand output. code: pdrill0 #Pre-process before drill call sav_dgcode = gcode #Capture gcode for 5 axis drill #Added (2/19/2003) -->> if drillcyc = 1, # Peck Cycle is programmed [ if peck2 = 0, usecanpeck = yes #Use canned cycle for Peck else, usecanpeck = no #Use canned cycle for Peck ]
  5. Heavy Metal, Even though there some some old guys on this forum, I doubt that many have seen one of these OLD beasts! Unfortunately I have - back in '96. A very painful project, that is why I still cannot purge the memory! Actually did get it to work, after WAY too many hours invested.
  6. You have the INITHT & REFHT Z values available in the post. Of course if you rapid the Z up, you will need to re-state the 'G8?' drill cycle at each hole location, since the 'G00' on the Z move will cancel the active canned cycle. code: % / /N0100 (MSG, Feb/19/03 11:09) /N0102 (MSG, TOOL NO TOOL COMMENT) /N0104 (MSG, T5 1/4 CENTERDRILL) N0106 (MSG, T5 1/4 CENTERDRILL) N0108G90 N0110G70 O0001T5M06 N0112 B0 H0 N0114G00H2X-32978Y43749 N0116S0350M03 N0118Z12500 N0120G81X-32978Y43749Z-6875R0F35 N0122G00Z12500 N0124X1495Y60070 N0126G81X1495Y60070Z-6875R0F35 N0128G00Z12500 N0130X-7337Y32874 N0132G81X-7337Y32874Z-6875R0F35 N0134G00Z12500 N0136M09 N0138M05 N0140M02 % To get this code the only change made were in PDRILL_2 -> code: pdrill_2 # Canned Drill Cycle n, "G00", *initht #Added (2/19/2003) pdrillclc n, pdrlxyrot, depthout, zdrl pdrill #Added (2/19/2003)
  7. The "850. Language" setting flag is not used. Mastercam is translated into other languages. You should try running MC in Japanese! You would need to contact you local Dealer to see if they have a localized version.
  8. Jammer, Question #1 is... Does your OKK even HAVE subsequent peck capability? Is there a word address in the programming manual for a subsequent peck parameter? If so, it is an easy post change.
  9. quote: "Invalid Boundary: Boundary Crosses Z axis". Just like is says... The stock boundary you define in Lathe CANNOT cross the Z axis (aka. centerline). The Lathe system wants to take care of mirroring your boundary across the Z axis.
  10. Phil, quote: I have followed the above instructions and all works well but trying to open a file called V9 MP Posr Ref Index.pdx do you know why I can't look at this or is I even need to? If all works well, why are you trying to open a PDX file ? This PDX is part of the Catalog Index for the Post Processor Guide. I cannot think of a reason why you would need to look at it. But... Since you seem to be the curious type, You can load this file into a Text Editor to look at.
  11. Heavy Metal, I've uploaded a MILL-PECK.SET file to the emastercam FTP site in the "Text_&_post_files_&_misc" folder. The PECK value is retrieved from the parameters. But, you cannot do that for the drill depth, since the value on the parameters screen can be either an Absolute or Incremental value. This mean you must scan for the 'Minimum Z' position encountered during the operation. Luckily, the std. MILL.SET already does that for us. With a few additions, you can get the desired information to output. Search for "Added (2/17/2003)" in the MILL-PECK.SET to see the 4 places where code was added to the std. MILL.SET that shipped with v9 Now, if it encounters a PECK DRILL operation, these 2 lines are added to the info. output -> * PECK VALUE = .25 * Z DEPTH = -1.1875 Sample output ->> CUSTOMIZABLE MILL SETUP SHEET - MILL.SET ======================================== PROGRAM NAME = MTEST DATE PROCESSED = Feb-17-03 MATERIAL TYPE = ALUMINUM inch - 6061 OPERATION = DRILL CYCLE - PECK TOOL NAME = 3/8 DRILL TOOL DEF. (manufacturer) = .375" HSS 5" LONG DRILL TOOL NUM. = 3 TOOL DIA. = .3750 DRILL TIP ANGLE = 118. FLUTE LEN. = 2. OVERALL LEN. = 3. SHOULDER LEN. = 2.5 ARBOR DIA. = .375 HOLDER DIA. = 2. DIA OFFSET = 3 LEN OFFSET = 3 SPINDLE = 350 FEEDRATE = 3.5 * PECK VALUE = .25 * Z DEPTH = -1.1875 ---------------------------------------------- TOOL FEED CUT LENGTH = 5.2125 TOOL RAPID TRAVERSE LENGTH = 55.2648 ---------------------------------------------- TOOL TIME = 1 MINUTE, 40.41 SECONDS ---------------------------------------------- PROGRAM TOTALS (1 Tool) -> -------------- Max_X = +0.1495 Min_X = -3.2978 Max_Y = +6.0070 Min_Y = +3.2874 Max_Z = +0.1000 Min_Z = -1.1875 ================================================= BTW, Jeremiah, you want some snow ?!? I like the stuff too, but we got 16 inches so far TODAY since dawn and are supposed to get an additional 6" over night. [ 02-18-2003, 08:31 AM: Message edited by: Roger Martin from CNC Software ]
  12. Brent, Doing this with the CFG would be a sledge hammer effect, it effects EVERY post you use. Doing this setting in the PST allows you to alter the output of each post... Post #1 -> NO exetension wanted Post #2 -> .MIN extension (for my Okuma) Post #3 -> .ISO extension (for my Charmilles EDM) etc... [ 02-18-2003, 08:43 AM: Message edited by: Roger Martin from CNC Software ]
  13. fs2 & fmt are definately documented in the -> "Version 9 MP Post Processor Online Reference Guide" sgabsinc & scoolant are not pre-defined (string) variables in MP, but you will find references to them if you SEARCH the Guide, since these two are very commonly used in posts. The most useful way to find items in this guide is to install the guide from the CD. Always allow it to install to the default (C:Version 9 MP Post) directory ! Most of the PDF files in this folder will be dated "6/10/2002" With this setup (and the proper version of the free Acrobat Reader), you can use the supplied index which makes searching for stuff MUCH easier. If in Acrobat Reader you want to be doing Edit->Search, or click the 2nd binoculars icon. If you only have ONE binocular looking icon and when you click on it a "FIND" dialog appears, you need to re-download the Adobe Reader at... http://www.adobe.com/products/acrobat/readstep2.html Be SURE to check the option in Step #2 !!! This will get you the Reader that has the SEARCH capability (Note that SEARCH is different than FIND in when using the Reader!) Once you have that taken care of, launch this PDF -> "C:Version 9 MP Post0 V9 MP Post entry.pdf" At the bottom of the screen you will see information about 'full text searching' and how to tell the Reader the index to be used. Using the SEARCH command with the index is the ONLY way to go ! [ 02-17-2003, 12:32 PM: Message edited by: Roger Martin from CNC Software ]
  14. 508. NC Program extension? .nc This has always been a "hidden" setting in the CFG file. (I call it "hidden" because you cannot alter this setting by going thru the Screen->Config interface) As you found out... It has no effect. You must specify the desired NC file extension (as previously mentioned) by altering (or adding)the SEXTNC command in the PST file. If on the Post Processing screen (talking v9SP1 here, since I don't know what version you have) the field for "NC extension" is greyed-out, this means there is a SEXTNC setting in effect from the currently active PST file. Search for SEXTNC in your PST file. Change it from... SEXTNC ".NC" to... SEXTNC This will remove any filename extnesion on NC files created by this post processor. If your PST does NOT contain a SEXTNC line, you can add it "almost" anywhere. A location that will work (since every PST should already have a FASTMODE line) is -> sextnc # Left blank for NO extension fastmode : yes
  15. These post changes will allow you to filter out duplicate (COMMENTS) *Be sure to save a backup copy of your PST FIRST! Alter these postblocks in MPFAN.PST -> --------------------------------------------------------- code: pcomment #Comment (must call pcomment2 if booleans) pcomment2 pcomment2 #Comment output scomm = ucase (scomm) if gcode = 1007, "(", scomm, ")" else, "(", scomm, ")", e To look like -> ----------------- # Need to declare a couple string variables s_newcomm sblank # String variable to hold 'current comment string' s_oldcomm sblank # String variable to hold 'prior comment string' pcomment #Comment (must call pcomment2 if booleans) pcomment2 # Jump to this routine to see if to output the comment pcomment2 #Comment output s_newcomm = scomm # Copy the incoming COMMENT string s_newcomm = ucase(s_newcomm) # make it UPPERCASE scomm = sblank # MUST kill is original incoming COMMENT string if (s_oldcomm <> s_newcomm), # Is different?, then output it... [ if gcode = 1007, "(", s_newcomm, ")" else, "(", s_newcomm, ")", e s_oldcomm = s_newcomm # Remember the COMMENT string output ] ------------------------------------------------- NOTE! If the (COMMENT) is the same from one tool to the next tool across a ToolChange that COMMENT will NOT output on the new Tool , unless... You make a slight change in the PTLCHG postblock ->> ------------------------------------------------- ptlchg #Tool change pcuttype toolchng = one if mi1 = one, #Work coordinate system [ pfbld, n, *sg28ref, "X0.", "Y0.", e pfbld, n, "G92", *xh, *yh, *zh, e ] pbld, n, "M01", e pcom_moveb c_mmlt #Multiple tool subprogram call s_oldcomm = sblank # kill the saved prior comment string <*ADD*> ptoolcomment comment pcan ... rest of the original postblock ...
  16. I've uploaded a sample post to the emastercam FTP site in "Text_&_post_files_&_misc" The file to retrieve is -> MP_OP_IP.ZIP The ZIP contains the MP_OP_ID.PST, an altered version of the MP_EZ.PST, plus a sample NC output file (generated using Mill v9.0SP1). If you post ( with FASTMODE : NO ) you will see diagnostics output showing the values you are working with. Search for "REV_OP_ID" in the PST to locate the required post lines [ 02-14-2003, 10:14 AM: Message edited by: Roger Martin from CNC Software ]
  17. If you are referring to the "index number" of each operation in the Ops. Manager No... This data is not available to the post.
  18. The best PST code reference for this logic would to look at how Rigid Tapping is handled in the MPFADAL1.PST or MPFADAL2.PST posts that are on the v9 CD. Search for "rigid tap". The actual cycle code is generated in the PMISC2 postblock.
  19. You can control this using the CNCREG.EXE utility It would be located in the 'main' Mastercam directory.
  20. The information you need can be accessed from the "n_tap_thds" post variable. You will want to format "n_tap_thds" for the desired output formatting. Something like -> # Create a format specification (if needed) fs2 17 2 0 2 0n # Integer # Format the "n_tap_thds" variable fmt E 17 n_tap_thds #Tapping "feed" Then replace the "*frplunge" in the PTAP postblock to be "*n_tap_thds" *** Was this -> ptap # Canned Tap Cycle pdrillref n, drillref, sgdrill, *x, *y, *depth, *refht, pdwell, *frplunge, e *** Now this -> ptap # Canned Tap Cycle pdrillref n, drillref, sgdrill, *x, *y, *depth, *refht, pdwell, *n_tap_thds, e
  21. quote: Screen,configure,communications. True, but if you want the parameters on this screen to be used - you need to Un-Check this option -> Read PST parameters (q.80-89) [ 01-29-2003, 01:21 PM: Message edited by: Roger Martin from CNC Software ]
  22. Yes, you could locate all the X,Y outputs and prefix an aterisk (*) to each. Here is another way.... You could do this by setting the format (FMT) assigned to X & Y to be Non-Modal But be aware that this will affect all the OTHER variables that use that FMT. You could start rearranging FMTs assigned to those variables.... Ugly and possibly error prone if you don't get them all. In v9, you can use the new FORCE() command formula which was added to simplify forcing output. *Force function (definition) This function allows forcing the variable to output on the next output call and then modality is reapplied from the original (fmt) format statement. Output calls that reset this flag are: normal output, forced output(*), dependent output(`). This function takes two arguments so a range of variables can be forced to output. Argument one is the lower index position in the variable database and argument two is the higher index in the variable database. (This means the variables in the range specified by the 1st variable and the 2nd variable MUST be defined in order in the PST file!) EX. result = force(x,z) Forces out x, y, z on the next output call. EX. result = force(x,x) Forces out only x on next output call. The selector variable of a string select table can be set to force and the string output is then forced on the next output. EX. result = force(gcode,gcode) sgcode, e (Note: Strings can't be directly forced with this function.) ------------------------------------------------- *In the MPCIN850.PST (from v9 CD) you first need to declare a variable -> result : 0 # Needed to hold the return value from the FORCE() command # Note that we really don't care about the returned value! *Then add the 'force' commands in the postblocks shown -> code: prapidm # Linear line movement - at rapid feedrate psubseqn pcan result = force(x,y) #Added (1/29/2003) if mi2 = 0, pcan1, n, sccomp, pccdia, sgcode, x, y, z, strcantext, e if mi2 > 0, pcan1, sn, sccomp, pccdia, sgcode, x, y, z, strcantext, e pcan2 plinm # Linear line movement - at feedrate psubseqn pcan result = force(x,y) #Added (1/29/2003) if mi2 = 0, pcan1, n, sgcode, x, y, z, pfr, strcantext, e if mi2 > 0, pcan1, sn, sgcode, x, y, z, pfr, strcantext, e pcan2 pcirm # Circular interpolation psubseqn pcan result = force(x,y) #Added (1/29/2003) if mi2 = 0, pcan1, n, sgplane, sccomp, pccdia, sgcode, x, y, z, pijk, pfr, strcantext, e if mi2 > 0, pcan1, sn, sgplane, sccomp, pccdia, sgcode, x, y, z, pijk, pfr, strcantext, e pcan2 pdrill_2 # Canned Drill Cycle result = force(x,y) #Added (1/29/2003) if mi2 = 0, n, x, y, depth if substart = 0, ex if mi2 > 0, psubseqn if mi2 > 0, sn, x, y, depth
  23. quote: I use XP home, I was under the impression the main differance has to do with network capability You are CORRECT. The real difference between XP Home & XP Pro is just that - networking. I've run Win2K on several systems since that day this OS was released. Correct setup with good hardware = rock solid platform. I don't have as much experience (time) using XP, but certainly cannot complain, it's been good to me. I did not need the additional networking in XP PRO for home use, so I didn't spend the extra $$$. This does NOT mean that you cannot network with XP Home. My home network works fine, with these systems -> Work system (Dell laptop) with XP Pro Home system (Dell desktop) with XP Home Home system (custom built desktop) with Win2K Pro Home system (old Dell desktop) with Win 98 The Win98 box is going away soon, because '98 IS garbage!
  24. quote: result = nwadrs(strp, sub_prg_no) The NWADRS command allows you to assign a new format (fmt) prefix to a variable. In this case, it's assigning whatever string is contained in the string variable STRP to the formatting of the SUB_PRG_NO variable. (STRP = "P" in the std MPFAN.PST) So... this is NOT causing the change you see in the VALUE being output. NWADRS only affects the letter address output when you output the value in SUB_PRG_NO
  25. Here is a section of the PSOF postblock from MPFAN.PST (v9) Added the declaration of 3 variables to store the initial Home Position -> xhome, yhome, zhome Then IN the PSOF postblock just transfer the value from the XH, YH, ZH variables into our new XHOME, YHOME, and ZHOME variables. Now you've captured the initial X,Y,Z home positions and can output these coordinates where ever you need to. code: fmt X 2 xhome #Saved X home position fmt Y 2 yhome #Saved Y home position fmt Z 2 zhome #Saved Z home position psof #Start of file for non-zero tool number pcuttype toolchng = one if ntools = one, [ #skip single tool outputs, stagetool must be on stagetool = m_one !next_tool ] "%", e *progno, e "(PROGRAM NAME - ", sprogname, ")", e "(DATE=DD-MM-YY - ", date, " TIME=HH:MM - ", time, ")", e pbld, n, *smetric, e pbld, n, *sgcode, *sgplane, "G40", "G49", "G80", *sgabsinc, e sav_absinc = absinc # *** Save off the initial X,Y,Z home position coordiates *** xhome = xh #Save initial X home position yhome = yh #Save initial Y home position zhome = zh #Save initial Z home position if mi1 <= one, #Work coordinate system [ absinc = one pfbld, n, sgabsinc, *sg28ref, "Z0.", e pfbld, n, *sg28ref, "X0.", "Y0.", e "*", pfbld, n, "G92", *xh, *yh, *zh, e absinc = sav_absinc ] pcom_moveb c_mmlt #Multiple tool subprogram call ptoolcomment comment pcan if stagetool >= zero, pbld, n, *t, "M6", e

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