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:

PcRobotic

Customers
  • Posts

    913
  • Joined

  • Last visited

Posts posted by PcRobotic

  1. On 4/28/2022 at 8:15 AM, JParis said:

    BbWtA45.png%
    O4631(A046-300011-REV00- OP1)
    (DATE=DD-MM-YY - 28-04-22 TIME=HH:MM - 11:14)
    (MCAM FILE - C:\USERS\JOHNP\DESKTOP\A046-300011-REV00.MCAM)
    (NC FILE - C:\USERS\JOHNP\DOCUMENTS\MY MASTERCAM 2023\MASTERCAM\MILL\NC\A046-300011-REV00- OP1.NC)
    (MATERIAL - STEEL - 304 STAINLESS)
    ( T22 | 1/2 BULL EM | H22 | XY STOCK TO LEAVE - 0. | Z STOCK TO LEAVE - .005 )
    G20
    G0 G17 G40 G49 G80 G90
    ( VERTICAL )
    ( BEAM POSITION MONITORS ACCELERATOR )
    ( MDC )
    ( LEFT - SEMIFINISH TOP SURFACE )
    T22 M6
    G0 G90 G54 X-1.5075 Y.3749 A0. S4500 M3
    G43 H22 Z1.
    M8
    Z.125
    G1 Z.005 F50.
    X1.2575
    Y.125
    X-1.2575
    Y-.125
    X1.2575
    Y-.3749
    X-1.5075
    G0 Z1.
    ( VERTICAL )
    ( BEAM POSITION MONITORS ACCELERATOR )
    ( MDC )
    ( RIGHT - SEMIFINISH TOP SURFACE )
    G55 X-1.5075 Y.3749 Z1. A0.
    Z.125
    G1 Z.005 F50.
    X1.2575
    Y.125
    X-1.2575
    Y-.125
    X1.2575
    Y-.3749
    X-1.5075
    G0 Z1.
    M09
    M5
    G91 G28 Z0.
    G28 X0. Y0. A0.

     

    yOU HAVE YOUR MISC INT SET WRONG

     

    and you're not actually using Tansform in that file

     

    Thank you it worked.  By the way, how do I use it for MP MASTER MILL POST of which I downloaded from this forum?

    It worked as the DEFAULT POST from MASTERCAM.

    On the other side, I would like to use the MPMASTER post of which I downloaded from this forum.  Would you point it out?  

     

     

    Thanks,
        S.Luong
    ================ORIGINAL POST CODES==================

    pwcs            #G54+ coordinate setting at toolchange
          if wcstype = two | wcstype > three,
            [
            sav_frc_wcs = force_wcs
            if sub_level$ > zero, force_wcs = zero
            if sav_mi9 = 1, workofs$ = sav_workofs
            if workofs$ < 0, workofs$ = 0
            if workofs$ <> prv_workofs$ | (force_wcs & toolchng) | sof,
              [
              if workofs$ < 6,
                [
                g_wcs = workofs$ + 54
                *g_wcs
                ]
              else,
                [
                if haas,
                  [
                  p_wcs = workofs$ - five        #G154 P1 to P99
                  "G154", *p_wcs
                  #g_wcs = workofs$ + 104        #G110 to G129
                  #*g_wcs
                  ]
                else,
                  [
                  p_wcs = workofs$ - five
                  "G54.1", *p_wcs
                  ]
                ]
              ]
            force_wcs = sav_frc_wcs
            !workofs$
            ]
    

     

     

  2. 15 minutes ago, #Rekd™ said:

    On the Types and Method page of the Translate operation "Work offset numbering" - Assign New and make the settings.

    This file was spitting out G55 instead of maintaining G54 so I had to set it to "Assign New" and set it to 0.

     

    Translate.png

     

     

    Hello,
       This is what I have done.  The only I have is TRANSLATE not ROTATE.

     

     

     

     

    =========== gcode=========

    %
    O4631(A046-300011-REV00- OP1)
    (DATE=DD-MM-YY - 28-04-22 TIME=HH:MM - 07:51)
    (MCAM FILE - \\10.1.2.112\DEPT_SHARE\MANUFACTURING\PROGRAMS\OKUMA M560V CAM\A046-300011-REV00\SOURCE\A046-300011-REV00.MCAM)
    (NC FILE - C:\USERS\SLUONG\DOCUMENTS\MY MASTERCAM 2022\MASTERCAM\MILL\NC\A046-300011-REV00- OP1.NC)
    (MATERIAL - STEEL - 304 STAINLESS)
    ( T21 | 1/2 SPOTTER | H21 )
    N100 G20
    N110 G0 G17 G40 G49 G80 G90
    / N120 G91 G28 Z0.
    / N130 G28 X0. Y0.
    / N140 G92 X0. Y0. Z0.
    ( SPOT 1X .550 THRU HOLE )
    N150 T21 M6
    N160 G0 G90 X-.2953 Y0. A0. S1500 M3
    N170 G43 H21 Z1.
    N180 G98 G81 Z-.005 R.125 F1.5
    N190 G80
    ( SPOT 1X .550 THRU HOLE )
    ======================================> missing G55 and XY locations here...
    N200 G98 G81 Z-.005 R.125 F1.5
    N210 G80
    N220 M5
    N230 G91 G28 Z0.
    N240 G28 X0. Y0. A0.
    N250 M30
    %
    

     

     

     

     

  3. 13 minutes ago, crazy^millman said:

    Sorry going to need a sample file to help.

    I am only allowed 2.65KB to upload the file.  May I have your email?

     

    Mine is [email protected]

    42 minutes ago, AHarrison1 said:

    Did you create a new WCS for the 2nd part / position and then assign a work offset to that WCS?

    This can be done in the Planes manager or under planes tab in toolpath parameters

     

    Hello,
       That's what exactly what I've done manually.  I want to ultralize the TRANSFORM TOOLPATH.


    Thanks,
       S.Luong

     

     

     

     

  4. Hello everyone,
       I've been chasing my tail when using TRANSFORM TOOLPATH,  TRANSLATE.

     

    I have 2 separate parts and want to pickup G54 and G55 for my own locations.  However, somehow I got the G-CODES lumps 2 parts into 1 work offset.  Would you guys please help me out and tell me what i've done wrong?  

     

    ps: I am using the DEFAULT post to show the issue.

     

    Thank you.

     

     

    ========================== g-codes ================

    %
    O4631(A046-300011-REV00- OP1)
    (DATE=DD-MM-YY - 28-04-22 TIME=HH:MM - 06:48)
    (MCAM FILE - \\10.1.2.112\DEPT_SHARE\MANUFACTURING\PROGRAMS\OKUMA M560V CAM\A046-300011-REV00\SOURCE\A046-300011-REV00.MCAM)
    (NC FILE - C:\USERS\SLUONG\DOCUMENTS\MY MASTERCAM 2022\MASTERCAM\MILL\NC\A046-300011-REV00- OP1.NC)
    (MATERIAL - STEEL - 304 STAINLESS)
    ( T22 | 1/2 BULL EM | H22 | XY STOCK TO LEAVE - 0. | Z STOCK TO LEAVE - .005 )
    N100 G20
    N110 G0 G17 G40 G49 G80 G90
    / N120 G91 G28 Z0.
    ( LEFT - SEMIFINISH TOP SURFACE )
    N150 T22 M6
    N160 G0 G90 G54 X-1.5075 Y.3749 A0. S3500 M3   ===========> FIRST PART HERE AS G54
    N170 G43 H22 Z1.
    N180 Z.125
    N190 G1 Z.02 F10.
    N200 X1.2575
    N210 Y.125
    N220 X-1.2575
    N230 Y-.125
    N240 X1.2575
    N250 Y-.3749
    N260 X-1.5075
    N270 G0 Z1.
    ( LEFT - SEMIFINISH TOP SURFACE )    ==================> second part here
    N280 X2.5775 Y.3749       ==================> second part here
    N280 G0 G90 G55 X-1.5075 Y.3749 A0. S3500 M3 ==================> G55 SHOULD APPEAR (I TYPED THIS BY HAND AND WANT IT TO SHOW LIKE THIS.)
    N290 Z.125
    N300 G1 Z.02 F10.
    N310 X5.3425
    N320 Y.125
    N330 X2.8275
    N340 Y-.125
    N350 X5.3425
    N360 Y-.3749
    N370 X2.5775
    N380 G0 Z1.
    N390 M5
    N400 G91 G28 Z0.
    N410 G28 X0. Y0. A0.
    N420 M30
    %
    
  5. On 1/13/2022 at 11:06 AM, Colin Gilchrist said:

    Download a "fresh copy" of MPMaster.

    Look at the Postblock > plast

    This is a block for "tracking" Miscellaneous Integers and Real Numbers.

    mi1$-mi10$ and mr1$-mr10$. These are reset, at every Tool Change Event.. MP does not track these variables, which is why you see the "plast" block.

    The Developers of MPMaster created their own variables > last_mi1, last_mi2, etc.

    You can add your own, but you must initialize the variable (create it), and then "add a line of code to 'plast' to set the value. But you must control "when does the variable get saved", and then "do something" with the information.

    When you look at MPMaster, don't just "use what is already used", or you're going to run into problems, if you don't strip out all the code that already references those numbers.

    mi1$ is used in many Posts, by default, so that is something you'll want to be aware of.

    "How" you track the variable matters.

    
    plast
          last_mi1 = mi1$  # < That will force the variable to write, every time.
    
    
    plast
          if mi1S, last_mi1 = mi1$   # < This will only capture "positive" values, and track them.
                      

     

    Colin,
       How did you define "mi1S"?

    Colin,
       How did you define "mi1S"?

     

    Thanks

  6. On 2/12/2022 at 2:22 PM, Colin Gilchrist said:

    This is where is gets really weird for me Steven, because I respect you, but we had maybe 10-12 sessions together at the most. I have no doubt that you spent 30 weekends in-a-row working on your Post, but not all of that time was spent with me.

    Like I mentioned: you should view my MP 101 Videos & MP 301 Videos on YouTube. There is a bunch of content up there which I still believe would be really beneficial to you...

    Colin,
       I went over the payments, I know that I learned from you about 3-4 hours per day and some 6 hours.  We have nearly 30 payments.  

  7. On 5/28/2021 at 9:41 AM, Colin Gilchrist said:

     

    CNC Software publishes full documentation which is available through your Mastercam Reseller. CNC Software also teaches a 3-Day Basic Post Processing Class at their campus in Tolland. It is not cheap, but the training is excellent.

    Keep in mind that their is value in developing Posts, so most of that Development work is done by the Resellers, on a for-profit basis. The same for-profit basis your company uses to make money.

    I have taught online classes previously on the Mastercam Post Processor for both Mills, Lathes, and 5-Axis as well.

    I've made that content available, for free, on YouTube. You're welcome. How much time have you invested on your own, outside of work, on growing your own skills? I put up about 60 hours of content on how to do the basics and advanced stuff as well. 

     

    I have learned ONE ON ONE thru Colin, around 30 executive days (every Saturday, 3-4 hours a day).  It's a bit of expensive but worth it.  Now, I can mostly write any 3/4 Axis post, including lathe and mill turn.    If you guys thinking to get learned about post thoroughly then learn from this man.

     

    Timing  and money a bit of tough but if you are patient enough, you'll get all of his head into yours. It's just matter of time and willingness. 

    • Like 1
  8. On 1/17/2022 at 5:18 AM, bd41612 said:

    Anyone who has been in this trade long enough has a horror story or two to tell.  My father in law once said to me, "I've never met an honest machine shop owner".  They are few and far between, but they are out there.  I could spend hours telling my stories, but it's not worth it.  Let's just say that I've finally found a place where they respect me and my judgement.  I don't have to deal with my favorite thing - micro management, they give me the work and get out of my way.  The bonus, if I give myself a new project, a new post or fixture design, whatever, they allow it, no questions asked.  All of the less than desirable jobs I had before, help me to appreciate this one more.

    Thank you for sharing.

  9. On 1/15/2022 at 10:07 AM, crazy^millman said:

    See you think your story is different than others. I went to work for a shop in 2001 with a 5 Axis machine. Post was terrible and on my 1st day I got more done than the previous 4 people over 6 months had got done. The company supplying the post was the machine builder and it just wasn’t right. I reached out to my dealer Jim Gamble in Florida and he gave me the generic 5 Axis post and said see what you can do. I kept the machine running fixing the bad code and finally got the post dialed in after 3 weeks. I was running 5 Axis molds unattended without any NC Code verification that could run upwards of 170 hours. You think you had it rough I got plenty of my own horror stories of working for bad owners. I had one try to have me arrested for taking my tools out of the shop when I quit while they were gone. They had 5 employe tool boxes locked up in the tool room. They thought if they kept the employees tools they wouldn’t leave them and come back to work. I talked to the police they said possession is 9/10 of the law. They would have to prove you took your tools. I had keys to the shop and use to go in by myself and do the emergency shut down work. I packed all my stuff up and left my resignation letter on the owners desk. I get a call cussing me and yelling at me for quitting the next morning. The owner’s son comes by and gets my keys and was not happy I was leaving. Said sorry I am going to work somewhere else. I get a call that Monday from a police officer asking about what I had stolen from the company. He started going down the list and I told him I had receipts for the tool box and micrometer sets I bought while working there and the pay stubs where it was taken out of my check. They started back tracking then. Then he asked about all the computer programs and customer folders I had stolen. I had him walk out to the my file cabinet I had left and told him to look in the 3rd draw and all the floppy disks and customer files where there. He went out and found them and told me to have a nice day he figured out what was going on. 
     

    I went and worked in a shop with an Integrex machine with a bad post out here in California and will not go into the details since it was really ugly, but got it sorted out and even did my own probing logic that I have shared on the forum to help others. I have asked for a lot of help on this forum and greatful to everyone who has helped me along the way. The emc group gave my wife $2,500 dollars years ago when I was in the Hospital in a coma. I will never forget that and part of the reason while I try to help as many people on here I can that are legal users of the software. We all have a history in our life, but I have chosen not to be bitter about it and help and give back as much as I have been given. I moved from Florida to California because I was tired of the culture in the shops. All my family still lives there and yes I miss them, but my wife and our kids are doing the best we can out here. Yes it is expensive and l live in a cheaper area than Los Angles or San Diego not as crazy at the bay area. We make the best of what live throws at us, but your not the only one who has had to deal with bad shop owners. 

    Thank you for telling a true story. I don't tend complain things all I ask is help when I need help.

     

    People in here asking me why this why that, today you have answered of all the questions of those who asked me for years.

  10. 1 hour ago, Tim Johnson said:

    It sounds like fixing the company post(s) should be the top priority if all the programmers are hand editing their code.

    I know it sounds stupidity but that is most of small shops in SAN JOSE, CALIFORNIA are dealing with.  BIG SHOPS, their post sometimes not as perfect as we expected but at least it's up to 95% or the daily work.

  11. 13 minutes ago, crazy^millman said:

    Not sure why you use cuse words at yourself, but to each their own. Like I said and keep saying using MMD and MCD would save you so much headaches in the long run.

    You are aware of edit common parameters to make quick changes to your operations to eliminate a lot the common mistakes you keep using your personal post to check for can do? This would seem to be one you have a hard time keeping correct thus needing to add the check for yourself. Process would be you know you posting for whatever machine before you post then go do the edit common parameters and done. Now you know what you know before you go forward and save yourself the worry of having to check your work in this section.

    The other problem is unless all of the posts are exactly like yours with regards to the mi and mr values then using your post is a waste of time. That would mean all of the posts your company is using for all the different machines have this configuration to act the same way which then means all of those posts are not using the MMD and MCD process if we were to just think out loud.

    Some of the CRAZY POST that they downloaded somewhere and not buying through professionally, it's just a MESS such as.  Post out high speed toolpath without COOLANT, TAP CODEs were like OUT OF WACK,  there are a lot of things that I can say when I work some work environment as everyone must have their perfect post and company's?  Oh, no.. it takes for every to do by hand editing.

  12. 5 hours ago, Colin Gilchrist said:

    I tried Ron. I tried so many times to help educate Stephen on "how the whole system works", but he is never interested in hearing that. He only wants to know "how do I get this dream of mine to work, the way I think it should be done". Then he will build all kinds of prompt messages into the Post, to force you to use it "his way".

    It is like he "wants to build the world's best race car". So he starts with a riding lawn mower, rips out the driver's seat, then comes to me and says "I'll pay you to show me how to build a race car. I have a Chevy 350 race engine, but I also want to put the this Toyota Camry interior into my car". So I think to myself:

    "ok, no big deal, he probably has a Camry, and wants to use some parts he already has. All we really need is a pedal box, steering column, steering wheel, driver's racing seat, and 5-point harness. Oh, and it would probably be good to put a Roll Cage in the car for safety, replace the windows with lexan, and maybe fire-suppression if we get serious."

     So I show up to his garage, and he's got the seats all laid out, and I start inspecting the situation, thinking "ok, he has his prep work done, not sure why he wants a full interior in the race car, but we are looking pretty good here". I then say "what car are we putting this in?", and he points to the shell of this riding lawn mower, and says "in there!".

    And no amount of explanation, or convincing, will ever persuade him to let me educate him on "the basic structures of a Car and the basic structures of a riding lawnmower", so he can make better choices about "how he wants to build his own custom vehicle".

    Enough analogy.

    What I'm talking about is how to use what's already in Mastercam: the Machine Definition, Control Definition, and Post, the Operation Structure including Misc. Integers and Real Numbers [how these work], Work Offset Numbering, Canned Text, Canned Cycles, Etc.

    But trying to do that on "his Post" is next to impossible, because it has been so drastically altered from "what a stock Post Processor looks like", and he is either not using existing variables/structures within the Post, or he is manipulating these variables for his own needs, but not realizing there are now conflicts, if he uses a different method of building his Operations.

    I've seen warnings for "forcing people to use Absolute radio buttons" in Contour Operations. (Forcing a person to build every operation "his way".)

    I'm sorry for "talking about you" Stephen, but I'm doing it to help keep other people who read this forum from trying to adopt some of the ideas that you bring up. I love how creative you are. I'm serious, I really do love the hustle of someone who "just won't take no for an answer", and will figure out how to solve a problem "their way". I think that tenacity is valuable, but I just wish you would slow down (just a bit), and study "how the system works from the ground up".

    I promise it would make such a positive impact on the way you approach problems:

    • How you build your Operations
    • How you use WCS/Planes
    • How you use Work Offsets
    • How you perform Probing Operations (on different machines)
    • Allow you to build Custom Drill Cycles (for Probing Operations, they way there were "meant to be done", without breaking the variable links for other Canned Cycles)
    • Allow you to use Advanced Drill > to automate the most complex of machine behaviors, for using long drills or gun drills, NO POST EDITS NEEDED FOR THIS < but only on a "stock" Post from CNC Software, or with MPMaster.
    • Reduce your dependency on "creating warning messages", which limit the tools you have available for programming within Mastercam Operations.

    The best thing you could do for yourself Stephen, would be to watch all of my MP 101 Videos, on YouTube. The content is free. Make sure you also watch the Office Hours Videos for MP101. A ton of practical development takes place here. Then, watch the MP 301 videos. This entire series shows you how to configure and customize the Generic Fanuc 5X Mill Post, for 5-Axis machining. I go through "how to configure the Post for a Trunnion (table/table) Machine, and how to configure the Post for a Gantry (head/head) Machine.

    There is something like 60+ hours of free Post Processor Training, but you've got to slow down a bit, and watch from the beginning. Take a look at the existing tools, which are built into Mastercam already, and how those tools work.

    • Variable Modality < How does MP track "current" and "previous" variables. When do Variables get Updated? (What does 'updated' even mean?) What is the "Force Update" function, and when should it be used?
    • String Select Function < used the "modality" of a numeric variable [takes an integer], and looks at the 'current versus previous' value of that integer. If the values are the same, no string is output. If the values are different, it "looks up a string from a list of strings, and outputs that string", using an "zero-based index".
    • Variable Format Statements < Allows MP to assign different "numeric output" to a Variable, based on the "input units" of the Mastercam File. The 'fs2' function has '2 columns', which define Inch and Metric Formatting. This allows your Post to use either Metric or Inch "input", and get properly formatted "NC Code output", FROM THE EXACT SAME POST, with no Post Edits required.
    • Variable Output Formatting < Format Assignment Function. Allows you to specify a "Prefix" or "Suffix" String, for a Variable. (You can put a string in front or behind or both) for a number. The formatting of that number, is controlled by looking up a Format Statement.
    • A 1-dimension Array. This is just a "list of variables" (a column of values). All Arrays in MP are single dimension. They are just "lists of variables, with values". You need an "index" to the Array. This is the "name of the starting variable in the list".
    • Functions < MP contains dozens of functions for working with both Numbers and Strings. Once you understand more about Variables, Formatting, String Select, Modality, Etc., you can learn about Functions like "newfs" and "nwadrs". These allow you to change variable formatting and prefix/suffix strings, on-the-fly. But you have to be sure to "change the variables back to what they were originally, after you are doing outputting the modified values. This way you are preserving the "existing functionality". We do this often with Custom Drill Cycles, where we want to use an existing variable like "dwell" or "peck1$", for some other purpose. But we don't want to also screw up Peck Drilling or Dwelling, for any other Operation we may create that uses a Peck or Dwell value.
    • MP uses many 3-variable and 9-variable arrays. You can create your 'multi-dimension' array, by using a Buffer File. This is either a "Numeric Array", where you tell the system "how many variables are stored on each row", and then you read/write from that Array of values, using (2) lists of variables. (The number of variables in your "list" must match the number of "values" stored in the Row of your array.

     

     

     

     

     

    Hello Collin,
       I really appreciated that you put some good words on me.  I've been knowing you since 2015 and that is how my problem of post solved (most of the time).  As you already know we are all CNC programmers and the owner just doesn't care about what we have done, they need the part on their desk the end of the day, PERIOD!!!!  Some of my jobs that they gave a BAD POST PROCESSOR and expected me to hand editing nearly every single tool. 
     

        California is super expensive as you already knew.  3 beds 1 bath = 1.2 million dollars that's mean the salary also have to pay more than other states. That is why the companies demand so much us.  Not just knowing how to use MASTERCAM influence but also SOLIDWORKS.  I am just lucky enough to know those 2 and using smoothly.  Over the time, the work just demand us to self develop other software tools as well so we can compete to others.  In California, if we don't step up, we are out of the game within a year or two. 

     

         Sad but so true about, sometime I want to move out of state, guess what all my family are here.  Either I get the job and keep up or getting fired by the next hire.

     


    ps: If the setup men cannot run the program that's the programmer's fault.  I think that is how the way it works for everywhere though.  

           Everything needs to be pictured, noted and attention to details as you see the bottom image of which my own setup sheet as well.
     

    Thank you Collin,
       S.Luong

    2.png.34b3ee33c218a9313ce083f0b2bf6251.png

  13. 22 hours ago, crazy^millman said:

    Again if you used MMD and MCD the correct way to do the work you wouldn't have to add another check to the post to check for things that wouldn't need to be checked for because you are not hacking something together with a post, but are using Mastercam the way it is meant to be used. Problem is now you are making other programmers do it your way and not the correct way and wonder why you keep running into issues.

    You going to be calling them stupid idiots with this check also?

    Hello CrazyMillMan,
        This is my very personal post, before I post anything out I always use mine to ensure everything is NO CRASH, COOLANT OFF, OR T1, H10, etc.  After I see everything is OK then I use the company's post.  It's just my PERSONAL CNC QC tool.

       

     

     

     

    Thank you for your comment CrazyMillMan,
         S.Luong

  14. On 9/15/2020 at 9:30 PM, bydxcnc said:

    GOOD!

    How to group by tool path group?

     

    You need to create a sub report and call that sub report to the main report.  Just like you are creating a 3 headers website.  Main one is the frame of 3, inside of 3 you need to create sub links....ect

    On 2/12/2021 at 6:08 AM, jean said:

    Would anybody be willing to share the seed file to this setup sheet?

     thanks in advance!

    setup sheet.PNG

    I only give you guys ideas how the format would be.  I am sure this type of setup sheets and tools sheets are not hard 1524739305_setupsheet.thumb.JPG.33d08ce858d32904ec0a089196e37e52.JPG1941863567_ToolsSheet.thumb.JPG.d75d50cbb04b419c684fc06c5774ac60.JPGto design like you guys.

  15. Hello everyone,

      I am trying to make XXX digits as show shown.  I think it is something about LEADING NUMBERS but don't know where to start.  Please see below and thanks for the help.

     

    ==============

    #602 = 2 (T2= 1.25, 1,1/4 INSERT EM, R0.0828, * Z-7.2595)                    Should be T002
    #603 = 3 (T3= 1., 1 Inch EM, * Z-3.1563)                                                     Should be T003
    #604 = 4 (T4= .3594, 23/64 STUB DRILL, * Z-3.7983)                                Should be T004
    #605 = 5 (T5= 2., 2" SHM 90DEG, R0.0250, FIN, * Z0.)                              Should be T005
    #607 = 7 (T7= .5156, 33/64 STUB DRILL, * Z-1.7575)                                Should be T007
    #608 = 8 (T8= .6094, .6094, 39/64 STUB DRILL, * Z-1.465)                      Should be T008
    #610 = 10 (T10= .6042, 1/2-13 FLAT BOTTOM CUT TAP, * Z-1.375)       Should be T010 
    #612 = 12 (T12= .375, 3/8 EM, RG, * Z-3.75)                                              Should be T012 
    #613 = 13 (T13= .415, .415" REAMER, * Z-3.7313)                                    Should be T013
    #614 = 14 (T14= .246, LTR. D STUB DRILL, * Z-.4208)                               Should be T014
    #615 = 15 (T15= .2505, .2505 REAMER, * Z-.3312)                                   Should be T015
    #617 = 17 (T17= .25, 1/4 Keyseater, * Z-.62)                                             Should be T017
    #620 = 20 (T20= .1875, 3/16 EM, * Z-.65)                                                   Should be T020
    #623 = 23 (T23= .5, 1/2 EM, RG, * Z-1.5)                                                     Should be T023
    #625 = 25 (T25= 1., 1" INSERT MILL, R0.0316, * Z-3.1875)                      Should be T025
    #630 = 30 (T30= .25, 1/4 CHMF, * Z-3.7313)                                              Should be T030
    #631 = 31 (T31= .25, 1/4 SPOTTER - 90°, * Z-.1)                                        Should be T031

  16. On 12/17/2020 at 9:15 AM, Thee Byte™ said:

    In your other post it looked like you found the values, nice work!

     

    I have made it work, after a week (I am a rooky in post editing)...

     

    ===============

    %
    O5828(AMAT-0041-95828 REV05 - OP30.NC)
    (*)
    (TOTAL TOOLS FOR OP70 - RTP = 2 TOOLS)
    (T23= .5, 1/2 EM, RG, CBD * Z-1.5)
    (T130= .25, 1/4 Keyseater, CBD * Z-.6128)
    (*)
    (WORK OFFSET LIST)
    (G54 B0.)
    (XY0 = CENTER)
    (Z0 = TOP, Z-.015)
    (*)
    (CYCLE TIME = 04M 5.08S)
    (*)
    (*)
    N23(ROUGH OUT 1X 1.125 +/-.0005 C'BORE, CUT#96)
    G0 G17 G40 G49 G80 G90(30.94S)
    G91 G28 Z0 M19(1.125DIA. ,.0125ROUGH STPOVR) ==============> 1.125DIA.
    G28 Y0.(XYZ STK= .015)
    G28 X0.(FINISHED CIRCLE)
    G0 G90 B0.
    M8
    T23(.5000, 1/2 EM, RG, CBD,)
    M6
    G90 G54 X.8715 Y-1.9097 S7000 M3
    Z3. T130 (DOC= Z-.485)
    /G4 P2.5
    Z.0625
    G1 Z.0313 F50.
    G3 X1.3215 Y-1.9118 Z-.0058 I.225 J-.0011
    X.8715 Y-1.9097 Z-.0428 I-.225 J.0011
    (CUTTING...)
    X1.0336 Y-1.6272 R.1487
    G1 X1.0965 Y-1.9107
    G0 Z.125
    Z3.
    M9
    G91 G28 Z0.
    G28 Y0. M5
    G28 X0.
    M1
    (*)
    N130(ROUGH OUT .665 +/-.003 MID KEY, CUT#97)
    G0 G17 G40 G49 G80 G90(01M 14.36S)
    G91 G28 Z0 M19
    G28 Y0.(XY= .005, Z STK= .0097)
    (3X, RMULTI-PASSES, .005 EACH)
    G28 X0.
    G0 G90 B0.
    T130(.2500, 1/4 KeyseaterCBD,)
    M6
    G90 G54 X1.0965 Y-1.9107 S4500 M3
    Z3. M8 T23 (DOC= Z-.6128)
    /G4 P2.5(ADOC =.0318DP)
    Z.0625
    G1 Z-.6128 F5.
    (CUTTING...)
    X1.0965 Y-1.9107
    G0 Z3.
    M9
    G91 G28 Z0.
    G28 Y0. M5
    G28 X0.
    M1
    (*)
    N2302(FINISH 1X 1.125 +/-.0005 C'BORE, CUT#105)
    G0 G17 G40 G49 G80 G90(01M 24.58S)
    G91 G28 Z0 M19(1.125DIA ==============> 1.125DIA
    (1X SEMI-FINISH, .005)
    (1X FINISH, .0025)
    (1X SPRING PASS)
    G28 Y0.
    G28 X0.(FINISHED CIRCLE)
    G0 G90 B0.
    M8
    T23(.5000, 1/2 EM, RG, CBD,)
    M6
    G90 G54 X1.0965 Y-1.9107 S7000 M3
    Z3.(DOC= Z-.5)
    /G4 P2.5
    Z.0625
    G1 Z-.5 F10.
    G41 X1.2676 Y-1.3887
    G3 X1.0965 Y-1.3507 R.405
    (CUTTING...)
    Y-1.3482 R.5625
    X.9248 Y-1.3863 R.4063
    G1 G40 X1.0965 Y-1.9107
    G0 Z.125
    Z3.
    (*)
    (PROGRAM JUMPS HERE)
    (*)
    N2303(FINISH 1X .625 +/-.0005 C'BORE, CUT#106)

    (.625 DIA.)   ==============> .625 DIA.
    T23(.5000, 1/2 EM, RG, CBD,)
    M6
    G0 G90 G54 X1.0965 Y-1.9107 S7000 M3
    Z3.(DOC= Z-1.5)
    Z.0625
    G1 Z-1.5 F10.
    G41 X1.2148 Y-1.627
    G3 X1.0965 Y-1.6007 R.28
    Y-2.2207 R.31
    (CUTTING...)
    G1 G40 X1.0965 Y-1.9107
    G0 Z.125
    Z3.
    M9
    G91 G28 Z0.
    G28 Y0. M5
    G28 X0.
    M30(CHARACTERS COUNT = 4,122 - 4.03KB)
    %

  17. On 12/25/2020 at 4:40 AM, RouZen said:

    😮 its meaningless i think  lol

    You are probably have a good memory of remembering all kind of sizes hole.  We often have a program of which 7 - 8 kind of holes of which differences between .015 - .035 in the same part. 

     

    This is how we have to cross check between the programmer and setup men.  if programmer makes mistake the setup men will catch them, that is a bonus to prevent making bad parts.  See below..

     

    =====================

    %
    O5828(AMAT-0041-95828 REV05 - OP30.NC)
    (*)
    (TOTAL TOOLS FOR OP70 - RTP = 2 TOOLS)
    (T23= .5, 1/2 EM, RG, CBD * Z-1.5)
    (T130= .25, 1/4 Keyseater, CBD * Z-.6128)
    (*)
    (WORK OFFSET LIST)
    (G54 B0.)
    (XY0 = CENTER)
    (Z0 = TOP, Z-.015)
    (*)
    (CYCLE TIME = 04M 5.08S)
    (*)
    (*)
    N23(ROUGH OUT 1X 1.125 +/-.0005 C'BORE, CUT#96)
    G0 G17 G40 G49 G80 G90(30.94S)
    G91 G28 Z0 M19(1.125DIA. ,.0125ROUGH STPOVR) ==============> 1.125DIA.
    G28 Y0.(XYZ STK= .015)
    G28 X0.(FINISHED CIRCLE)
    G0 G90 B0.
    M8
    T23(.5000, 1/2 EM, RG, CBD,)
    M6
    G90 G54 X.8715 Y-1.9097 S7000 M3
    Z3. T130 (DOC= Z-.485)
    /G4 P2.5
    Z.0625
    G1 Z.0313 F50.
    G3 X1.3215 Y-1.9118 Z-.0058 I.225 J-.0011
    X.8715 Y-1.9097 Z-.0428 I-.225 J.0011
    (CUTTING...)
    X1.0336 Y-1.6272 R.1487
    G1 X1.0965 Y-1.9107
    G0 Z.125
    Z3.
    M9
    G91 G28 Z0.
    G28 Y0. M5
    G28 X0.
    M1
    (*)
    N130(ROUGH OUT .665 +/-.003 MID KEY, CUT#97)
    G0 G17 G40 G49 G80 G90(01M 14.36S)
    G91 G28 Z0 M19
    G28 Y0.(XY= .005, Z STK= .0097)
    (3X, RMULTI-PASSES, .005 EACH)
    G28 X0.
    G0 G90 B0.
    T130(.2500, 1/4 KeyseaterCBD,)
    M6
    G90 G54 X1.0965 Y-1.9107 S4500 M3
    Z3. M8 T23 (DOC= Z-.6128)
    /G4 P2.5(ADOC =.0318DP)
    Z.0625
    G1 Z-.6128 F5.
    (CUTTING...)
    X1.0965 Y-1.9107
    G0 Z3.
    M9
    G91 G28 Z0.
    G28 Y0. M5
    G28 X0.
    M1
    (*)
    N2302(FINISH 1X 1.125 +/-.0005 C'BORE, CUT#105)
    G0 G17 G40 G49 G80 G90(01M 24.58S)
    G91 G28 Z0 M19(1.125DIA==============> 1.125DIA
    (1X SEMI-FINISH, .005)
    (1X FINISH, .0025)
    (1X SPRING PASS)
    G28 Y0.
    G28 X0.(FINISHED CIRCLE)
    G0 G90 B0.
    M8
    T23(.5000, 1/2 EM, RG, CBD,)
    M6
    G90 G54 X1.0965 Y-1.9107 S7000 M3
    Z3.(DOC= Z-.5)
    /G4 P2.5
    Z.0625
    G1 Z-.5 F10.
    G41 X1.2676 Y-1.3887
    G3 X1.0965 Y-1.3507 R.405
    (CUTTING...)
    Y-1.3482 R.5625
    X.9248 Y-1.3863 R.4063
    G1 G40 X1.0965 Y-1.9107
    G0 Z.125
    Z3.
    (*)
    (PROGRAM JUMPS HERE)
    (*)
    N2303(FINISH 1X .625 +/-.0005 C'BORE, CUT#106)

    (.625 DIA.)   ==============> .625 DIA.
    T23(.5000, 1/2 EM, RG, CBD,)
    M6
    G0 G90 G54 X1.0965 Y-1.9107 S7000 M3
    Z3.(DOC= Z-1.5)
    Z.0625
    G1 Z-1.5 F10.
    G41 X1.2148 Y-1.627
    G3 X1.0965 Y-1.6007 R.28
    Y-2.2207 R.31
    (CUTTING...)
    G1 G40 X1.0965 Y-1.9107
    G0 Z.125
    Z3.
    M9
    G91 G28 Z0.
    G28 Y0. M5
    G28 X0.
    M30(CHARACTERS COUNT = 4,122 - 4.03KB)
    %

  18. On 12/14/2020 at 11:54 AM, Thee Byte™ said:

    Here is a sample chook that checks the operations arc diameter(s) against the circle mill operations override if there is one.

    It will complain in a messagebox and the event logger if one is found.

    ForceCircleMillOverrideDia.zip

    Mastercam 2021

     

    Thank you for the offer, I am having issue is I cannot copy or install any DLL files because I don't have ADMIN rights.  I guess I have to make the post work like the way it would allow me to.

  19. Hello everyone,
      I have been participial success to output the CIRCLE diameter value in CIRCLE MILL.  On the other hand, I the FINISHING page does not out put as I expected to be.  Would you guys help me out?  See codes below.

     

    ps: some how the FINISHING IO parameters don't get update right, see images.  

     

    Thanks.

     

    1.png.7f3044622f87f627b2a34433e0362e12.png

     

    2.png.c1d79adecd7a70b579bc67993c8cf2b2.png

    ========================

    N1(ROUGH OUT 1.000 C'BORE, CUT#1)
    G0 G17 G40 G49 G80 G90(01M 8.S)
    G91 G28 Z0 M19(1.DIA. ,.0187ROUGH STPOVR)
    G28 Y0.(XY= .01, Z STK= .015)
    T1 M6(.3750, 3/8 EM, CBD,)
    G90 G54 X.0891 Y.0964 S7500 M3
    G43 H1 Z3.(DOC= Z-.485)
    /G4 P2.5 M8
    Z.125
    G1 Z.0313 F25.
    G3 X-.0891 Y-.0964 Z.0096 I-.0891 J-.0964
    (CUTTING...)
    G1 X0. Y.1512
    Y0.
    G0 Z.125
    Z3.
    (*)
    (PROGRAM JUMPS HERE)
    (*)
    N102(FINISH 1.000 C'BORE, CUT#2)
    (.3750, 3/8 EM, CBD,)
    G0 G90 G54 X0. Y0. S7500 M3
    (1.DIA.)
    (3X SEMI-FINISHES, .005 EACH)      ===========> SHOULD SHOW LIKE THIS
    (2X FINISHES, .0025 EACH)              ===========> SHOULD SHOW LIKE THIS
    (1X SPRING PASS)                             ===========> SHOULD SHOW LIKE THIS

    G43(D1)H1 Z3.(DOC= Z-.5)
    /G4 P2.5 (39.52S)
    Z.125
    G1 Z-.5 F25.
    Y.1487
    G41 D1 X.1052 Y.2539
    G3 X0. Y.2975 R.1487
    (CUTTING...)
    G1 G40 X0. Y.1563
    Y0.
    G0 Z.125
    Z3.
    M9
    G91 G28 Z0.
    G28 Y0. M5
    G0 G90 G54 X0.
    M30(CHARACTERS COUNT = 3,153 - 3.08KB)
    %

     

    ====================== I DEFINED AS =================

    CircleMillStartAtCenterCircleFeature: 0
    CircleMillIOFinishPasses: 0
    
    CircleMillRoughIO: 0
    CircleMillRoughIO_flg: 0
    
    CircleMillSemiFinishIO: 0
    CircleMillSemiFinishIO_flg: 0
    
    CircleMillFinishIO: 0
    CircleMillFinishIO_flg: 0
    
    CircleMillFinishingIO: 0
    CircleMillFinishingIO_flg: 0
    
    CircleMillHelicalEntryIO: 0
    CircleMillHelicalEntryIO_flg: 0
    
    CircleMillOverrideGeometryDiameterIO: 0
    CircleMillOverrideGeometryDiameterIO_flg: 0
    
    CircleMillMaximumRadius: 0
    CircleMillMinimumRadius: 0
    CircleMillPlungeAngle: 0
    CircleMillXYClearance: 0
    CircleMillSTOVR: 0
    CircleMillSTOVRPercent: 0
    CircleDiameter: 0
    CircleMillNumberOfSpringPasses: 0
    CircleMillNumberSemiFinish: 0
    fmt    2 CircleMillSTOVR
    fmt    16 CircleMillSTOVRPercent
    fmt    2 CircleDiameter
    fmt    2 CircleMillPlungeAngle
    fmt    2 CircleMillMaximumRadius
    fmt    2 CircleMillMinimumRadius
    fmt    2 CircleMillXYClearance
    fmt    4 CircleMillIOFinishPasses
    
    fmt    4 CircleMillSemiFinishIO
    fmt    4 CircleMillFinishingIO
    fmt    4 CircleMillFinishIO
    fmt    4 CircleMillRoughIO
    fmt    4 CircleMillHelicalEntryIO
    fmt    4 CircleMillOverrideGeometryDiameterIO
    
    
    
     
    pparameter$ # Run parameter table
    
               if prmcode$ = 12207, CircleDiameter = rpar(sparameter$, 1) #get circle mill diameter
               if prmcode$ = 41837, CircleMillOverrideGeometryDiameterIO = rpar(sparameter$, 1) #get circle mill diameter
               if prmcode$ = 40365, CircleMillNumberSemiFinish = rpar(sparameter$, 1) #get circle mill diameter
    
               if prmcode$ = 12054, CircleMillSTOVR = rpar(sparameter$, 1) #get circle mill diameter
               if prmcode$ = 12055, CircleMillSTOVRPercent = rpar(sparameter$, 1) #get circle mill % diameter
               if prmcode$ = 12208, CircleMillStartAtCenterCircleFeature = rpar(sparameter$, 1) #Circle Mill Start At Center Circle Feature
               if prmcode$ = 12210, CircleMillRoughIO = rpar(sparameter$, 1)
               if prmcode$ = 12210, CircleMillIOFinishPasses = rpar(sparameter$, 1) #Circle Mill Roughing
               if prmcode$ = 40282, CircleMillSemiFinishIO = rpar(sparameter$, 1) #Circle Mill Roughing
               if prmcode$ = 40283, CircleMillFinishIO = rpar(sparameter$, 1) #Circle Mill Roughing
               if prmcode$ = 15214, CircleMillFinishingIO = rpar(sparameter$, 1) #Circle Mill Roughing
    
               if prmcode$ = 15089, CircleMillHelicalEntryIO = rpar(sparameter$, 1) #Circle Mill Enable Helical Entry
               if prmcode$ = 10381, CircleMillMaximumRadius = rpar(sparameter$, 1) #Circle Mill MaximumRadius
               if prmcode$ = 10389, CircleMillMinimumRadius = rpar(sparameter$, 1) #Circle Mill MinimumRadius
               if prmcode$ = 10382, CircleMillPlungeAngle = rpar(sparameter$, 1) #Circle Mill Plunge Angle
               if prmcode$ = 10385, CircleMillXYClearance = rpar(sparameter$, 1) #Circle Mill XY Clearance
               if prmcode$ = 40396, CircleMillNumberOfSpringPasses = rpar(sparameter$, 1) #Circle Mill XY Clearance

     

    #Region pCircleMill
    pCircleMill
       if (tool_op$ = 18) & not(opcode$ = 3),
        [
         [
          !MultiPassesIO
    	  no_spc$, "(", *CircleDiameter, no_spc$, "DIA.", [ if CircleMillRoughIO = 1, ",", *CircleMillSTOVR, no_spc$, "ROUGH STPOVR"], no_spc$, ")", e$
          MultiPassesIO = 0
    	 ]
    
          [
          if CircleMillFinishingIO = 1 & CircleMillSemiFinishIO = 1 & NumberOfRoughSTOVR > 1, pbld, no_spc$, no_spc$, "(", *NumberOfRoughSTOVR, no_spc$, "X", "SEMI-FINISHES, ", *MultiPassesRoughSpacingSTOVRValue, "EACH)", e$
          if CircleMillFinishingIO = 1 & CircleMillSemiFinishIO = 1 & NumberOfRoughSTOVR = 1 & MultiPassesRoughSpacingSTOVRValue > 0, pbld, no_spc$, no_spc$, "(", *NumberOfRoughSTOVR, no_spc$, "X", "SEMI-FINISH, ", *MultiPassesRoughSpacingSTOVRValue, no_spc$, ")", e$
         ]
    
         [
          if CircleMillFinishingIO = 1 & CircleMillFinishIO = 1 & NumberOfMultiPassesFinish = 1, pbld, no_spc$, no_spc$, "(", *NumberOfMultiPassesFinish, no_spc$, "X", "FINISH, ", *MultiPassesFinishSpacingSTOVRValue, no_spc$, ")", e$
          if CircleMillFinishingIO = 1 & CircleMillFinishIO = 1 & NumberOfMultiPassesFinish > 1, pbld, no_spc$, no_spc$, "(", *NumberOfMultiPassesFinish, no_spc$, "X", "FINISHES, ", *MultiPassesFinishSpacingSTOVRValue, no_spc$, " EACH)", e$
         ]
    	 
         [
          if CircleMillFinishingIO = 1 & (CircleMillSemiFinishIO = 1 | CircleMillFinishIO = 1) & NumberOfMultiPassesFinish > 0 & NumberOfSpringCuts = 1, pbld, no_spc$, no_spc$, "(", *NumberOfSpringCuts, no_spc$, "X", "SPRING PASS)", e$
          if CircleMillFinishingIO = 1 & (CircleMillSemiFinishIO = 1 | CircleMillFinishIO = 1) & NumberOfMultiPassesFinish > 0 & NumberOfSpringCuts > 1, pbld, no_spc$, no_spc$, "(", *NumberOfSpringCuts, no_spc$, "X", "SPRING PASSES)", e$
         ]
        ]
    #EndRegion pCircleMill

     

     

    ptlchg_com      #Tool change common blocks
        pbld, *sgabsinc, sg28, "Z0", sm19, pCircleMill

     

    ptlchg0_1         #Call from NCI null tool change (tool number repeats)
       pCircleMill

     

  20. Hello everyone,
        I would like to get the parameter numbers for the "A" and "B", I have tried A but failed to do so.   

     

    PS: I often doing the WRONG CIRCLE MILL value.  I would like to make a warning statement if they are (A, B) not the same, then show alarm

    Thanks for the help.

     

     

    935381808_FINISHCIRCLEMILLINTERFACE.thumb.png.8c366d72682cc376d13be44e23593230.png

  21. 57 minutes ago, PcRobotic said:

    Hello Everyone,

       I am using probe now and my question is "do I have to put a "PROTECTIVE MOVE" in every move or just once is enough?  See below.  Thankful for the help.

     

    ================

    N41(PICK UP X CENTER BOSS, CUT#7)
    G0 G17 G40 G49 G80 G90
    G91 G28 Z0 M19
    G28 Y0.(PROBE)
    IF [#[#641+2000] LT 2.5] GOTO9999
    T#641 M6(.2360, PROBE, .118RAD, CERAMIC,)
    G65 P9832(PROBE ON)
    G90 G54 X0. Y1.0921
    G43 H#641 G65 P9810 Z4.(DOC= Z1.)
    G4 P2.5(X WEB)
    G65 P9810 Z3.(PROTECTIVE MOVE)
    G65 P9810 Z2.(PROTECTIVE MOVE)
    G65 P9810 G1 Z1. F25.(READY TO PROBE)
    G65 P9995 W54.(G) A14. D10.5 H-1.(Z)
    G0 G90 Z2.(TOP OF STOCK)
    G65 P9810 Z3.(PROTECTIVE MOVE)
    G65 P9810 Z4.(PROTECTIVE MOVE)
    G65 P9833(PROBE OFF)
    G91 G28 Z0.
    G28 Y0.
    G0 G90 G54 X0.

     

    So above is corrected then, right?

  22. 27 minutes ago, JParis said:

    Once it comes down from Home....

    All positions except those moves that are expected to trigger the probe should be protected moves.

     

     

    You mean like this?

     

     

    N41(PICK UP X CENTER BOSS, CUT#7)
    G0 G17 G40 G49 G80 G90
    G91 G28 Z0 M19
    G28 Y0.(PROBE)
    IF [#[#641+2000] LT 2.5] GOTO9999
    T#641 M6(.2360, PROBE, .118RAD, CERAMIC,)
    G65 P9832(PROBE ON)
    G90 G54 G65 P9810 X0. Y1.0921=====>  (PROTECTIVE MOVE)
    G43 H#641  Z4.(DOC= Z1.) =====> PROTECTIVE MOVE NOT NEEDED HERE
    G4 P2.5(X WEB)
    Z3. =====> PROTECTIVE MOVE NOT NEEDED HERE
    Z2. =====> PROTECTIVE MOVE NOT NEEDED HERE
     G1 Z1. F25.(READY TO PROBE)
    G65 P9995 W54.(G) A14. D10.5 H-1.(Z)
    G0 G90 Z2.(TOP OF STOCK)
    G65 P9810 Z3.(PROTECTIVE MOVE)
    G65 P9810 Z4. =====> PROTECTIVE MOVE NOT NEEDED HERE
    G65 P9833(PROBE OFF)
    G91 G28 Z0.
    G28 Y0.
    G0 G90 G54 X0.

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