issues profiling a sphere using an unorthodox method

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

  • issues profiling a sphere using an unorthodox method

    Cant show CAD or print of this so apologies. Basically my issue is they want a surface profile of a spherical cup, but the profile of the spherical cup isn't the same from one part to another (holes drilled into it depending on customer needs) so I need to be able to profile it without using a scan. How I attempted to work around these issues is taking manual hits on the sphere (which is the a datum), using the xyzijk of the hits as locations for the datum callout measured again in DCC, and as it worked for the DCC I attempted to do the same for spherical hits. Using the same method I used (ex. mansph.hit[1].x) I made the zxy at zero as it is the origin, and used that command for the IJK on the vectors. the problem is it is seeming to want to follow the autofeature DCC locations instead of my hits I used, which perplexes me as it worked fine for the datum feature. Hoping someone can help me out with this as I really don't want to take a ton of manual hits as I am trying to automate this program as much as possible.

    code will come in the next comment

  • #2
    Here is the code, data is from a ran part, so the datum A feature and the manual sphere both have points taken from the actual part.

    Sph 1-12 are the features I am using to try to use the preexisting hits in to collect more data to avoid unnecessary human input. By changing the vector it should adjust the whole feature location to the necessary location, so as I said I am at a loss as to why it isn't cooperating with me. Im nearing up on 2 years into programming so I know a little but this has me stumped, so apologies on the newbie question or if I am doing this in an asinine way and severely overcomplicating this.


    MANSPH =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,0,-0.118155>,<0,0,1>,1.691968
    ACTL/<-0.000053,-0.000176,-0.059797>,<0,0,1>,1.691801
    TARG/<0,0,-0.118155>,<0,0,1>
    START ANGLE 1=0,END ANG 1=360
    START ANGLE 2=-28,END ANG 2=-65
    ANGLE VEC=<-0.0043492,0.9999905,0>
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=12,NUMROWS=3
    SAMPLE HITS=0
    AVOIDANCE MOVE=NO,DISTANCE=0
    SHOW HITS=NO
    MODE/DCC
    DAT_A =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
    THEO/<0,0,-0.0591>,<0,0,1>,1.691969
    ACTL/<-0.00012,-0.000224,-0.059895>,<0,0,1>,1.691675
    TARG/<0,0,-0.0591>,<0,0,1>
    START ANGLE 1=0,END ANG 1=360
    START ANGLE 2=-64.818124,END ANG 2=-28.233716
    ANGLE VEC=<1,-0.0000002,0>
    SHOW FEATURE PARAMETERS=NO
    SHOW CONTACT PARAMETERS=YES
    NUMHITS=12,NUMROWS=3
    SAMPLE HITS=0
    AVOIDANCE MOVE=NO,DISTANCE=0
    SHOW HITS=YES
    HIT/BASIC,<MANSPH.HIT[1].X,MANSPH.HIT[1].Y,MANSPH.HIT[1].Z>,<MANSPH.HIT[1].I,MANSPH.HIT[1].J,MANSPH.HIT[1].K>,<-0.042338,0.692063,-0.540671>
    HIT/BASIC,<MANSPH.HIT[2].X,MANSPH.HIT[2].Y,MANSPH.HIT[2].Z>,<MANSPH.HIT[2].I,MANSPH.HIT[2].J,MANSPH.HIT[2].K>,<0.693532,0.024599,-0.540271>
    HIT/BASIC,<MANSPH.HIT[3].X,MANSPH.HIT[3].Y,MANSPH.HIT[3].Z>,<MANSPH.HIT[3].I,MANSPH.HIT[3].J,MANSPH.HIT[3].K>,<0.033808,-0.69365,-0.540191>
    HIT/BASIC,<MANSPH.HIT[4].X,MANSPH.HIT[4].Y,MANSPH.HIT[4].Z>,<MANSPH.HIT[4].I,MANSPH.HIT[4].J,MANSPH.HIT[4].K>,<-0.693518,-0.007136,-0.541149>
    HIT/BASIC,<MANSPH.HIT[5].X,MANSPH.HIT[5].Y,MANSPH.HIT[5].Z>,<MANSPH.HIT[5].I,MANSPH.HIT[5].J,MANSPH.HIT[5].K>,<-0.550661,-0.001586,-0.698134>
    HIT/BASIC,<MANSPH.HIT[6].X,MANSPH.HIT[6].Y,MANSPH.HIT[6].Z>,<MANSPH.HIT[6].I,MANSPH.HIT[6].J,MANSPH.HIT[6].K>,<-0.021421,0.549927,-0.698243>
    HIT/BASIC,<MANSPH.HIT[7].X,MANSPH.HIT[7].Y,MANSPH.HIT[7].Z>,<MANSPH.HIT[7].I,MANSPH.HIT[7].J,MANSPH.HIT[7].K>,<0.547052,0.058736,-0.698241>
    HIT/BASIC,<MANSPH.HIT[8].X,MANSPH.HIT[8].Y,MANSPH.HIT[8].Z>,<MANSPH.HIT[8].I,MANSPH.HIT[8].J,MANSPH.HIT[8].K>,<0.030403,-0.550347,-0.69767>
    HIT/BASIC,<MANSPH.HIT[9].X,MANSPH.HIT[9].Y,MANSPH.HIT[9].Z>,<MANSPH.HIT[9].I,MANSPH.HIT[9].J,MANSPH.HIT[9].K>,<0.021982,-0.332888,-0.836667>
    HIT/BASIC,<MANSPH.HIT[10].X,MANSPH.HIT[10].Y,MANSPH.HIT[10].Z>,<MANSPH.HIT[10].I,MANSPH.HIT[10].J,MANSPH.HIT[10].K>,<-0.337072,-0.017115,-0.834649>
    HIT/BASIC,<MANSPH.HIT[11].X,MANSPH.HIT[11].Y,MANSPH.HIT[11].Z>,<MANSPH.HIT[11].I,MANSPH.HIT[11].J,MANSPH.HIT[11].K>,<-0.01479,0.357541,-0.824984>
    HIT/BASIC,<MANSPH.HIT[12].X,MANSPH.HIT[12].Y,MANSPH.HIT[12].Z>,<MANSPH.HIT[12].I,MANSPH.HIT[12].J,MANSPH.HIT[12].K>,<0.359739,0.013214,-0.824311>
    ENDMEAS/

    Comment


    • #3
      Sph1 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[1].i,mansph.hit[1].j,mansph.hit[1].k>,1.691969
      actl/<-0.000847,0.019316,-0.073366>,<0.0208652,-0.8154559,0.5784429>,1.644256
      targ/<0,0,-0.0591>,<0.0035474,-0.8156426,0.5785452>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph2 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[2].i,mansph.hit[2].j,mansph.hit[2].k>,1.691969
      actl/<-2.523275,1.006692,-1.991527>,<0.7635092,-0.3006102,0.5715656>,5.055587
      targ/<0,0,-0.0591>,<0.7568842,-0.3165724,0.5717589>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph3 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[3].i,mansph.hit[3].j,mansph.hit[3].k>,1.691969
      actl/<-0.069604,-0.112289,-0.149114>,<0.4312009,0.7060837,0.5617042>,1.373509
      targ/<0,0,-0.0591>,<0.44588,0.6969038,0.5617082>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph4 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[4].i,mansph.hit[4].j,mansph.hit[4].k>,1.691969
      actl/<0.036929,-0.054615,-0.104726>,<-0.4653451,0.6840532,0.5617163>,1.532345
      targ/<0,0,-0.0591>,<-0.4509312,0.6937837,0.5615383>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph5 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[5].i,mansph.hit[5].j,mansph.hit[5].k>,1.691969
      actl/<7.096922,2.7351,-4.460852>,<-0.8324248,-0.2941726,0.4696077>,15.963024
      targ/<0,0,-0.0591>,<-0.8385385,-0.2764954,0.4694716>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph6 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[6].i,mansph.hit[6].j,mansph.hit[6].k>,1.691969
      actl/<-0.00299,0.090554,-0.156903>,<0.0176577,-0.688219,0.7252881>,1.42626
      targ/<0,0,-0.0591>,<0.0029938,-0.6883481,0.7253744>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph7 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[7].i,mansph.hit[7].j,mansph.hit[7].k>,1.691969
      actl/<0.143889,0.004693,-0.209759>,<-0.6879825,-0.0175955,0.725514>,1.276082
      targ/<0,0,-0.0591>,<-0.6883481,-0.0029938,0.7253744>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph8 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[8].i,mansph.hit[8].j,mansph.hit[8].k>,1.691969
      actl/<-0.00012,-0.000224,-0.059895>,<-0.017359,0.6880447,0.7254606>,1.691969
      targ/<0,0,-0.0591>,<-0.0029938,0.6883481,0.7253744>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph9 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[9].i,mansph.hit[9].j,mansph.hit[9].k>,1.691969
      actl/<-1.167234,3.965482,0.935214>,<0.6869057,0.015477,0. 7265818>,1.691969
      targ/<0,0,-0.0591>,<0.6883481,0.0029938,0.7253744>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph10 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[10].i,mansph.hit[10].j,mansph.hit[10].k>,1.691969
      actl/<-1.167234,3.965482,0.935214>,<0.0079169,-0.4225235,0.9063174>,1.691969
      targ/<0,0,-0.0591>,<0.001838,-0.4226143,0.9063078>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph11 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[11].i,mansph.hit[1].j,mansph.hit[11].k>,1.691969
      actl/<-1.167234,3.965482,0.935214>,<0.2725621,-0.668663,0.691809>,1.691969
      targ/<0,0,-0.0591>,<0.2615953,-0.6735126,0.6913383>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph12 =feat/contact/sphere/default,cartesian,in,least_sqr
      theo/<0,0,-0.0591>,<mansph.hit[12].i,mansph.hit[12].j,mansph.hit[12].k>,1.691969
      actl/<-1.167234,3.965482,0.935214>,<-0.3526273,0.2050611,0.9130191>,1.691969
      targ/<0,0,-0.0591>,<-0.3472438,0.2114106,0.9136341>
      start angle 1=0,end ang 1=360
      start angle 2=-90,end ang 2=-88
      angle vec=<0.9999978,0.0021179,0>
      show feature parameters=no
      show contact parameters=yes
      numhits=5,numrows=2
      sample hits=0
      avoidance move=no,distance=0
      show hits=no
      sph_prof_set=feat/set,cartesian
      theo/<0,0,-0.0591>,<0,0,1>
      actl/<0.000997,1.629263,-0.288774>,<0,0,1>
      constr/set,basic,sph1,sph2,sph3,sph4,sph5,sph6,sph7,sph8, sph9,sph10,sph11,sph12,,

      Comment


      • #4
        First of, if you do your CODE tags in uppercase the code will appear more readable.


        Okay, so on toy your question, I'm not 100% sure I follow you but here's what I see...

        You're taking manual hits on a sphere, then feeding those hits into the hits of an Autosphere (which is fine) to avoid the holes?

        I take it this bit is working okay?

        The issue you have is in what you're doing on SPH1 through SPH12 correct?

        I think the issue is that you're using Autosphere instead of Autopoints (or are you trying to take a few hits around each manual hit you took?)

        Also I don't see you origining on the sphere anywhere.


        Sph1 =feat/contact/sphere/default,cartesian,in,least_sqr
        theo/<0,0,-0.0591>,<mansph.hit[1].i,mansph.hit[1].j,mansph.hit[1].k>,1.691969 <<<< This line defines the THEO location of your sphere (the xyz is the same for all 12 of them, you're only changing the vector of the sphere
        actl/<-0.000847,0.019316,-0.073366>,<0.0208652,-0.8154559,0.5784429>,1.644256
        targ/<0,0,-0.0591>,<0.0035474,-0.8156426,0.5785452> <<<< This line defines the target location of the sphere, where the CMM actually drives to, these probably want to be the same as the THEO
        start angle 1=0,end ang 1=360 <<<<< 0 to 360 is okay
        start angle 2=-90,end ang 2=-88 <<<<< Only 2° of sphere here!!!!
        angle vec=<0.9999978,0.0021179,0>
        show feature parameters=no
        show contact parameters=yes
        numhits=5,numrows=2
        sample hits=0
        avoidance move=no,distance=0
        show hits=no
        sph2 =feat/contact/sphere/default,cartesian,in,least_sqr
        theo/<0,0,-0.0591>,<mansph.hit[2].i,mansph.hit[2].j,mansph.hit[2].k>,1.691969
        actl/<-2.523275,1.006692,-1.991527>,<0.7635092,-0.3006102,0.5715656>,5.055587
        targ/<0,0,-0.0591>,<0.7568842,-0.3165724,0.5717589>
        start angle 1=0,end ang 1=360
        start angle 2=-90,end ang 2=-88
        angle vec=<0.9999978,0.0021179,0>
        show feature parameters=no
        show contact parameters=yes
        numhits=5,numrows=2
        sample hits=0
        avoidance move=no,distance=0
        show hits=no


        If you explain a bit better what you're trying to do we can probably offer an easier way of doing it.
        Applications Engineer
        Hexagon UK

        Comment


        • #5
          You are correct for the most part. The manual sphere feeds the auto to void the holes, and it does work fine. I am trying to use the autosphere to build more data for a sphere profile without taking more manual hits. The sphere in question is used in an alignment further down as it is the A datum, but the part is locked down by another alignment to locate the part and control all 6dof prior to the ABC alignment which happens just shortly after this. I placed these here for expedience sake and to not be jumping back to an area of the part already measured. The x and y are 0 and the Z is identical to both the sph1-12 and the man and dcc sphere. In theory I didn't see why it wouldn't work. the XYZ is the same as the sphere but the IJK needs adjusted to fit the locations of the points. The IJK of the 1-12 is extracted from the 12 manual hits and thus should locate to the same location as the hits on the sphere given that the origin of those is all based around the location of the center of the sphere correct?

          I am assuming this is where I am having issues but im unsure of where or why. More senior programmers here as well seem stumped so idk if this is another 2014 bug or something I am doing wrong and not understanding fully.

          Ultimate end goal is to use the manual sph hits to locate a center point and adjacent hits to build more data for a profile of the sphere, that's at least what I was trying towards lol.

          Comment


          • #6
            Here is the code in a more readable manner. I don't think ive ever posted a larger chunk of code so I wasn't aware of the prompt for that lol.

            Code:
            MANSPH     =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                        THEO/<0,0,-0.118155>,<0,0,1>,1.691968
                        ACTL/<-0.000054,-0.000025,-0.059992>,<0,0,1>,1.691483
                        TARG/<0,0,-0.118155>,<0,0,1>
                        START ANGLE 1=0,END ANG 1=360
                        START ANGLE 2=-28,END ANG 2=-65
                        ANGLE VEC=<-0.0043492,0.9999905,0>
                        SHOW FEATURE PARAMETERS=NO
                        SHOW CONTACT PARAMETERS=YES
                          NUMHITS=12,NUMROWS=3
                          SAMPLE HITS=0
                          AVOIDANCE MOVE=NO,DISTANCE=0
                        SHOW HITS=YES
                          HIT/BASIC,<-0.003249,0.746952,-0.51532>,<0.0038401,-0.8829392,0.4694716>,<-0.03371,0.686215,-0.550219>
                          HIT/BASIC,<-0.711398,0.227731,-0.51532>,<0.8409118,-0.2691911,0.4694716>,<0.68664,0.03762,-0.549086>
                          HIT/BASIC,<-0.436419,-0.606207,-0.51532>,<0.515872,0.71657,0.4694716>,<0.015571,-0.681984,-0.556559>
                          HIT/BASIC,<0.441676,-0.602388,-0.51532>,<-0.5220854,0.7120557,0.4694716>,<-0.681572,-0.013241,-0.557756>
                          HIT/BASIC,<0.70939,0.233911,-0.51532>,<-0.8385385,-0.2764954,0.4694716>,<-0.547331,-0.009083,-0.701077>
                          HIT/BASIC,<-0.002533,0.582331,-0.73181>,<0.0029938,-0.6883481,0.7253744>,<-0.025723,0.546328,-0.701558>
                          HIT/BASIC,<0.582331,0.002533,-0.73181>,<-0.6883481,-0.0029938,0.7253744>,<0.54608,0.042204,-0.700395>
                          HIT/BASIC,<0.002533,-0.582331,-0.73181>,<-0.0029938,0.6883481,0.7253744>,<0.026802,-0.547381,-0.70012>
                          HIT/BASIC,<-0.582331,-0.002533,-0.73181>,<0.6883481,0.0029938,0.7253744>,<0.021172,-0.36785,-0.820408>
                          HIT/BASIC,<-0.001555,0.357525,-0.884877>,<0.001838,-0.4226143,0.9063078>,<-0.34843,0.004442,-0.830054>
                          HIT/BASIC,<-0.308848,-0.180109,-0.884877>,<0.3650757,0.2128989,0.9063078>,<-0.003439,0.364978,-0.822154>
                          HIT/BASIC,<0.310403,-0.177416,-0.884877>,<-0.3669137,0.2097153,0.9063078>,<0.366612,0.034393,-0.820539>
                        ENDMEAS/
                        MODE/DCC
            DAT_A      =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                        THEO/<0,0,-0.0591>,<0,0,1>,1.691969
                        ACTL/<-0.000074,-0.000106,-0.060073>,<0,0,1>,1.691378
                        TARG/<0,0,-0.0591>,<0,0,1>
                        START ANGLE 1=0,END ANG 1=360
                        START ANGLE 2=-64.818124,END ANG 2=-28.233716
                        ANGLE VEC=<1,-0.0000002,0>
                        SHOW FEATURE PARAMETERS=NO
                        SHOW CONTACT PARAMETERS=YES
                          NUMHITS=12,NUMROWS=3
                          SAMPLE HITS=0
                          AVOIDANCE MOVE=NO,DISTANCE=0
                        SHOW HITS=YES
                          HIT/BASIC,<MANSPH.HIT[1].X,MANSPH.HIT[1].Y,MANSPH.HIT[1].Z>,<MANSPH.HIT[1].I,MANSPH.HIT[1].J,MANSPH.HIT[1].K>,<-0.03356,0.686483,-0.54981>
                          HIT/BASIC,<MANSPH.HIT[2].X,MANSPH.HIT[2].Y,MANSPH.HIT[2].Z>,<MANSPH.HIT[2].I,MANSPH.HIT[2].J,MANSPH.HIT[2].K>,<0.686642,0.037846,-0.549001>
                          HIT/BASIC,<MANSPH.HIT[3].X,MANSPH.HIT[3].Y,MANSPH.HIT[3].Z>,<MANSPH.HIT[3].I,MANSPH.HIT[3].J,MANSPH.HIT[3].K>,<0.01573,-0.682511,-0.556045>
                          HIT/BASIC,<MANSPH.HIT[4].X,MANSPH.HIT[4].Y,MANSPH.HIT[4].Z>,<MANSPH.HIT[4].I,MANSPH.HIT[4].J,MANSPH.HIT[4].K>,<-0.681687,-0.01304,-0.557525>
                          HIT/BASIC,<MANSPH.HIT[5].X,MANSPH.HIT[5].Y,MANSPH.HIT[5].Z>,<MANSPH.HIT[5].I,MANSPH.HIT[5].J,MANSPH.HIT[5].K>,<-0.548211,-0.008911,-0.700396>
                          HIT/BASIC,<MANSPH.HIT[6].X,MANSPH.HIT[6].Y,MANSPH.HIT[6].Z>,<MANSPH.HIT[6].I,MANSPH.HIT[6].J,MANSPH.HIT[6].K>,<-0.025152,0.546626,-0.701259>
                          HIT/BASIC,<MANSPH.HIT[7].X,MANSPH.HIT[7].Y,MANSPH.HIT[7].Z>,<MANSPH.HIT[7].I,MANSPH.HIT[7].J,MANSPH.HIT[7].K>,<0.546964,0.042297,-0.699579>
                          HIT/BASIC,<MANSPH.HIT[8].X,MANSPH.HIT[8].Y,MANSPH.HIT[8].Z>,<MANSPH.HIT[8].I,MANSPH.HIT[8].J,MANSPH.HIT[8].K>,<0.026962,-0.547485,-0.700096>
                          HIT/BASIC,<MANSPH.HIT[9].X,MANSPH.HIT[9].Y,MANSPH.HIT[9].Z>,<MANSPH.HIT[9].I,MANSPH.HIT[9].J,MANSPH.HIT[9].K>,<0.021259,-0.366946,-0.820887>
                          HIT/BASIC,<MANSPH.HIT[10].X,MANSPH.HIT[10].Y,MANSPH.HIT[10].Z>,<MANSPH.HIT[10].I,MANSPH.HIT[10].J,MANSPH.HIT[10].K>,<-0.347482,0.004639,-0.830497>
                          HIT/BASIC,<MANSPH.HIT[11].X,MANSPH.HIT[11].Y,MANSPH.HIT[11].Z>,<MANSPH.HIT[11].I,MANSPH.HIT[11].J,MANSPH.HIT[11].K>,<-0.003413,0.364055,-0.822626>
                          HIT/BASIC,<MANSPH.HIT[12].X,MANSPH.HIT[12].Y,MANSPH.HIT[12].Z>,<MANSPH.HIT[12].I,MANSPH.HIT[12].J,MANSPH.HIT[12].K>,<0.365888,0.034544,-0.820886>
                        ENDMEAS/

            Comment


            • #7
              had to split it up as it was too large but this is far easier to read

              Code:
              SPH1       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<MANSPH.X,MANSPH.Y,MANSPH.Z>,<MANSPH.HIT[1].I,MANSPH.HIT[1].J,MANSPH.HIT[1].K>,1.691969
                          ACTL/<0,0,-0.0591>,<0.0320139,-0.9770565,0.2105603>,1.691969
                          TARG/<0,0,-0.0591>,<0.0320139,-0.9770565,0.2105603>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<1,0,0>
                          SHOW FEATURE PARAMETERS=YES
                            SURFACE=THEO_THICKNESS,0
                            MEASURE MODE=NOMINALS
                            RMEAS=NONE,NONE,NONE
                            AUTO WRIST=NO
                            GRAPHICAL ANALYSIS=NO
                            FEATURE LOCATOR=NO,NO,""
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=YES
                            HIT/BASIC,<-0.027083,0.826575,-0.237231>,<0.0320139,-0.9770565,0.2105603>,<-0.027083,0.826575,-0.237231>
                            HIT/BASIC,<0.002443,0.826995,-0.237321>,<-0.0028872,-0.9775535,0.2106674>,<0.002443,0.826995,-0.237321>
                            HIT/BASIC,<-0.027067,0.819851,-0.265984>,<0.0319944,-0.9691091,0.2445483>,<-0.027067,0.819851,-0.265984>
                            HIT/BASIC,<-0.056576,0.825147,-0.236923>,<0.066876,-0.9753691,0.2101967>,<-0.056576,0.825147,-0.236923>
                            HIT/BASIC,<-0.027067,0.832291,-0.20826>,<0.0319944,-0.9838136,0.1763158>,<-0.027067,0.832291,-0.20826>
                          ENDMEAS/
              SPH2       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[2].I,MANSPH.HIT[2].J,MANSPH.HIT[2].K>,1.691969
                          ACTL/<-2.496308,1.028089,-1.991549>,<0.7613794,-0.3057607,0.5716745>,5.055587
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[2].I,MANSPH.HIT[2].J,MANSPH.HIT[2].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<1,0,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH3       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[3].I,MANSPH.HIT[3].J,MANSPH.HIT[3].K>,1.691969
                          ACTL/<-0.050559,-0.107439,-0.148726>,<0.4361737,0.7032461,0.5614245>,1.373509
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[3].I,MANSPH.HIT[3].J,MANSPH.HIT[3].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<1,0,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH4       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[4].I,MANSPH.HIT[4].J,MANSPH.HIT[4].K>,1.691969
                          ACTL/<0.056379,-0.050499,-0.104362>,<-0.4605054,0.6875343,0.5614547>,1.532345
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[4].I,MANSPH.HIT[4].J,MANSPH.HIT[4].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH5       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[5].I,MANSPH.HIT[5].J,MANSPH.HIT[5].K>,1.691969
                          ACTL/<7.135798,2.687696,-4.46165>,<-0.834471,-0.2881161,0.4697311>,15.963024
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[5].I,MANSPH.HIT[5].J,MANSPH.HIT[5].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH6       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[6].I,MANSPH.HIT[6].J,MANSPH.HIT[6].K>,1.691969
                          ACTL/<0.017483,0.094927,-0.156595>,<0.012817,-0.6880438,0.725556>,1.42626
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[6].I,MANSPH.HIT[6].J,MANSPH.HIT[6].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH7       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[7].I,MANSPH.HIT[7].J,MANSPH.HIT[7].K>,1.691969
                          ACTL/<0.163752,0.008013,-0.20942>,<-0.6880797,-0.0124641,0.7255281>,1.276082
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[7].I,MANSPH.HIT[7].J,MANSPH.HIT[7].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH8       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[8].I,MANSPH.HIT[8].J,MANSPH.HIT[8].K>,1.691969
                          ACTL/<0.019715,0.00417,-0.059551>,<-0.0125,0.6884325,0.7251927>,1.691969
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[8].I,MANSPH.HIT[8].J,MANSPH.HIT[8].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH9       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[9].I,MANSPH.HIT[9].J,MANSPH.HIT[9].K>,1.691969
                          ACTL/<-1.11941,3.978389,0.934024>,<0.6870074,0.0109189,0.7265683>,1.691969
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[9].I,MANSPH.HIT[9].J,MANSPH.HIT[9].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH10      =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[10].I,MANSPH.HIT[10].J,MANSPH.HIT[10].K>,1.691969
                          ACTL/<-1.11941,3.978389,0.934024>,<0.0049512,-0.4222157,0.9064819>,1.691969
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[10].I,MANSPH.HIT[10].J,MANSPH.HIT[10].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH11      =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[11].I,MANSPH.HIT[1].J,MANSPH.HIT[11].K>,1.691969
                          ACTL/<-1.11941,3.978389,0.934024>,<0.2678524,-0.6702977,0.6920665>,1.691969
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[11].I,MANSPH.HIT[1].J,MANSPH.HIT[11].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH12      =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                          THEO/<0,0,-0.0591>,<MANSPH.HIT[12].I,MANSPH.HIT[12].J,MANSPH.HIT[12].K>,1.691969
                          ACTL/<-1.11941,3.978389,0.934024>,<-0.3511612,0.2078967,0.9129429>,1.691969
                          TARG/<0,0,-0.0591>,<MANSPH.HIT[12].I,MANSPH.HIT[12].J,MANSPH.HIT[12].K>
                          START ANGLE 1=0,END ANG 1=360
                          START ANGLE 2=-90,END ANG 2=-88
                          ANGLE VEC=<0.9999978,0.0021179,0>
                          SHOW FEATURE PARAMETERS=NO
                          SHOW CONTACT PARAMETERS=YES
                            NUMHITS=5,NUMROWS=2
                            SAMPLE HITS=0
                            AVOIDANCE MOVE=NO,DISTANCE=0
                          SHOW HITS=NO
              SPH_PROF_SET=FEAT/SET,CARTESIAN
                          THEO/<0,0,-0.0591>,<0,0,1>
                          ACTL/<0.033511,1.779865,-0.308705>,<0,0,1>
                          CONSTR/SET,BASIC,SPH2,SPH3,SPH4,SPH5,SPH6,SPH7,SPH8,SPH9,SPH10,SPH11,SPH12,,

              Comment


              • #8
                If you want to measure the sphere with more precision, you should toss all of the manual hit vector references, and only use the xyz coords for your final sphere.
                Let PCDMIS automate vectors (somehow). that's the devil that's not in your details yet. I know what you need, but don't know how to get there.

                However, I bet JEFMAN has some fancy dot product assignment you can use to obtain the correct spherical vectors of any manual hit-based coordinate location. This maths == witchcraft for me.

                Comment


                • louisd
                  louisd commented
                  Editing a comment
                  or #8 would work
                  8/ Another way to create a vector, you can use MPOINT function : ASSIGN/V1=MPOINT(10,20,30) construct a point with coordinates <10,20,30> or a vector with the same components. Just to remember that coordinates of a point have the same values than components of a vector from origin to the point, so MPOINT can give a vector !!!
                  just change the 10,20,30 to "MANSPH.HIT[1].X, MANSPH.HIT[1].y,MANSPH.HIT[1].z"

                • Mike Ruff
                  Mike Ruff commented
                  Editing a comment
                  I think you could create some 3D lines from each manual hit to the center of the manual sphere and reference the vectors of those lines for each of the hits of the DCC sphere. Using the vector of the manual hit itself like it is currently set up to do is not going to be approaching normal to the surface.

                • zbailey
                  zbailey commented
                  Editing a comment
                  so it would essentially be using the line to articulate the alignment to place that location at the Z- or whatever so it can be articulated to that then? Is that what I am reading?

              • #9
                zbailey commented
                Today, 03:26 PM
                so it would essentially be using the line to articulate the alignment to place that location at the Z- or whatever so it can be articulated to that then? Is that what I am reading?
                Articulate in pc-dmis talk means probe angle change (articulation of the probe wrist).
                Are you rotating the probe angle to take these spherical hits? Your code doesn't say anything of the sort.

                Any of the methods described above will produce the theoretically perpendicular arrow projecting radially inwards towards your sphere centroid. Also known as the vector arrow.
                This vector arrow is defined by three values (IJK), and it defines the path that the probe will take until it collides with the part to take a hit.
                Defining accurate vectors (to ensure perpendicular probe-collision) prevents cosine error.
                Cosine error (as described via pythagorean theorem) occurs any time your probe does not hit the the part perfectly square to the surface.

                Comment


                • zbailey
                  zbailey commented
                  Editing a comment
                  no, all taken with a0b0.

              • #10
                I'm not at a seat of pcdmis, so here's pseudocode:

                Construct your manual sphere taking your 12 hits manually where you want the points to be located.
                Turn on mode/dcc
                Create a point for each probed hit by referencing your manual sphere hits like have already (this is theoretical, no need for additional cmm motion)
                Construct a 3d line, select one point you manually probed, then select the your manual sphere as point 2. (this is theoretical)
                Then, construct a sphere with 12 points (you can even copy/paste your manual sphere, just rename it).
                Change each hit's XYZ to reference your manual sphere's hit XYZ coordinates as you have already.
                Change each hit's IJK values to reference your lines that associate with the same 12 points (make sure you correlate hits!)
                runt he routine. The sphere you generate will have accurate vectors, and should accurately measure your profile.

                If not that means your manual sphere hits were so bad, the vectors weren't accurate enough.
                If you repeat this entirely within the routine, so you produce lines for each DCC sphere hit (two DCC spheres total), it should narrow the profile down with high enough accuracy.

                Comment


                • zbailey
                  zbailey commented
                  Editing a comment
                  issue is, im trying to take small spheres on each of those hit locations to get 5+ points on that location. even using this method it is still fighting with me and causing it to throw points off at the locations shown as the nominal locations of the hits, even though I have it pulling location from the measured. it makes no sense and its driving me crazy.

                  here is one of the alignments ive created to do this. the
                  Code:
                  ORIGIN     =FEAT/POINT,CARTESIAN,NO
                              THEO/<0,0,0>,<0,0,1>
                              ACTL/<0,0,0>,<-0.0000843,-0.0000563,1>
                              CONSTR/POINT,CAST,DAT_A
                  F1         =GENERIC/POINT,INDEPENDENT,CARTESIAN,$
                              NOM/XYZ,<DAT_A.HIT[1].X,DAT_A.HIT[1].Y,DAT_A.HIT[1].Z>,$
                              MEAS/XYZ,<DAT_A.HIT[1].X,DAT_A.HIT[1].Y,DAT_A.HIT[1].Z>,$
                              NOM/IJK,<DAT_A.HIT[1].I,DAT_A.HIT[1].J,DAT_A.HIT[1].K>,$
                              MEAS/IJK,<DAT_A.HIT[1].I,DAT_A.HIT[1].J,DAT_A.HIT[1].K>
                  ALIGN1     =FEAT/LINE,CARTESIAN,UNBOUNDED,YES
                              THEO/<0,0,0>,<0.8829456,0.0018702,-0.4694716>
                              ACTL/<0,0,0>,<0.0296072,0.8006443,-0.598408>
                              CONSTR/LINE,BF,3D,ORIGIN,F1,,
                              OUTLIER_REMOVAL/OFF,3
                              FILTER/OFF,WAVELENGTH=0
                  A1         =ALIGNMENT/START,RECALL:ABC,LIST=YES
                              ALIGNMENT/TRANS,XAXIS,DAT_A
                              ALIGNMENT/TRANS,YAXIS,DAT_A
                              ALIGNMENT/TRANS,ZAXIS,DAT_A
                              ALIGNMENT/LEVEL,ZPLUS,F1
                              ALIGNMENT/END
                              RECALL/ALIGNMENT,INTERNAL,ABC
                  
                  Here is the measurement of the sphere, which does not locate it to where it should be as per the alignment.  Z- is pointed directly at the constructed point so it should be contacting exactly where the point was taken but it isn't, its completely out of the spherical cup. 
                  
                   RECALL/ALIGNMENT,INTERNAL,A1
                              ASSIGN/V1=DAT_A.HIT[1]
                  SPH1       =FEAT/CONTACT/SPHERE/DEFAULT,CARTESIAN,IN,LEAST_SQR
                              THEO/<0,0,0>,<0,0,1>,1.691969
                              ACTL/<0,0,0>,<0,0,1>,1.691969
                              TARG/<0,0,0>,<0,0,1>
                              START ANGLE 1=0,END ANG 1=360
                              START ANGLE 2=-90,END ANG 2=-88
                              ANGLE VEC=<0.9996352,0.0004145,-0.0270048>
                              SHOW FEATURE PARAMETERS=YES
                                SURFACE=THEO_THICKNESS,0
                                MEASURE MODE=NOMINALS
                                RMEAS=NONE,NONE,NONE
                                AUTO WRIST=NO
                                GRAPHICAL ANALYSIS=NO
                                FEATURE LOCATOR=NO,NO,""
                              SHOW CONTACT PARAMETERS=YES
                                NUMHITS=5,NUMROWS=2
                                SAMPLE HITS=0
                                AVOIDANCE MOVE=NO,DISTANCE=0
                              SHOW HITS=NO

                • zbailey
                  zbailey commented
                  Editing a comment
                  the points are a full 2* or more off of the alignment. the points taken on the sphere manually mirror perfectly in DCC but this isn't even hitting in the same location. I am at a complete loss right now as to what is going on. if I use the point or line as the rotational control or as I did here (got the same results with both rotate and level, this was just the last attempt I did) the lines are correct but the point at a 0,0,1 vector isn't at all near where it needs to be. it makes no sense. if I shoot a constructed line through the origin in the z it hits dead on where the point was taken.

              • #11
                I believe I have solved it using vectors of the lines shot between origin and constructed points using the hit locations on dat_a. Im late leaving anyhow so I will run it tomorrow when I get in and see what happens.

                Comment


                • #12
                  Like the cavalry, I arrive a little late...
                  The problem of using hits of a sphere to create little portions of sphere around them is that the center of the sphere isn't the hit coordinates.
                  The sphere center doesn't change, only angles around the hits.
                  In this case, I would measure some circular planes around man hits, then create an BFRE sphere from planes hits.
                  If you origin the alignment on the manual sphere, you can :
                  ASSIGN/V1=SPH1.HIT[1].XYZ..........................coordinates of 1st hit
                  ASSIGN/V2=-UNIT(V1)......................................vect or of 1st hit (don't forget the minus because it's an inner sphere)
                  Then create a circular plane at V1.X,V1.Y and V1.Z, with V2.I,V2.J and V2.K as vector. If the plane diameter is a little important compared to the sphere radius, don't forget to increase prehit, to avoid crash.

                  louisd : no dot product here, nor witchcraft LOL !
                  Last edited by JEFMAN; 01-08-2020, 08:53 AM.

                  Comment


                  • zbailey
                    zbailey commented
                    Editing a comment
                    ill give this a shot if my current method doesn't work. I may need to redo the program because now when I go to take the scan later in the program it crashes every time. tried making them again and it still crashes so idk what happened. pcdemons strikes again it seems. currently I used an alignment using the constructed point using the hit locations for all 12. shot a line from there to the origin to get the vectors and its working as it should so far as I can tell. might need to redo the whole program if its bugged and crashes on scans now though lol.

                • #13
                  Yeah, sorry, I didn't understand that you wanted sample hits around each manual probed point. Jefman's suggestion to construct a plane for each manual hit location is brilliant.
                  More Pseudocode:
                  Autoplane: Make it go wherever on sphere at first (can't keyin formulas within autofeature window easily). Set plane pattern to circular, 4 or 5 hits/1 row with spacing as you desire (0.05" would make a 0.100" circle of hits around your manual sphere-defined vector location).
                  once your autoplane is created, within edit window replace THEO and TARGET values with the ASSIGN/V1 and ASSIGN V2= (NEGATIVE symbol) - UNIT(V1) format that Jefman provided.
                  Do this for each of the 12 manual hits (or you could start getting fancy with loops, but that further complicates things).

                  Then, construct a sphere and reference each plane's individual hit points as the hit data for the sphere. you can use assignments to help you with this as well.

                  Comment


                  • zbailey
                    zbailey commented
                    Editing a comment
                    the sphere has already been measured for everything but the profile, and 12 points doesn't seem like enough data for a spherical scan thus me trying this mess. I am working with CAD so feature construction is easy, but its just not doing what I wanted it to do lol.

                  • louisd
                    louisd commented
                    Editing a comment
                    You should be able to construct a BFRE sphere with just 5 minimum points.
                    My version (2018r1)of the demon doesn't have a "Spherical Scan" what exact feature is giving you a hard time?

                  • zbailey
                    zbailey commented
                    Editing a comment
                    We are currently running 2014 until we can convince them to let us install 2019r2 which was just validated internally. They want a profile of the ID of the sphere, the sphere is never the same part to part as customer specific mounting holes are drilled into the sphere to attach the part. This is the issue im having it that a 8-12 point sphere does fine for locating it but doesn't show nearly enough for a profile. I am trying to take points and add them into a feature set and profile it that way but it is fighting with me. As I said in the last post last night, I got it to work but for some reason it was retaining the hit locations from a prior run as I took the hits in the reverse order and it somehow decided to keep the old locations when the vector for the spheres were determined by a line constructed between a point on the sph and the dat_a center. The point was constructed correctly, and moved appropriately, but the spheres which pulled the vector from the line shot between them didn't want to move. It made no sense and I can only assume the program was bugged at this point as even the more senior programmers couldn't see why it wouldn't work as it should.

                • #14
                  well back to square one it seems. thought I had the solution and ran the part, the small spheres tracked to the location of the manual hits just fine the first time but something bugged in the program and it refuses to update to anything other than the initial input now. makes no sense but whatever, im going to try what JEFMAN recommended now seeing as DMIS just kicked me in the teeth yet again on this.

                  Comment

                  Related Topics

                  Collapse

                  Working...
                  X