Scripting

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

  • Scripting

    Alright folks, I'm getting there but not quite. So I have a very small area, and a callout of a position and this area is a Radius. Now I took 4 Polar Radius hits, and Created Assignment Shown below


    Code:
             ASSIGN/V1=(PNT46.PR+PNT47.PR+PNT1.PR+PNT48.PR)/4
    F1         =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
                NOM/XYZ,<0,0,0>,$
                MEAS/XYZ,<0,0,0>,$
                NOM/IJK,<0,0,1>,$
                MEAS/IJK,<0,0,1>,$
                RADIUS/6,V1
    Now my nominal is fine 0,0,0 center of the part. Can't create a constructed circle. Really crappy numbers. But I know I have have to create something based off of those points to fill in my measured results in that generic circle. need a little help here. Hope This is something easy. JEFMAN , bfire85 , AndersI

    suggestions?
    (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.

  • #2
    So you have an area, that is a circle, and you are using 4 polar points, getting the polar radius, and using the assignments to create a generic circle with the correct data?
    ---------
    As far as I've understood, the best way to use polar points is to measure a FIXED_RAD circle in the area in question, align XYZ to that, then take your 4 points.
    You can then use the center of the circle, polar radius of the points (or V1 in your case) and, if you want, a plane's IJK value or something.

    I don't see why you couldn't evaluate position from this.

    However, I haven't had my coffee today so I may be far off...

    EDIT: Why do you want to use a constructed circle to evaluate the position? Why not the generic?

    Comment


    • KIRBSTER269
      KIRBSTER269 commented
      Editing a comment
      my bad I thought you were talking in the drop down in auto feature

  • #3
    Originally posted by KIRBSTER269 View Post
    Alright folks, I'm getting there but not quite. So I have a very small area, and a callout of a position and this area is a Radius. Now I took 4 Polar Radius hits, and Created Assignment Shown below


    Code:
     ASSIGN/V1=(PNT46.PR+PNT47.PR+PNT1.PR+PNT48.PR)/4
    F1 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$
    NOM/XYZ,<0,0,0>,$
    MEAS/XYZ,<0,0,0>,$
    NOM/IJK,<0,0,1>,$
    MEAS/IJK,<0,0,1>,$
    RADIUS/6,V1
    Now my nominal is fine 0,0,0 center of the part. Can't create a constructed circle. Really crappy numbers. But I know I have have to create something based off of those points to fill in my measured results in that generic circle. need a little help here. Hope This is something easy. JEFMAN , bfire85 , AndersI

    suggestions?
    Out of those four hits, maybe construct a Fixed Radius circle using your V1 measurement as your diameter. Then your Fixed Radius X and Y measured location would be the location of F1.

    Something like this:

    Code:
    PNT1       =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
                THEO/<6,0,0>,<1,0,0>
                ACTL/<6,0,0>,<1,0,0>
                TARG/<6,0,0>,<1,0,0>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
    PNT2       =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
                THEO/<6,30,0>,<0.8660254,0.5,0>
                ACTL/<6,30,0>,<0.8660254,0.5,0>
                TARG/<6,30,0>,<0.8660254,0.5,0>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
    PNT3       =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
                THEO/<6,60,0>,<0.5,0.8660254,0>
                ACTL/<6,60,0>,<0.5,0.8660254,0>
                TARG/<6,60,0>,<0.5,0.8660254,0>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
    PNT4       =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
                THEO/<6,90,0>,<0,1,0>
                ACTL/<6,90,0>,<0,1,0>
                TARG/<6,90,0>,<0,1,0>
                SHOW FEATURE PARAMETERS=NO
                SHOW CONTACT PARAMETERS=NO
                ASSIGN/V1=((PNT1.PR+PNT2.PR+PNT3.PR+PNT4.PR)/4)*2
    CIR1       =FEAT/CIRCLE,CARTESIAN,IN,FIXED_RAD,YES
                THEO/<0+0,0+0,0+0>,<0,0,1>,V1
                ACTL/<0,0,0>,<0,0,1>,12
                CONSTR/CIRCLE,BF,2D,PNT1,PNT2,PNT3,PNT4,,
                OUTLIER_REMOVAL/OFF,3
                FILTER/OFF,UPR=0
    Last edited by bfire85; 01-03-2019, 01:18 PM.

    Comment


    • KIRBSTER269
      KIRBSTER269 commented
      Editing a comment
      Yeah I get that. Was just hoping that it could show up as a Radius because of the callout. Not a Big deal. Just trying to cheat the software.

    • bfire85
      bfire85 commented
      Editing a comment
      KIRBSTER269, Then cheat the software by creating a generic circle and using the data from CIR1 into the Generic Circle.

    • KIRBSTER269
      KIRBSTER269 commented
      Editing a comment
      Throw me a bone. How so? So I can report it in Xactmeasure

  • #4
    That's the solution bfire85 and InspectorJester thanks a bunch
    Last edited by KIRBSTER269; 01-03-2019, 01:30 PM.
    (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


    • #5
      KIRBSTER269 How many degrees are your PR hits from each other?

      Comment


      • KIRBSTER269
        KIRBSTER269 commented
        Editing a comment
        Maybe a degree or 2. Why?

      • bfire85
        bfire85 commented
        Editing a comment
        KIRBSTER269 Before you edited your post, you said it didn't work.

      • KIRBSTER269
        KIRBSTER269 commented
        Editing a comment
        Yeah I thought that Inspector was talking about auto circle with the drop down for FIXED_RAD instead of default Least_Square POST #2.1 that wouldn't work
        Last edited by KIRBSTER269; 01-03-2019, 02:40 PM.

    • #6
      This be my Surface. bfire85

      Capture1.JPG
      (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


      • #7
        The answer to my question was bfire85 result in POST#3. Thank you. You were right to InspectorJester . Thank you
        (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


        • #8
          Originally posted by bfire85 View Post

          Out of those four hits, maybe construct a Fixed Radius circle using your V1 measurement as your diameter. Then your Fixed Radius X and Y measured location would be the location of F1.

          Something like this:

          Code:
          PNT1 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
          THEO/<6,0,0>,<1,0,0>
          ACTL/<6,0,0>,<1,0,0>
          TARG/<6,0,0>,<1,0,0>
          SHOW FEATURE PARAMETERS=NO
          SHOW CONTACT PARAMETERS=NO
          PNT2 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
          THEO/<6,30,0>,<0.8660254,0.5,0>
          ACTL/<6,30,0>,<0.8660254,0.5,0>
          TARG/<6,30,0>,<0.8660254,0.5,0>
          SHOW FEATURE PARAMETERS=NO
          SHOW CONTACT PARAMETERS=NO
          PNT3 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
          THEO/<6,60,0>,<0.5,0.8660254,0>
          ACTL/<6,60,0>,<0.5,0.8660254,0>
          TARG/<6,60,0>,<0.5,0.8660254,0>
          SHOW FEATURE PARAMETERS=NO
          SHOW CONTACT PARAMETERS=NO
          PNT4 =FEAT/CONTACT/VECTOR POINT/DEFAULT,POLAR
          THEO/<6,90,0>,<0,1,0>
          ACTL/<6,90,0>,<0,1,0>
          TARG/<6,90,0>,<0,1,0>
          SHOW FEATURE PARAMETERS=NO
          SHOW CONTACT PARAMETERS=NO
          ASSIGN/V1=((PNT1.PR+PNT2.PR+PNT3.PR+PNT4.PR)/4)*2
          CIR1 =FEAT/CIRCLE,CARTESIAN,OUT,FIXED_RAD,YES
          THEO/<0+0,0+0,0+0>,<0,0,1>,V1
          ACTL/<0,0,0>,<0,0,1>,12
          CONSTR/CIRCLE,BF,2D,PNT1,PNT2,PNT3,PNT4,,
          OUTLIER_REMOVAL/OFF,3
          FILTER/OFF,UPR=0
          F1 =GENERIC/CIRCLE,DEPENDENT,CARTESIAN,OUT,$            
          NOM/XYZ,<0+0,0+0,0+0>,$            
          MEAS/XYZ,<CIR1.X,CIR1.Y,0+0>,$            
          NOM/IJK,<0,0,1>,$            
          MEAS/IJK,<0,0,1>,$            
          RADIUS/6,CIR1.R
          KIRBSTER269 See above in Red.

          Comment


          • bfire85
            bfire85 commented
            Editing a comment
            Glad to help! Great to see you are still hanging around the forums! Good luck in the playoffs!

          • KIRBSTER269
            KIRBSTER269 commented
            Editing a comment
            I walked into kinda of a disaster. Trying to clean up some very crappy programs, I'm on my 3rd broom. Wore the bristles out of other 2.

          • InspectorJester
            InspectorJester commented
            Editing a comment
            Best of luck KIRBSTER269

        • #9
          Too late for me
          Have a good afternnon !

          Comment


          • KIRBSTER269
            KIRBSTER269 commented
            Editing a comment
            I appreciate you just chiming in Jeffery

        • #10
          Here's something I've developed about a year ago and only use it here and there. Basically tests all values to see if they're in tolerance, for example say 2/3 points are in tolerance but that 1 is out.... averaging the measured results won't flag that one value to be out of tolerance (OOT) instead an average will be reported. Bit of an extreme example, it doesn't really apply with your scenario, but it's possible.

          It's a sub program...
          Code:
          $$ NO,
                        _____________________________________________________________________________________________
          
                                       Find the Greatest OOT value or if all in TOL, return average.
                        _____________________________________________________________________________________________
          
                        SUBROUTINE/GREATESTOOTORAVR,
                            VALALL =  : ARRAY INPUT; HOLDS VALUES TO BE PROCESSED,
                            TNOM =  : INPUT; NOMINAL TARGET,
                            TTOL =  : INPUT; NOMINAL'S TOLERANCE,
                            IOUTPUT =  : OUTPUT; GREATEST OOT VALUE OR AVR OF IN TOL VALUES,
                             =
                        ASSIGN/IOUTPUT=0
                        ASSIGN/AVRARRAY=FUNCTION((X),SUM(X)/LEN(X))
                        ASSIGN/MYFN=FUNCTION((H,J,G), H<=(J-G) OR H>=(J+G))
                        ASSIGN/FLIPVEC=FUNCTION((X),IF(X<0,X*(-1),X))
                        ASSIGN/VALFROMNOM=FUNCTION((X,Y),X-Y)
                        ASSIGN/H=FLIPVEC(VALFROMNOM(TNOM,VALALL[MAXINDEX(VALALL)]))
                        ASSIGN/C=FLIPVEC(VALFROMNOM(TNOM,VALALL[MININDEX(VALALL)]))
            $$ NO,
          
                        IF/MYFN(VALALL[MAXINDEX(VALALL)],TNOM,TTOL) OR MYFN(VALALL[MININDEX(VALALL)],TNOM,TTOL)
                          IF/H>C
                            ASSIGN/IOUTPUT=VALALL[MAXINDEX(VALALL)]
                          END_IF/
                          ELSE/
                            ASSIGN/IOUTPUT=VALALL[MININDEX(VALALL)]
                          END_ELSE/
                        END_IF/
                        ELSE/
                          ASSIGN/IOUTPUT=AVRARRAY(VALALL)
                        END_ELSE/
                        ENDSUB/
          PcDmis 2015.1 SP10 CAD++
          Global 7-10-7 DC800S

          Comment


          • Kp61dude!
            Kp61dude! commented
            Editing a comment
            It returns the worst OOT out of all inputs or if none are OOT it returns the average of all inputs.

            With a single feature it wouldn't work as you explain. A single feature has a single value (different depending on fit math). You could origin on that circle and send each hit as ARRAY(CIR1.HIT[1].PR, CIR1.HIT[2].PR,CIR1.HIT[3].PR,...) and it would return a value....
            Last edited by Kp61dude!; 01-09-2019, 09:48 AM.

          • InspectorJester
            InspectorJester commented
            Editing a comment
            Apologies; I meant to imply the array of hits as you describe. Excellent

          • Kp61dude!
            Kp61dude! commented
            Editing a comment
            Gotcha InspectorJester test it out and report back.

        • #11
          Hey bfire85 were you aware that if you click on the diameter symbol in Xact that you can choose R for Radius? Accidently came across this.

          Capture.JPG
          (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


          • bfire85
            bfire85 commented
            Editing a comment
            Unaware of this! Great find!

        • #12
          Not yet in ISO1101 (2017) nor ISO5458 (2018)... Only ASME ?

          Comment


          • JEFMAN
            JEFMAN commented
            Editing a comment
            AndersI : right, that's what I meant...

          • KIRBSTER269
            KIRBSTER269 commented
            Editing a comment
            Oh sorry about that Jeffery for the misunderstanding, d_am_n you and your bad English kidding Jeffery kidding

          • JEFMAN
            JEFMAN commented
            Editing a comment
            KIRBSTER269 : you could say "very bad english" , it wouldn't be so false

        Related Topics

        Collapse

        Working...
        X