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:

Rob @ Target Machine

Verified Members
  • Posts

    737
  • Joined

  • Last visited

Everything posted by Rob @ Target Machine

  1. BTW - the first fmt statement has a : that should be a ". My bad.
  2. I don't know how much you know about the MP language, or how deep you are willing to dive into this, so I'll give you a few leads. Post Reference Guide If you are using X there is a pdf(Post Parameter Ref.pdf) in your mcamx/documentation directory that explains new post rules and parameter info. I just posted a custom debug tool (for advanced post programming). Sharing my new debugging tool Just remember to back up your post before making changes! HTH
  3. After pulling my hair out trying to debug my custom subprogramming logic, I devised a neat little tool to see what's going on, so I will share it. I know of the tilde ~ method(bug4) , but I needed something different for my situation. I hope this is of use to someone. It got me back up and running. # Add this switch after debug section: code: # -------------------------------------------------------------------------- # additional debug output # -------------------------------------------------------------------------- # showme : 0 #0 = No output, 1 = Show custom debug output # # -------------------------------------------------------------------------- Declare the variables and strings used to display values: code: # -------------------------------------------------------------------------- # additional debug variables # -------------------------------------------------------------------------- fmt := " 4 sch fmt "= " 4 sod fmt "= " 4 sgd fmt "= " 4 srd fmt "= " 4 ssn fmt "= " 4 stn fmt "= " 4 stt fmt "= " 4 stm fmt "= " 4 mpn fmt "= " 4 spn fmt "= " 4 svp fmt "= " 4 pgn # sshift " "# 30 spaces # -------------------------------------------------------------------------- Define the postblocks: code: pshow_sub_ch sch = subout$ sshift, "(-----------------)", e$ sshift, "subout$", *sch, e$ sshift, "(-----------------)", e$ pshow_me sod = sub_op_id$ sgd = sub_grp_id$ srd = sub_ref_id$ ssn = sub_sec_no$ stn = sub_totl_no$ stt = sub_trnstyp$ stm = sub_trnmthd$ mpn = main_prg_no$ spn = sub_prg_no$ svp = sav_progno pgn = progno$ sshift, "(-----------------)", e$ sshift, "subout$", *sch, e$ sshift, "sub_op_id$", *sod, e$ sshift, "sub_grp_id$", *sgd, e$ sshift, "sub_ref_id$", *srd, e$ sshift, "sub_sec_no$", *ssn, e$ sshift, "sub_totl_no$", *stn, e$ sshift, "sub_trnstyp$", *stt, e$ sshift, "sub_trnmthd$", *stm, e$ sshift, "main_prg_no$", *mpn, e$ sshift, "sub_prg_no$", *spn, e$ sshift, "sav_progno", *svp, e$ sshift, "progno$", *pgn, e$ sshift, "(-----------------)", e$ Insert argument to call "pshow_me", or "pshow_sub_ch" where you need to see values: code: pcust_call_s$ #Call to sub level if showme<>0, pshow_me <-------------------------------- HERE result = nwadrs(strp, sub_prg_no$) if sub_sec_no$ <>0, [ sub_prg_no$ = sub_prg_no$ + sav_progno ] else, [ sub_prg_no$ = sav_progno +1 sav_progno = sub_prg_no$ ] pbld, n$, "M98", *sub_prg_no$, e$ psub_st_s$ #Header in sub level if showme<>0, pshow_sub_ch <---------------------------- HERE result = nwadrs(stro, sub_prg_no$) #sav_n2 = n #n = seqno spaces$ = 0 sub_ext = sub_prg_no$ " ", e$ *sub_prg_no$," (", sprogname$, sub_ext, "..SP", ")", e$ #*sub_prg_no," (", sprogname, "..SP", ")", e spaces$ = 0 #if scomm0 <> snull, "(", *scomm0, ")", e if scomment_holder <> snull,"(", scomment_holder, ")", e$ spaces$ = sav_spc pbld, n$, sgabsinc, e$ psub_end_s$ #End in sub level if showme<>0, pshow_sub_ch <---------------------------- HERE n$, "M99", e$ prv_absinc$ = -1 #n = sav_n2 if sub_sec_no$ <>0 & sub_sec_no$ = sub_totl_no$, [ sav_progno = sub_prg_no$ ] # At the merge if showme<>0, "(sub files start here --------------------------------)", e$ mergesub$ #Merge tool subs or transform subs clearsub$ if showme<>0, "(aux files start here --------------------------------)", e$ mergeaux$ #Merge depth cuts (non transform subs) clearaux$ if showme<>0, "(ext files start here --------------------------------)", e$ mergeext$ #Merge custom drill cycle subs clearext$ "%", e$ Note that you may need to adjust # of spaces in sshift to display correctly. You can customize this for whatever values you need to see Happy debugging! [ 01-18-2009, 10:09 AM: Message edited by: mastercamguru ]
  4. I found that my solution was to restore the sub methods that came with Mpmaster, and create my own postblock for custom calls, keeping an offset between all three numbering methods. All is working fine now.
  5. [CHIME IN] HUMPHER_D: The answer to your question is yes (sort of) LOL Mastercam auto sub support is only limited to how complicated you want to make the solution. Subs can be classified into three categories: 1.Transform subs 2.Non-transform subs 3.User defined subs As long as you only want to deal with the first two types things are fairly easy. In the Mpmaster post, Mp.dll calls these two postblocks to output subs: psub_call_trans - for transform operations (linked from psub_call_m$ and psub_call_mm$) (transform, mirror, and rotate) and psub_call_s$ - for non-transform operations (drill subs & depth cuts) main_prg_no$ - is the number assigned to each transform operation and sub_prg_no$ - is the number assigned to each non-transform operation You can change the number each type starts at(offset), but they will increment by one each time a new sub is called. By default Mpmaster starts transform subs at 1 + sav_progno(the program number you input in mastercam) and non-transform subs at 1000 + sav_progno. Keep in mind that there needs to be a number or variable that offsets the main from the sub numering to avoid conflict, and it must be a static value to allow the sub to be recalled in a further operation. For example if the same drill points are picked in multiple operations(in the same order), they will share the same sub, rather than creating a new one. If you play by these rules you should be safe. If you need to do more than this I would suggest leaving it to the pros, or get real familiar with the Mp Post Reference Guide. [/CHIME OUT] [ 01-17-2009, 05:55 PM: Message edited by: mastercamguru ]
  6. I'm thinking: code: psub_call_s$ #Call to sub level result = nwadrs(strp, sub_prg_no$) sub_prg_no$ = sav_progno + 1 if drillcyc$, [ sav_progno = sub_prg_no$ ] pbld, n$, "M98", *sub_prg_no$, e$ Then: code: sav_progno = sub_prg_no$ Called in ptlchg0$,and ptlchg$ so the # doesn't increment until next operation if auto subs are active. Thanks for the advice. I'll test it out tonight.
  7. Hmm....I found the gcodes - 1018 and 1019, but they don't look promising for use in my method. Maybe capture sub_op_id and compare to previously captured "prv_sub_id" to skip increment if sub id # repeats. Any ideas ? [ 01-15-2009, 01:18 PM: Message edited by: mastercamguru ]
  8. BTW This is what my postblock looks like: code: psub_call_s$ #Call to sub level result = nwadrs(strp, sub_prg_no$) sub_prg_no$ = sav_progno + 1 sav_progno = sub_prg_no$ pbld, n$, "M98", *sub_prg_no$, e$
  9. I have modified my subprogram numbering logic to increment +1 every time a new call is executed. This was changed to support custom drill cycles output to aux channel as subs. Everything is working fine until I output subs for depth cuts in pocketing( or any auto subs ). I only need mastercam auto sub output for pocketing though. When I use depth cuts a sub is created and called(#'s match), then each call afterward is incremented. I understand this is happening because mp.dll is calling psub_call_s$ internaly and the logic needs to be changed in the postblock. I am thinking of using if gcode$ = type of logic to skip the increment. I think the gcode is 1008 or 1009, but I'm not sure. Does anyone know what the nci gcode is for deph cuts in pocketing? Any suggestions would be greatly appreciated. [ 01-15-2009, 10:25 AM: Message edited by: mastercamguru ]
  10. MCHRIS77 - What shop are you in, J & L ? I suppose you know C.T.Perkins Engineering next to Gloucester Engineering. That was my grandfather, Cal's old shop. I'm at R & D Engineering in Rowley, MA. SMALL WORLD ISN'T IT?
  11. quote: Good luck reading through the 16 million lines of code! If you find any mistakes let me knowROFLMAO !! Mpmaster is any easy post to read. Maybe I'm just familiar with it. The Mplmaster post is even more fun to make sense of. Glad I'm a mill guy.
  12. Nice keyboard......Still wouldn't part with my Space Navigator though.
  13. Sorry, I left out the relavent declaration for this example: Define or initialize a string: newprogname should be snewprogname when used as a string and needs to be declared to use it in a statement. snewprogname "" This declares a string variable and initializes it to a null string value.
  14. Ahh, I see says the blind man... The top link goes to the bottom one now....
  15. FileZilla works fine for me!!! Both links work fine, even with IE7. It does, however ask for user and password, but I can log in with no problems. http://filezilla-project.org/download.php
  16. First declare any variables that will be used in the question by initializing them: newprogname : 0 or formatting them: fmt O 4 newprogname then define the question: fq 5 newprogname "Enter program name //sprogname$//" you can show a variable's value in the question by enclosing it within // // double fwd slashes. Then you can use it later within a postblock like this: code: pgetprogname q5 sprogname$ = ucase(newprogname) q5 asks the question your input goes into newprogname newprogname is assigned to sprogname$ If you need any more MP Script help, ask your reseller for the V9 post reference guide -- it is a priceless tool/ref. You really should get a copy if you want to understand post editing. [ 12-31-2008, 09:04 PM: Message edited by: mastercamguru ]
  17. X2 Mr2 Sp1 is working fine on Vista for me... I hear X3 is supposed to be more Vista compatible. Have you considered upgrading to X3Mu1? OOPS ---- DITTO Well, you now have a second opinion, even if it is the same. My advice is update your maintanence contract.
  18. Thanx, I'll document that as well. The more ammo I have, the more likely I'll win this battle. As much as I disagreed at the time, I have to say...... Yeah.. the owner of RJ was right, we did exactly as he said, and the job still runs great.
  19. Matsuura RA-III, 18,000rpm spindle(ceramic bearings) with a Yasnac i80 Control. This is the most likely candidate for first application of HSM to our shop floor. It's a little slower than the MAM 600 horizontals I'm used to, but I'm pretty sure the servos are capable of 780 ipm in x-y and 1280 ipm on the z.
  20. BTW -- Is there a "method" of adjusting for machine dynamics, or is it mostly trial and error?
  21. Thanks for the replies guys. Now that I have some baselines, I can get started on one of our faster machines. Next time we slow down a little I'll try it out ....
  22. Yeah we already had the owner of RobbJack visit our shop> His reccomendation was to increase feedrate until the end mill broke, then back it off 10%. No mention of axial/radial DOC. ??? I am very fond of RobJack EM's, especially the 5 * dia series. I'll check the http and see what they have to offer. Thanx 4 the reply.
  23. I would like to introduce HSM to my shop, but I want to have "dead on"(or as close as possible) speed/feed & axial/radial doc parameters to start with, before presenting this to the owner. It seems a shame that Mastercam has these new HSM features, but no solid parameter info. Is there any method or software available to help me bring this shop up to speed?
  24. BTW---Sounds like you could ask some of these guys to go get a "bucket of RPM's" to fill up a machine--and they would come back 20 minutes later to tell you they can't find them. LOL

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