Intersection of point of a 2d circle and plane

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

  • Intersection of point of a 2d circle and plane

    Hello,
    I am trying to measure the intersect point between a partial radius and a plane that is perp to the radius in a cross section back to a plane. I have tried to most of the options I could think of to construct a point where the plane and radius intersect, but had no success. I also constructed plane from that circle and tried to to create multiple features from that plane to the other plane with no success. Is there a way to create a point or other feature where the partial radius intersects the plane? In the attached screenshots I am trying to create an intersect between PLN44 and CIR2. Thanks in advance for your help.2.JPG1.JPG

  • #2
    You'll need to measure a line on the plane and construct a pierce point with the line and the circle. If the point is created on the wrong side of the circle you will need to measure the line with the opposite vector(the other direction) or construct a reverse line on the measured line to reverse the vector. Then construct the point with the reversed line and the circle.
    PC-DMIS 2016.0 SP8

    Jeff

    Comment


    • #3
      That appeared to do the trick. Thank you very much Jeff!

      Comment


      • #4
        With some trig, you can create a generic method, which should work whatever the alignment (I'm not at the cmm to check, so I say "should" !) :
        ASSIGN/D1=DOT(PLN44.XYZ-CIR2.XYZ,PLN44.IJK)............................... ................................which is the distance between the center of the circle and the plane. The sign of D1 gives also the location of the circle from the plane, inside or outside material)
        ASSIGN/ANG1=ACOS(D1/CIR1.R)........................................... .................................................a ngle of intersect points
        ASSIGN/V1=CROSS(CIR1.IJK,PLN44.IJK)...................... .................................................. ........create a vector perp to circle and plane
        ASSIGN/OFFSET_PT1=CIR1.XYZ+CIR1.R*(COS(ANG1)*PLN44.IJK+SI N(ANG1)*V1)...........coordinates of the first point
        ASSIGN/OFFSET_PT2=CIR1.XYZ+CIR1.R*(COS(ANG1)*PLN44.IJK-SIN(ANG1)*V1)............coordinates of the second point

        Hope this helps...

        Comment


        • Schrocknroll
          Schrocknroll commented
          Editing a comment
          Interesting. If you'll excuse me I have to go add 2+2 on my fingers over here.

        • DAN_M
          DAN_M commented
          Editing a comment
          Youreally are a CMM robot
          Last edited by DAN_M; 08-27-2019, 06:33 AM.

      • #5
        DAN_M : a robot will never admit its own errors...
        The code above works only if the circle is perp to the plane.
        In other cases, you have to add some assignments :

        ASSIGN/D1=DOT(PLN44.XYZ-CIR2.XYZ,PLN44.IJK)............................... ................................which is the distance between the center of the circle and the plane.
        ASSIGN/ANG2=DEG2RAD(ANGLEBETWEEN(CIR1.IJK,PLN44.IJK)).... ...............................angle between circ plane and plane
        ASSIGN/D2=D1/COS(ANG2)
        ASSIGN/ANG1=ACOS(D2/CIR1.R)........................................... .................................................a ngle of intersect points
        ASSIGN/V1=CROSS(CIR1.IJK,PLN44.IJK)...................... .................................................. ........create a vector perp to circle and plane
        ASSIGN/V2=CROSS(V1,CIR1.IJK)............................. .................................................. ..................create a vector in the "circle plane"
        IF DOT(PLN44.XYZ-CIR1.XYZ,V2)<0.................................... .................................................. .......check the direction of V2
        ASSIGN/V2=-V2
        END IF
        ASSIGN/OFFSET_PT1=CIR1.XYZ+CIR1.R*(COS(ANG1)*V2+SIN(ANG1) *V1)...........coordinates of the first point
        ASSIGN/OFFSET_PT2=CIR1.XYZ+CIR1.R*(COS(ANG1)*V2-SIN(ANG1)*V1)............coordinates of the second point


        Someone here think I'm "in the moon"...
        Last edited by JEFMAN; 08-28-2019, 11:16 AM. Reason: See the right code at #7 !!!!!

        Comment


        • #6
          See https://www.pcdmisforum.com/forum/pc...922#post446922
          AndersI
          SW support - Hexagon Metrology Nordic AB

          Comment


          • #7
            Here is the right code, which works what ever the angle between plane and circle, except when the circle is parallel to the plane !!!!!!!

            Code:
            PL1        =GENERIC/PLANE,DEPENDENT,CARTESIAN,$
                        NOM/XYZ,<-3,0,5>,$
                        MEAS/XYZ,<-3,0,5>,$
                        NOM/IJK,<0.7071068,0.2236068,0.6708204>,$
                        MEAS/IJK,<0.7071068,0.2236068,0.6708204>
            CE1        =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
                        NOM/XYZ,<5,5,2>,$
                        MEAS/XYZ,<5,5,2>,$
                        NOM/IJK,<0.2294157,0.9733285,0>,$
                        MEAS/IJK,<0.2294157,0.9733285,0>,$
                        RADIUS/12,12
                        ASSIGN/D1=DOT(PL1.XYZ-CE1.XYZ,PL1.IJK)
                        ASSIGN/ANG2=DEG2RAD(ANGLEBETWEEN(CE1.IJK,PL1.IJK))
                        ASSIGN/V1=CROSS(PL1.IJK,CE1.IJK)
                        ASSIGN/V2=CROSS(V1,CE1.IJK)
                        IF/DOT(PL1.XYZ-CE1.XYZ,V2)<0
                          ASSIGN/V2=-V2
                        END_IF/
                        ASSIGN/ANG3=DEG2RAD(ANGLEBETWEEN(V2,PL1.IJK))
                        ASSIGN/D3=D1/COS(ANG3)
                        ASSIGN/ANG1=ACOS(D3/CE1.R)
                        ASSIGN/P1=CE1.XYZ+CE1.R*((COS(ANG1)*V2+SIN(ANG1)*V1))
                        ASSIGN/P2=CE1.XYZ+CE1.R*((COS(ANG1)*V2-SIN(ANG1)*V1))
            F2         =GENERIC/POINT,DEPENDENT,CARTESIAN,$
                        NOM/XYZ,<P1.X,P1.Y,P1.Z>,$
                        MEAS/XYZ,<P1.X,P1.Y,P1.Z>,$
                        NOM/IJK,<0,0,1>,$
                        MEAS/IJK,<0,0,1>
            F3         =GENERIC/POINT,DEPENDENT,CARTESIAN,$
                        NOM/XYZ,<P2.X,P2.Y,P2.Z>,$
                        MEAS/XYZ,<P2.X,P2.Y,P2.Z>,$
                        NOM/IJK,<0,0,1>,$
                        MEAS/IJK,<0,0,1>
            DIM DIST1= 3D DISTANCE FROM POINT F2 TO PLANE PL1,SHORTEST=OFF,NO_RADIUS  UNITS=MM,$
            GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
            AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
            M       0.0000     0.0100    -0.0100     0.0000     0.0000     0.0000 ----#----
            DIM DIST3= 3D DISTANCE FROM POINT F3 TO PLANE PL1,SHORTEST=OFF,NO_RADIUS  UNITS=MM,$
            GRAPH=OFF  TEXT=OFF  MULT=10.00  OUTPUT=BOTH
            AX    NOMINAL       +TOL       -TOL       MEAS        DEV     OUTTOL
            M       0.0000     0.0100    -0.0100     0.0000     0.0000     0.0000 ----#----

            Comment

            Related Topics

            Collapse

            Working...
            X