Generic circle with two points???

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

  • Generic circle with two points???

    Hello everyone

    I currently have a program where we place a machined cylinder on two contact points then measure the cylinder as a datum. The problem is repeatability with the placement of the cylinder on the two contact points. I want to remove the cylinder placement from our list of variables... Can anyone help me figure out a way to possibly create a generic circle using the two contact points as inputs???
    Last edited by spazus_maximus; 09-20-2006, 11:48 PM.

  • #2

    Am I understanding this correctly?

    You want a circle with it's centre at the midpoint of the two contact points and each of the contact points lying on it's circumference?

    If that's right, I believe it's doable. I'll post you some code.

    Comment


    • #3
      yup

      Thats what i need.

      Initially i thought i could create a paste pattern to create the diameter but did not work i guess you must have a circle for the angle offset. currently i am trying to create somekind of offset point with the vector reverse of the measured point and offset the nominal diameter ....anyway thanks for the help

      Comment


      • #4
        Well.... here it is!!

        I used the 3D distance between the points for the diameter - but you could just as easily use a 2D distance if you've already got a datum plane


        C_PNT1 =FEAT/POINT,RECT
        THEO/47.622,166.937,-278.414,0,0,1
        ACTL/47.622,166.937,-278.414,0,0,1
        MEAS/POINT,1
        HIT/BASIC,NORMAL,47.622,166.937,-278.414,0,0,1,47.622,166.937,-278.414,USE THEO = YES
        ENDMEAS/

        C_PNT2 =FEAT/POINT,RECT
        THEO/86.622,177.298,-278.405,0,0,1
        ACTL/86.622,177.298,-278.405,0,0,1
        MEAS/POINT,1
        HIT/BASIC,NORMAL,86.622,177.298,-278.405,0,0,1,86.622,177.298,-278.405,USE THEO = YES
        ENDMEAS/

        C_PNT_MDPT =FEAT/POINT,RECT
        THEO/67.122,172.118,-278.41,0,0,1
        ACTL/67.122,172.118,-278.41,0,0,1
        CONSTR/POINT,MID,C_PNT1,C_PNT2

        ASSIGN/DIAM = DIST3D({C_PNT1},{C_PNT2})

        CIRCLE =GENERIC/CIRCLE,DEPENDENT,RECT,OUT,$
        NOM/XYZ,C_PNT_MDPT.X,C_PNT_MDPT.Y,C_PNT_MDPT.Z,$
        MEAS/XYZ,C_PNT_MDPT.X,C_PNT_MDPT.Y,C_PNT_MDPT.Z,$
        NOM/IJK,0,0,1,$
        MEAS/IJK,0,0,1,$
        DIAMETER/DIAM,DIAM


        I hope that helps... but if I've got it completely wrong...... I'm Sorry!!

        Comment


        • #5
          in the ballpark but.....

          Thanks for the suggestion but as usual i mis-explained myself "they dont call me spaz for nothing"

          My contact points are at 135° & -135° so the distance would not equal my diameter nor would the mid point be my circle location if my contacts were at 90/-90 we would be good to go.

          anyway ...thanks and have a nice new zealand evening. Im done for the day!!

          Comment


          • #6

            I thought it was too easy!!!

            I'll work on it....

            Comment


            • #7
              OK... Here we go!

              If your contact points are at 135 and -135, that means that they are at 45 degrees to the X axis. Therefore you can use pythagoras to calculate the radius and the distance of the midpoint from the centre of the circle. Then you can create a generic point with the coords of a third point that will also lie on the circumference. Once you have three points, you can construct the circle.


              C_PNT1 =FEAT/POINT,RECT
              THEO/47.622,166.937,-278.414,0,0,1
              ACTL/47.622,166.937,-278.414,0,0,1
              MEAS/POINT,1
              HIT/BASIC,NORMAL,47.622,166.937,-278.414,0,0,1,47.622,166.937,-278.414,USE THEO = YES
              ENDMEAS/

              C_PNT2 =FEAT/POINT,RECT
              THEO/86.622,177.298,-278.405,0,0,1
              ACTL/86.622,177.298,-278.405,0,0,1
              MEAS/POINT,1
              HIT/BASIC,NORMAL,86.622,177.298,-278.405,0,0,1,86.622,177.298,-278.405,USE THEO = YES
              ENDMEAS/

              ALIGN1 =ALIGNMENT/START,RECALL:STARTUP, LIST= YES
              ALIGNMENT/ROTATE_CIRCLE,YPLUS,TO,C_PNT1,AND,C_PNT2,ABOUT,ZPL US
              ALIGNMENT/END

              ASSIGN/DIST = (DIST3D({C_PNT1},{C_PNT2}))/2

              ASSIGN/RADIUS = SQRT(2*(DIST*DIST))

              ASSIGN/DEPTH = RADIUS-DIST

              C_MDPNT =FEAT/POINT,RECT
              THEO/-149.112,109.066,-278.41,0,0,1
              ACTL/-149.112,109.066,-278.41,0,0,1
              CONSTR/POINT,MID,C_PNT1,C_PNT2

              THRD_PNT =GENERIC/POINT,DEPENDENT,RECT,$
              NOM/XYZ,-157.47,109.066,-278.41,$
              MEAS/XYZ,C_MDPNT.X-DEPTH,C_MDPNT.Y,C_MDPNT.Z,$
              NOM/IJK,0,0,1,$
              MEAS/IJK,0,0,1

              CIRC1 =FEAT/CIRCLE,RECT,OUT,LEAST_SQR
              THEO/-128.937,109.066,-278.41,0,0,1,57.065
              ACTL/-128.937,109.066,-278.41,0,0,1,57.065
              CONSTR/CIRCLE,BF,C_PNT1,C_PNT2,THRD_PNT,,
              OUTLIER_REMOVAL/OFF,3
              FILTER/OFF,UPR=0

              Did I get it that time??

              Comment


              • #8
                The two contact points is not enough information. You need one more piece of info. The distance between them wont do it. The angles (-135,+135) are only relativent if you have the diameter.

                Unless you want the center point of a circle based on the two points and and a basic diameter. Is that you real goal?
                Links to my utilities for PCDMIS

                Comment


                • #9
                  You can always make ASSUMPTIONS and get a point at least using 2 points to represent the center POINT of the circle. Use your TRIG (or a cad package) and calculate what the XYZ locations SHOULD be for those 2 points on the circle at those angles. Construct a mid-point from them. Construct an offset point from the mid-point and that would be the center point of the theo circle.
                  sigpic
                  Originally posted by AndersI
                  I've got one from September 2006 (bug ticket) which has finally been fixed in 2013.

                  Comment


                  • #10
                    Spaz

                    I hadn't heard from you in a long time until I heard you were in Clarksville.

                    Give a hollar sometime.

                    Comment


                    • #11
                      Originally posted by Matthew D. Hoedeman
                      You can always make ASSUMPTIONS and get a point at least using 2 points to represent the center POINT of the circle. Use your TRIG (or a cad package) and calculate what the XYZ locations SHOULD be for those 2 points on the circle at those angles. Construct a mid-point from them. Construct an offset point from the mid-point and that would be the center point of the theo circle.
                      Absolutely, but you need the basic diameter and more info.
                      Is it always the same diameter? The angle changes as the diameter changes.
                      Are the contact points radiused, or flat like a vee? Determines where you start from in your calculation.
                      How do you know or determine where the contacts are?

                      More info is needed.
                      Last edited by cmmguy; 09-21-2006, 10:18 AM.
                      Links to my utilities for PCDMIS

                      Comment


                      • #12
                        Spaz, if you can get me the distance between those two points, I believe I can help you get the diameter needed to complete the equation. PM or [email protected]
                        DCCFreak

                        Comment


                        • #13
                          excuse the delay....

                          I am currently working on an off shift so i apologize for the slow replies....

                          Hey Matt,

                          1.The diameter is always the same.
                          2. The contacts are flats like a vee.

                          I would like to hear your input, you seem to be a pretty sharp fella!

                          CMM Girl,

                          I am playing around with your idea It seems legit. I think it may work. Thanks!



                          You guys rock!

                          Comment


                          • #14
                            I used this to set origin from the center of a vee to the center of the diameter on a parametric program.

                            The code below assumes the following:
                            You have measured the two flats(they are in the form of a vee correct?) and intersected them to find the center of the vee. And then you have set X/Y zero on that center point.

                            The 45 is for a 90 degree vee. If you use a 120 degree vee(which I recommend, then use 30 degrees)

                            This code came from a vb cmm program, you would need to code it in PCDMIS.

                            ' Move the reference frame to the center of the diameter based on nominal diameter
                            'Diameter = Diameter of the part
                            YLocation= (Diameter / 2) / (Cos(45))

                            (This method assume that the locators are very accurately installed- Angle between and symmetry. It can be impoved if you do a Y+ alignment to the midline of the two locators when you set your initial alignment on the vee center)

                            ********************
                            OR
                            If you did not construct an intersection but still measured each flat as a line, you could do the following:
                            With each line segment...
                            align(X+) to it
                            set Y origin on it
                            construct a theoretical parallel line that is diameter/2 from the line in the +Y location.

                            Now, find the intersection of the two lines and that is your center point.
                            (this second method finds the center point without regard to how well the locators were installed)
                            Last edited by cmmguy; 09-23-2006, 10:38 AM.
                            Links to my utilities for PCDMIS

                            Comment


                            • #15
                              cmm guy rocks

                              thats what i needed.

                              thanks

                              Comment

                              Related Topics

                              Collapse

                              Working...
                              X