hexagon logo

Pierce a Plane with a Circle

Can you pierce a plane with a Circle? I have a radius that meets a plane and I need the intersection point. Thanks!

Attached Files
Parents
  • Tried offline, it works whatever the vectors, if the intersection exists... (ACOS instead of ASIN in V5 !!!!!)
    PL1 =GENERIC/PLANE,DEPENDENT,CARTESIAN,$
    NOM/XYZ,<10,20,-30>,$
    MEAS/XYZ,<10,20,-30>,$
    NOM/IJK,<0.3106849,0.7192875,0.6213698>,$
    MEAS/IJK,<0.3106849,0.7192875,0.6213698>
    CE1 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<5,-10,10>,$
    MEAS/XYZ,<5,-10,10>,$
    NOM/IJK,<0.7071068,0,0.7071068>,$
    MEAS/IJK,<0.7071068,0,0.7071068>,$
    RADIUS/50,50
    ASSIGN/V1=CROSS(CE1.IJK,PL1.IJK)
    ASSIGN/V2=CROSS(V1,CE1.IJK)
    ASSIGN/V3=DOT(CE1.XYZ-PL1.XYZ,PL1.IJK)
    ASSIGN/V4=DOT(V2,PL1.IJK)
    ASSIGN/V5=ACOS((V3/V4)/CE1.R)
    ASSIGN/V6=CE1.XYZ-(V3/V4)*V2-CE1.R*SIN(V5)*V1
    F2 =GENERIC/POINT,DEPENDENT,CARTESIAN,$
    NOM/XYZ,<V6.X,V6.Y,V6.Z>,$
    MEAS/XYZ,<V6.X,V6.Y,V6.Z>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>
    ASSIGN/V7=DOT(F2.XYZ-CE1.XYZ,CE1.IJK)
    ASSIGN/V8=DOT(F2.XYZ-PL1.XYZ,PL1.IJK)
    ASSIGN/V6B=CE1.XYZ-(V3/V4)*V2+CE1.R*SIN(V5)*V1
    F3 =GENERIC/POINT,DEPENDENT,CARTESIAN,$
    NOM/XYZ,<V6B.X,V6B.Y,V6B.Z>,$
    MEAS/XYZ,<V6B.X,V6B.Y,V6B.Z>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>
    ASSIGN/V7B=DOT(F3.XYZ-CE1.XYZ,CE1.IJK)
    ASSIGN/V8B=DOT(F3.XYZ-PL1.XYZ,PL1.IJK)
    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 ----#----
    DIM DIST4= 3D DISTANCE FROM POINT F2 TO CIRCLE CE1,SHORTEST=OFF,NO_RADIUS UNITS=MM,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    M 50.0000 0.0100 0.0100 50.0000 0.0000 0.0000 ----#----
    DIM DIST5= 3D DISTANCE FROM POINT F3 TO CIRCLE CE1,SHORTEST=OFF,NO_RADIUS UNITS=MM,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    M 50.0000 0.0100 0.0100 50.0000 0.0000 0.0000 ----#----


    Distances between points and plane are zero, distances between points and circle center are radius.​
Reply
  • Tried offline, it works whatever the vectors, if the intersection exists... (ACOS instead of ASIN in V5 !!!!!)
    PL1 =GENERIC/PLANE,DEPENDENT,CARTESIAN,$
    NOM/XYZ,<10,20,-30>,$
    MEAS/XYZ,<10,20,-30>,$
    NOM/IJK,<0.3106849,0.7192875,0.6213698>,$
    MEAS/IJK,<0.3106849,0.7192875,0.6213698>
    CE1 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<5,-10,10>,$
    MEAS/XYZ,<5,-10,10>,$
    NOM/IJK,<0.7071068,0,0.7071068>,$
    MEAS/IJK,<0.7071068,0,0.7071068>,$
    RADIUS/50,50
    ASSIGN/V1=CROSS(CE1.IJK,PL1.IJK)
    ASSIGN/V2=CROSS(V1,CE1.IJK)
    ASSIGN/V3=DOT(CE1.XYZ-PL1.XYZ,PL1.IJK)
    ASSIGN/V4=DOT(V2,PL1.IJK)
    ASSIGN/V5=ACOS((V3/V4)/CE1.R)
    ASSIGN/V6=CE1.XYZ-(V3/V4)*V2-CE1.R*SIN(V5)*V1
    F2 =GENERIC/POINT,DEPENDENT,CARTESIAN,$
    NOM/XYZ,<V6.X,V6.Y,V6.Z>,$
    MEAS/XYZ,<V6.X,V6.Y,V6.Z>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>
    ASSIGN/V7=DOT(F2.XYZ-CE1.XYZ,CE1.IJK)
    ASSIGN/V8=DOT(F2.XYZ-PL1.XYZ,PL1.IJK)
    ASSIGN/V6B=CE1.XYZ-(V3/V4)*V2+CE1.R*SIN(V5)*V1
    F3 =GENERIC/POINT,DEPENDENT,CARTESIAN,$
    NOM/XYZ,<V6B.X,V6B.Y,V6B.Z>,$
    MEAS/XYZ,<V6B.X,V6B.Y,V6B.Z>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>
    ASSIGN/V7B=DOT(F3.XYZ-CE1.XYZ,CE1.IJK)
    ASSIGN/V8B=DOT(F3.XYZ-PL1.XYZ,PL1.IJK)
    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 ----#----
    DIM DIST4= 3D DISTANCE FROM POINT F2 TO CIRCLE CE1,SHORTEST=OFF,NO_RADIUS UNITS=MM,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    M 50.0000 0.0100 0.0100 50.0000 0.0000 0.0000 ----#----
    DIM DIST5= 3D DISTANCE FROM POINT F3 TO CIRCLE CE1,SHORTEST=OFF,NO_RADIUS UNITS=MM,$
    GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH
    AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
    M 50.0000 0.0100 0.0100 50.0000 0.0000 0.0000 ----#----


    Distances between points and plane are zero, distances between points and circle center are radius.​
Children
No Data