Legacy dimensions and alignments

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Legacy dimensions and alignments

    Good afternoon,
    I think I am missing something. I am working on this project and they want me to use legacy dimensions. When I align to the datums for dimensioning, one I go back to probing, am i suppose to recall the original alignment or continue with the last used alignment?
    Darroll
    2018R2

  • #2
    With Legacy you must be aligned to the datums before dimensioning. If you have multiple DRFs you must have multiple alignments, one for each DRF. | A | B | C | is not the same as | A | C | B |.

    Even when using Xact, which will permit you dimension multiple DRFs without changing alignments, it is best practice to be aligned to the datum features BEFORE measuring the features, and to be in the alignment that matches the DRF when dimensioning as well.

    BTW you only need to create each unique alignment once, then you can recall it as often as needed throughout the routine.

    ProTip: After you have created the first full DCC alignment isolating all 6 DOF (Degrees Of Freedom), it is best practice to start all additional alignments with "RECALL:STARTUP", this removes all previous constraints and helps to 'compartmentalize' the routine, making it easier to edit later without invoking a demoncrash.

    HTH
    Last edited by Wes Cisco; 06-17-2019, 10:58 AM. Reason: without not with
    sigpic"Hated by Many, Loved by Few" _ A.B. - Stone brewery

    Comment


    • Darrollh
      Darrollh commented
      Editing a comment
      I think I got it. I was trying to do a full alignment and it was moving the features in space. What I have done is set a new rotation and origin then do the dimensions. once I was done, I recalled the original alignment.

  • #3
    So true about the RECALL STARTUP, I see this way to often in other peoples programs....
    sigpicSummer Time. Gotta Love it!

    Comment


    • #4
      I do not agree with the RECALL STARTUP idea. Why would you want to do that? It will lose any accuracy for the next features measured. That would be like doing a iterate alignment then not using it to find the datums.
      You need to align on the datums (or any other features) and get yourself locked in on where the part is. And measure the part from there. Do local alignments when needed for features that will float more than others (Plastic parts) so you can come as close to perfect vectoring (points measured) on each feature as needed. Recall previous alignments as needed.
      Been programming for too many years and written some really tight tolerance routines on CMM's that were not even capable to check those tight of tolerances. With acceptable results and have never recalled the startup alignment.
      This is something Rob Jensen explained to me over 25yrs ago. Sorry Rob
      Maybe I just don't understand why you would do that. That is like starting over in finding the part.

      Slap me if I'm wrong but I do not think so.

      Time for the Trolls to leave.

      Comment


      • oddam
        oddam commented
        Editing a comment
        I agree with you William, I have never recalled the startup alignment. I will recall my main alignment, that way I know it's locked to the part datum scheme. I wonder how many programmers even know about the recall align feature?

    • #5
      Originally posted by Wes Cisco View Post
      ProTip: After you have created the first full DCC alignment isolating all 6 DOF (Degrees Of Freedom), it is best practice to start all additional alignments with "RECALL:STARTUP", this removes all previous constraints and helps to 'compartmentalize' the routine, making it easier to edit later without invoking a demoncrash.

      HTH
      This only applies to NEW created alignments, not features. I can see this being useful if you want to create Mini Routines or partial programs. However, I always recall the MAIN (Primary Datum) alignment.
      Last edited by andrewb91; 06-18-2019, 12:30 PM. Reason: Added info for clarity.

      Comment


      • #6
        OK, let's see if this old dog is understanding What is being stated. Startup is at the very top of the program, prior to any alignment, manual or dcc. My "recall startup has a default "use_part_setup", note, I rarely use outside alignments. Now, I want to measure a part on the fixture, I first align to the base manually, recall is startup. I then do a dcc of the base, (I know some do not, I just do my alignment routine this way), the recall is now the id of the manual, let's say A1. I now dcc the fixture datum net pads and datum locators, (-A-B-C- let's just say) make another alignment to the datum scheme, the recall is now A2, recalling the dcc base align. My datum alignment is id'd as MAIN, I program the part using the Main (ABC) as long as the print notes. If the print request an alternative alignment, say to F, then another to G, (the feature is measured using the main, but made F or G per the print) I then align the feature as F, the recall is main, you are saying I should recall startup? If the G feature is after the F feature, the recall will be F, I will change it to MAIN, but if I interpret what you are stating, I should use startup? I have never had a "demoncrash" recalling the MAIN. Or, are you saying to recall the MAIN alignment? Just trying to understand, this old dog does not mind learning from the Masters.

        Odda

        Comment


        • KIRBSTER269
          KIRBSTER269 commented
          Editing a comment
          Hey old dog, if your owner continues to put water in the dogs bowl and it's always been fresh clean water, but you see other dogs drinking out of a dirty pond. Does the dog think............................Well, you know, if it ain't broke, don't fix it. I don't do this, I'm with you.

        • KIRBSTER269
          KIRBSTER269 commented
          Editing a comment
          Sit UBU Sit, good dog

      • #7
        Howdy William Johnson, you have to pay for a VIP session if you wish to be slapped. See below, hopefully I can clear up any confusion.

        Originally posted by oddam View Post
        OK, let's see if this old dog is understanding What is being stated. Startup is at the very top of the program, prior to any alignment, manual or dcc. My "recall startup has a default "use_part_setup", note, I rarely use outside alignments. Now, I want to measure a part on the fixture, I first align to the base manually, recall is startup. I then do a dcc of the base, (I know some do not, I just do my alignment routine this way), the recall is now the id of the manual, let's say A1. I now dcc the fixture datum net pads and datum locators, (-A-B-C- let's just say) make another alignment to the datum scheme, the recall is now A2, recalling the dcc base align. My datum alignment is id'd as MAIN, I program the part using the Main (ABC) as long as the print notes. If the print request an alternative alignment, say to F, then another to G, (the feature is measured using the main, but made F or G per the print) I then align the feature as F, the recall is main, you are saying I should recall startup? If the G feature is after the F feature, the recall will be F, I will change it to MAIN, but if I interpret what you are stating, I should use startup? I have never had a "demoncrash" recalling the MAIN. Or, are you saying to recall the MAIN alignment? Just trying to understand, this old dog does not mind learning from the Masters.

        Odda
        Howdy Oddam,

        You are sorta understanding. If you let Pc-Dmis assign the name to the alignment, yes, they will be A1, A2, etc. I give mine names that reflect the DRF they represent. So that first DCC alignment I would name DCC, since it's purpose is just to locate the part in space relative to machine cooridnates with no datum features involved. Then the | A | B | C | alignment I would name ABC, usually something like ABC_algn. But after the DCC and before I start the ABC I would recall startup. Before I start a new alignment for F or G I would recall STARTUP.

        Here is why:
        Recall startup puts me back in machine coordinates. It breaks all constraints on degrees of freedom established by previous alignments. So in my graphics display window the tri-hedron is dancing in all DOF. As I begin constructing the next alignment, the DOF are isolated. When I think I am done and ready to CREATE the alignment, I can take a quick look at the trihedron and confirm it is not moving. This was a big help to me when I was first learning to create alignments and measurement routines in Pc-Dmis.
        Later I learned another benefit. Editing. Let's say 6 months in the future there is a new revision of the drawing and instead of | A | B | C | the datum reference frame has changed to | A | C | D |. In some versions of Pc-Dmis, in some rountines, especially if there are analog scans, going back into the routine and making edits can cause the demon to crash, or it can corrupt scans so they do not work properly. This is double plus true if you are now using a newer version of Pc-Dmis than the one the routine was originally created in. Recall STARTUP will not entirely solve all of these issues, but it helps to compartmentalize the routine and make it easier to successfully edit routines later if that becomes necessary. Even then it is best practice to use a method taught to me as 'copy/shell'. Make a copy of the routine. Delete everything south of the point you need to edit, we will call this the target routine. Make the edit in target, then copy from the original and paste into the target, only up to the next alignment. Create all alignments over manually in the target routine, exactly as they were in the original. Execute the alignment in the target routine. Then You can then copy from the just below the alignment up to the next alignment and paste that block into the target. Repeat process for all alignments. Don't forget to execute the alignment in the target routine before creating new content or copy/pasting content to the target routine. It is also advisable to execute each section of the routine from the alignment down and giving a quick scan to make sure nominal and theoreticals still look normal before creating the next alignment.

        I frequently had a dozen or more unique DRFs for a part, and I often needed to edit and revise routines months and years after they were created.

        If your parts only have one single DRF, then recall STARTUP probably isn't going to help you much. But if you have long complex routines that need to be edited in the future, it can make the difference between being able to successfully edit and resume beeping in a couple of hours versus wasting time crashing the demon, possibly corrupting the routine, and having to spend many more hours rewriting the routine from scratch.

        HTH & ymmv
        sigpic"Hated by Many, Loved by Few" _ A.B. - Stone brewery

        Comment


        • Schlag
          Schlag commented
          Editing a comment
          I am "assuming" that they thought after an you would re-call "STARTUP" you would then check more features. What your saying is the re-call startup is directly above the new alignment or actually contained in the "re-call" portion of the alignment ? I guess the outcome of both would be the same. I did that all the time to verify the alignment was correct. If your DOF are wonky, a previous alignment could be actually constraining something it should be. Exactly why you explained this all in length.
          Last edited by Schlag; 06-18-2019, 04:25 PM.

        • andrewb91
          andrewb91 commented
          Editing a comment
          Good stuff, thanks Wes!

      • #8
        So watching the Trihedron dance entertains you, Huh? Just for Wes Cisco

        th[7].gif
        (In Memory of my Loving wife, "Ronda" who I lost March 7, 2016. I love you baby.)
        They say "Nobody's Perfect." I must be Nobody.

        Comment


        • #9
          Originally posted by Schlag View Post
          I am "assuming" that they thought after an you would re-call "STARTUP" you would then check more features. What your saying is the re-call startup is directly above the new alignment or actually contained in the "re-call" portion of the alignment ? I guess the outcome of both would be the same. I did that all the time to verify the alignment was correct. If your DOF are wonky, a previous alignment could be actually constraining something it should be. Exactly why you explained this all in length.
          Yes. Recall STARTUP. Create next alignment. Then measure more features for current DRF. Dimnesion features for current DRF. Recall STARTUP. Create next alignment. Then measure more features for current DRF. Dimnesion features for current DRF. etc.

          I know some people prefer to measure everything, then do all of the dimensioning at the end. That works ok for less complex parts. In my experience though it is always best to be aligned to the DRF before measuring the features controlled by that DRF and even when using Xact, to be aligned to the DRF when dimensioning the features controlled by that DRF, mostly because I always choose "use current alignment" in the advanced tab of Xact.

          You could of course measure everything, creating alignments for each DRF as you, then recall alignments at the end of the routine if you want all of the dimensions at the end of the routine. I found for long complex routines it was better to dimension along the way rather than wait until the end.
          sigpic"Hated by Many, Loved by Few" _ A.B. - Stone brewery

          Comment


          • #10
            Wes Cisco I appreciate you taking the time to explain why you recall startup. If it works for you that is great. It is not a requirement to measure the datums and then measure the features that relate to that alignment. You can create the proper alignments at the time that you do the outputs, and recall as needed.

            The most important thing is to ensure that when you measure features that your vectoring for each point is as perfect as possible.
            Example you have a TP on a hole the is .010" That means the amount of float in its position will allow for potential vectoring error. I will measure a quick 3pt circle in that hole and origin on it. Then measure it again either a Cyl or circle. Then maybe recall my main alignment. That way I ensure that when it measures that feature it will vector according to where the actual location of the feature is. This minimizes the vectoring error (cosine error)
            everything is measured to ball center so when the ball touches anywhere other than top dead center of where it thinks it measured you have induced some measurement error.
            In previous jobs I have written some very complex programs and have never had troubles with datum structure change. Up to 30 datums and 36 section views with 600+ dimensions. Glad I do not do those anymore. Getting too old to think that hard.
            If you create your program with local alignments and have perfect vectoring on all measured features including the datums the change will have little affect on the program. Then you can create the alignments to the datum structure for outputs as needed and recall as needed.
            There will be times when I'm creating AL5 and might use Recall AL2 to get what is needed, but in most cases each alignment is a complete 6 DOF alignment.
            Lever, Rotate, Origin

            Just a different approach to programming. I know that many of you are great at what you do, but each place we have worked at has made us better at what we do and given us different challenges.

            Just my 2c


            Time for the Trolls to leave.

            Comment


            • #11
              Originally posted by William Johnson View Post
              Wes Cisco I appreciate you taking the time to explain why you recall startup. If it works for you that is great. It is not a requirement to measure the datums and then measure the features that relate to that alignment. You can create the proper alignments at the time that you do the outputs, and recall as needed.

              The most important thing is to ensure that when you measure features that your vectoring for each point is as perfect as possible.
              Example you have a TP on a hole the is .010" That means the amount of float in its position will allow for potential vectoring error. I will measure a quick 3pt circle in that hole and origin on it. Then measure it again either a Cyl or circle. Then maybe recall my main alignment. That way I ensure that when it measures that feature it will vector according to where the actual location of the feature is. This minimizes the vectoring error (cosine error)
              everything is measured to ball center so when the ball touches anywhere other than top dead center of where it thinks it measured you have induced some measurement error.
              In previous jobs I have written some very complex programs and have never had troubles with datum structure change. Up to 30 datums and 36 section views with 600+ dimensions. Glad I do not do those anymore. Getting too old to think that hard.
              If you create your program with local alignments and have perfect vectoring on all measured features including the datums the change will have little affect on the program. Then you can create the alignments to the datum structure for outputs as needed and recall as needed.
              There will be times when I'm creating AL5 and might use Recall AL2 to get what is needed, but in most cases each alignment is a complete 6 DOF alignment.
              Lever, Rotate, Origin

              Just a different approach to programming. I know that many of you are great at what you do, but each place we have worked at has made us better at what we do and given us different challenges.

              Just my 2c

              You are not wrong. There is usually more than one right way to do this stuff and different parts and production processes merit different metrology techniques. Humpy Hapday!
              sigpic"Hated by Many, Loved by Few" _ A.B. - Stone brewery

              Comment


              • #12
                So from how it was explained to me in some post, at some time...
                Using Recall=Startup in an alignment that will constrain all 6DOF makes the routine run more efficiently.

                You see, when you string alignments with USE ACTIVE ALIGNMENT, or simply by always recalling the last alignment, for all alignment commands... It forces the demon to go back and assess ALL of the 'connected' alignments each time a point is taken or the machine moves. So if you have a lengthy routine, that for example has 96 'recalled to active or last' alignments called out in it, every time the CMM is measuring a point, it will be calculating the origins and vectors after it looks at all the alignments tied the the current alignment. By the time you reach the last set of measured points, the CMM is potentially analyzing 96 different alignment commands before taking that next hit. If you have a "not state of the art" PC and processer, that extra analyses equates to delays between CMM motion, and extra run time.

                Recall startup 'breaks' that daisy-chain of analyses, and lets the demon only look at that ONE alignment command to determine hit vectors and locations.

                The current alignment, if all 6dof is controlled by the features called out within that alignment, is completely isolated from any and all other features and alignments used (but not defined), to establish that alignment definition.

                If you are defining all 6dof, break the chain and speed up your routines by using recall: startup, as there is literally no difference other than decreasing processing time and code to analyze during execution.
                Last edited by louisd; 06-19-2019, 01:34 PM.

                Comment


                • louisd
                  louisd commented
                  Editing a comment
                  Lemme add to this statement a bit: "The current alignment, if all 6dof is controlled by the features called out within that alignment, is completely isolated from any and all other features and alignments used (but not defined), to establish that alignment definition."

                  Plus: When you recall a chain of alignments, while defining 6dof in the alignment, it redundantly and uselessly assesses all those prior 'chained' alignments, then tosses them out, once all the 6DOF level/rotate/origin definitions are processed in the current alignment.

                • Kp61dude!
                  Kp61dude! commented
                  Editing a comment
                  How does one come to the bottom of this rabbit hole? Were you just curious as to why recall=startup is in every program you write? Cuz I've always been curious just not curious enough to track down the 'why?'.

                • louisd
                  louisd commented
                  Editing a comment
                  Startup is equal to machine home location, upon machine startup, hence the name. :-D End of rabbit hole? Unless we start discussing how machine home is associated with machine's volume map?
                  Last edited by louisd; 06-20-2019, 01:33 PM.

              • #13
                Originally posted by louisd View Post
                So from how it was explained to me in some post, at some time...
                Using Recall=Startup in an alignment that will constrain all 6DOF makes the routine run more efficiently.

                You see, when you string alignments with USE ACTIVE ALIGNMENT, or simply by always recalling the last alignment, for all alignment commands... It forces the demon to go back and assess ALL of the 'connected' alignments each time a point is taken or the machine moves. So if you have a lengthy routine, that for example has 96 'recalled to active or last' alignments called out in it, every time the CMM is measuring a point, it will be calculating the origins and vectors after it looks at all the alignments tied the the current alignment. By the time you reach the last set of measured points, the CMM is potentially analyzing 96 different alignment commands before taking that next hit. If you have a "not state of the art" PC and processer, that extra analyses equates to delays between CMM motion, and extra run time.

                Recall startup 'breaks' that daisy-chain of analyses, and lets the demon only look at that ONE alignment command to determine hit vectors and locations.

                The current alignment, if all 6dof is controlled by the features called out within that alignment, is completely isolated from any and all other features and alignments used (but not defined), to establish that alignment definition.

                If you are defining all 6dof, break the chain and speed up your routines by using recall: startup, as there is literally no difference other than decreasing processing time and code to analyze during execution.
                OMG.

                (Head explodes)

                Never thought of this. Thank you LouisD!

                Comment

                Related Topics

                Collapse

                • Steve R
                  Using alignment
                  by Steve R
                  Hi everyone, if i generate my program using ABC alignment, and my hole location are calling for e.g AGH, alignment. Can I under the dimensioning ...
                  09-18-2017, 09:08 PM
                • Nasejhmoob
                  alignment
                  by Nasejhmoob
                  how accurate is it if I program everything off of my primary alignment which ABC alignment first and then create the print alignment which DEF alignment...
                  10-13-2016, 12:22 PM
                • m.gomez
                  Dimensioning with Alignments
                  by m.gomez
                  Do I need to keep alignments for dimensions together??
                  I am trying to group all dimensions that are scattered throughout the program together and...
                  10-24-2013, 10:59 AM
                • zerotolerance
                  Alignment/Recall align tip
                  by zerotolerance
                  This is a technique I use while writing long programs when can have sometimes up to 30 different alignments or more to go through while writing/dimensioning...
                  05-11-2010, 02:55 PM
                • Jrgunn5150
                  A Simple Xact Measure question
                  by Jrgunn5150
                  At least, I think it is. I've never used it, not familiar at all with it. I used to use CMM Manager in a prior job though, and in that software, you basically...
                  01-27-2016, 11:56 PM
                Working...
                X