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:

Kalibre

Verified Members
  • Posts

    54
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Kalibre

  1. Was adding a little logic to an MPLFAN post and ran into a bit of silliness. Basically, I just wanted to set a variable based off of the value of plane$. Should be easy enough, it can only be 1 of four values and you can grab it from pretty much anywhere in a mill post. So off I went:

    if plane$ = zero, my_var = one
    if plane$ = one, my_var = three
    
    etc

    no matter what I did, it always spat out one. So, I just set my_var = plane$ and yup, big ol zero. Moved it all over the post to see if it would change the outcome and pulled my hair out realizing every nci line that it outputs plane$ for mill, it sure doesn't for lathe.

    I ended up tracing where the post digs out sg17-sg19 and was able to set my_var there, but seems like a bassackwards way of getting to it. Anyone know where/if plane$ is actually output anywhere during lathe toolpath processing and I missed it? Or does it actually not get treated the same as in a mill toolpath? 

  2. You can orient however you want on the tool set-up page. There's neutral OD holders in the standard tool library, change the insert to a VNMG if required and change the tool angle. Check the Define Tool parameters tab to make sure the compensation and tool clearances don't do anything funky (mostly on grooving tools).

    t.PNG

    • Like 1
  3. On 2/3/2020 at 12:07 PM, nickbe10 said:

    Have you tried the Mastercam website. If you have active maintenance you should be able to download from there?

    It's worth getting the latest edition.

    Don't forget resellers make some of there income from selling posts so they may be reluctant to get it for you, this happens in the US too.

    I am unaware of anybody who has been unsuccessful if they stamped their feet  and whined enough, a quick e-mail to CNC in Connecticut requesting a copy because you can't get it thru your reseller has also gotten results.

    All I could find on documentation on the MC site was NCI parameters from X3-X6, maybe I'm looking in the wrong area?

    Sent off an email anyway and until a hopefully positive response, I shall continue writing garbage code until it works by sheer will alone.

  4. On 1/29/2020 at 2:14 PM, nickbe10 said:

    If you want to learn about posts I would suggest the following:

      Get hold of the MP documentation from your reseller, this may or may not be difficult...you might have to insist.

      Take one of Colin Gilchrist's (you will see him here often) courses on Post Processer editing. They are not regular but check emastercam website to see if there is an upcoming course.

      The amount of help you get in the PP forum is usually directly proportional to how people perceive your willingness to make an effort to help yourself.

    Not sure about the US, but  up here they haven't distributed the MP documentation in quite some time. 

  5. 2 hours ago, danm said:

    Kalibre, I finally had a little time to try this and I am not sure where to add this text. Do i put it in with the ptlchg$ ? And if this works can I put the letters in with the tool number on the parameters page?

    run the debugger and watch where the post outputs the tc lines, put it in there. you won't be able to put the letters in the tool path parameters page. In the example, your post would pull it from the "Tool name" in the "Define tool" section. 

  6. plinout         #Output to NC of linear movement - feed
    
           if cc_pos$ <> prv_cc_pos$ & cc_pos$ <> zero,
    	   [pccdia, e$
    	   pcan1, pbld, sgfeed, sgplane, "G0", sgabsinc, pwcs, 
            pxout, pyout, pzout, pcout, strcantext, pscool, e$]
         else,[
           pcan1, pbld, sgfeed, sgplane, *sgcode, sgabsinc, pwcs, pccdia,
            pxout, pyout, pzout, pcout, feed, strcantext, pscool, e$]

    This got it outputting mostly what you want, changing the `sgcode to *sgcode forces it to output G1/G0 every line tho, without changing it, bad things happened.

  7. 15 hours ago, Zaffin said:

    That logic isn't the best (I'm aware it came from a generic); In Mastercam 2019 and beyond toolismetric will never be true.  Beside that, using the tap_pitch$ variable will half the amount of code in that postblock.

     

    OP, have you contacted your reseller?  If you need this in a hurry I think that would be your best bet.

    I pulled the section from the 2018 fanuc generic, do the newer ones no longer force IPM tap output?

     

    And usually, you have to pay for the post. But, you can still sell it pretty easily on the time saving of not having to edit posted code anymore.   

  8. I borked mine a bit and then saw you wanted both formats in the same program. 

     pbld, n$, *sg28ref, "U0.", [if y_axis_mch, "V0."], "W0.", e$
              toolno = t$ 
              if home_type = m_one, pbld, 
    			[
    			if strlen(strtool$) < 1, n$, *sgcode, "T=", no_spc$, *toolno, e$  #because you may want to just post the tool number if there is no tool name
                else, n$, *sgcode, "T=", no_spc$, 34, no_spc, *strtool$, no_spc$, *toolno, no_spc$, 34, e$ #forgot the $
                ]
                else, pbld, n$, *sg50, pfxout, pfyout, pfzout, e$
                                        

     

  9. ptap$            #Canned Tap Cycle
          pdrlcommonb
          result = newfs(17, feed)        # this reformat statement could be messing it up
          if met_tool$,
            [
            if toolismetric, pitch = n_tap_thds$  
            else, pitch = (1/n_tap_thds$) * 25.4  
            ]
          else,
            [
            if toolismetric, pitch = n_tap_thds$ * (1/25.4) 
            else, pitch = 1/n_tap_thds$           
            ]
          pitch = pitch * speed           # this section is def forcing ipm, comment this line out 
          pbld, n$, sg94, e$              # since you don't use G94/95, comment this line out
          pcan1, pbld, n$, *sgdrlref, *sgdrill, pxout, pyout, pfzout, pcout,
            prdrlout, *pitch, !feed, strcantext, e$   
          pcom_movea

    If your ptap$ section looks like this, try making the commented modifications and run it again. I'm guessing all the post warnings you got were from the global calculation running with a null spindle speed. The !feed can probably go tho.

  10. Looks suspiciously siemens. 

    Are the two different formats for the same machine?  That's probably going to determine how you go about it and how much logic would be required.

    If the tool call is always in the string call format T="ABCD1234" 

    you can change your toolno fmt line to be an empty string "" instead of "T", then your tool change line would look like:

     pbld, n$, *sg28ref, "U0.", [if y_axis_mch, "V0."], "W0.", e$
              toolno = t$ * 100 + zero
              if home_type = m_one, pbld, n$, *sgcode, "T=", no_spc$, 34, no_spc, *strtool, no_spc$, *toolno, no_spc$, 34, e$
              else, pbld, n$, *sg50, pfxout, pfyout, pfzout, e$

    you're strtool would have to be the ABCD and set by your tool description, or make a new string variable and pull the info from somewhere else. 

     

  11. Is your ptoolcomment section missing? The pstrtool function just makes the comment uppercase.

    ptoolcomment    #Comment for tool
          tnote = t$, toffnote = tloffno$, tlngnote = tlngno$
          if tool_info = 1 | tool_info = 3,
            [
            pstrtool #Convert strtool$ to uppercase if string is not empty
            scomm_fx_arg = strtool$ + sdelimiter + drs_str(2, tnote) + sdelimiter +
              drs_str(2, toffnote) + sdelimiter + drs_str(2, tlngnote) + sdelimiter + drs_str(2, tldia$)
            pcomment_out #Check comment length and output to NC file
            ]

     

  12. CALL OCHK
    M5
    M9
    G0 X20. Z20.
    T020202 Y0
    IF [VDIN [24]EQ 1]NLOAD
    M84
    G0 X1.75 Z2.
    G0 Z.015
    M93
    M83
    M00 (***CHEK FOR PART TO PART STOP***)
    G0 Z2.
    G0 X20 Z20
    M01
    GOTO NPART
    NLOAD
    M77
    M84
    M93
    M76
    G4 F8.
    G0 X1.75 Z2
    G0 Z.05
    M93
    M83
    G0 Z2
    G0 X20 Z20
    M01
    GOTO NPART
    NPART
    G00 X20 Z20
    G50 S1500
    CALL OCHK

    I've been too lazy to clean this up because it works and was before my time. The M93 is the push signal, so it's probably going to be different on your control. The vdin[24] is for ejecting the stub/bar changes.

    • Thanks 1

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