Changing Alignment and legacy report

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

  • Changing Alignment and legacy report

    Hello guys,

    I am quite new to PCDMIS advanced programming.
    I am searching for solution for this case:

    I measure the part and do first legacy report for points deviations, then I change the alignment.
    I would like to do the same lagacy report with this new alignment without changing the dimensions ID which is linkedin legacy report.

    Is this possible?

    I have tried with copy-paste the dimensions below the new alignment but in legacy is readed only dimension from the first alignment. The second try was with subroutine but it does not work.

    Any suggestion?

  • #2
    If I read this correctly, you want to dimension something with a specific ID in one alignment and then dimension it again in new alignment with the same ID? If I am correct, then that is not possible. You need unique IDs for all features/alignments/dimensions.

    The only thing you can have multiples of and PC-DMIS not freak out is assignments. You can have a assignment named "Test" with a value of 2, then 10 lines down have an assignment named Test with a value of 8. The 10 gets cancelled out and 8 is the new value of "Test".

    Comment


    • #3
      Just rename it.

      Ex. DIM1
      reName as DIM1_NEW_ALN

      B&S CHAMELEON/PCDMIS CAD++ V2011

      There are no bugs, only "UNDOCUMENTED ENHANCEMENTS!"

      sigpic

      Comment


      • #4
        I would try this:

        1) Measure the features.
        2) Report dimensions using your "normal" alignment
        3) Save your "normal" alignment as an external alignment
        4) Send the XYZIJK data of the features you just reported to a notepad file
        5) Call up a subroutine that contains commands to :
        a) open the notepad file & use that info to populate generic features
        b) recall your "normal" alignment as an external alignment then offset it for the changes you need to create your "new" alignment
        c) while recalling "new" alignment report the generic features using the exact same dimension names as your base program. use the PCD printing commands to print from within the subroutine itself.

        Your situation is a major PITA and so is my above advise to execute lol. You want to keep the feature names the same but evaluate the same features twice Would be much easier if we could loop from within your original program but you'd have brackets on the names of half of your dimensional output.

        Hope this helped!
        SF7107(PCD), SF454(PCD), 152614(Quindos), 9159(Quindos), 7107(Quindos), B&S Manual, M&M Gear Checker

        Comment


        • #5
          Could you recall an alignment with { }? Where the alignment name is in the brackets and based on a variable it recalls a specific alignment before the dimensions.

          Code:
          IF/V1==0
          ASSIGN/ALIGNMENT1={PREDCC_ALN}
          END_IF/
          IF/V1==1
          ASSIGN/ALIGNMENT1={DCC_ALN}
          END_IF/
          RECALL/ALIGNMENT,INTERNAL,ALIGNMENT1
          DIM LOC1= LOCATION OF LINE LINE12 UNITS=MM ,$
          GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
          AX NOMINAL MEAS +TOL -TOL MAX MIN DEV OUTTOL
          X -39.0400 -39.0400 0.0500 0.0500 -39.0400 -39.0400 0.0000 0.0000 ---#----
          END OF DIMENSION LOC1

          Comment


          • #6
            bfire85 no I don't think you can recall alignments with a bracket. when i have to crunch stuff through multiple alignments I do this

            Code:
            ASSIGN/COUNT=0
            DO/
            ASSIGN/COUNT=COUNT+1
            SELECT/COUNT
            CASE/1
            RECALL/ALIGNMENT,EXTERNAL,A1
            SAVE/ALIGNMENT,CUR.aln,MACHINETOPARTS
            END_CASE/
            CASE/2
            RECALL/ALIGNMENT,EXTERNAL,A2
            SAVE/ALIGNMENT,CUR.aln,MACHINETOPARTS
            END_CASE/
            END_SELECT/
            RECALL/ALIGNMENT,INTERNAL,CUR
            DIM LOC1= LOCATION OF POINT PNT1 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC1
            DIM LOC2= LOCATION OF POINT PNT2 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC2
            DIM LOC3= LOCATION OF POINT PNT3 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC3
            DIM LOC4= LOCATION OF POINT PNT4 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC4
            DIM LOC5= LOCATION OF POINT PNT5 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC5
            DIM LOC6= LOCATION OF POINT PNT6 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC6
            DIM LOC7= LOCATION OF POINT PNT7 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC7
            DIM LOC8= LOCATION OF POINT PNT8 UNITS=IN ,$
            GRAPH=OFF TEXT=OFF MULT=10.00 OUTPUT=BOTH HALF ANGLE=NO
            AX NOMINAL +TOL -TOL MEAS DEV OUTTOL
            T 0.0000 0.0050 0.0050 0.0000 0.0000 0.0000 ----#----
            END OF DIMENSION LOC8
            UNTIL/COUNT=="2"
            And have another program where I create A1 and A2, recall it as a subroutine at the top of my main program so they exist when it gets down to the dimensional do loop
            SF7107(PCD), SF454(PCD), 152614(Quindos), 9159(Quindos), 7107(Quindos), B&S Manual, M&M Gear Checker

            Comment


            • #7
              DAN_M

              Yes, yours would work and might be the best route for OP. However, when I added the assignment into the recall alignment it asked if it was pertaining to the variable. I might have to test this out and post the results.

              Comment


              • #8
                Originally posted by bfire85 View Post
                DAN_M

                Yes, yours would work and might be the best route for OP. However, when I added the assignment into the recall alignment it asked if it was pertaining to the variable. I might have to test this out and post the results.
                Awesome if yours works thats really slick and easy
                SF7107(PCD), SF454(PCD), 152614(Quindos), 9159(Quindos), 7107(Quindos), B&S Manual, M&M Gear Checker

                Comment


                • #9
                  Code:
                  assign/counter=0
                  do/
                  assign/counter=counter+1
                  c1 =comment/yesno,no,full screen=no,auto-continue=no,
                  is nickelback a horrible band?
                  F1 =generic/point,dependent,cartesian,$
                  nom/xyz,<0,0,0>,$
                  meas/xyz,<0,0,0>,$
                  nom/ijk,<0,0,1>,$
                  meas/ijk,<0,0,1>
                  aln1 =alignment/start,recall:startup,list=yes
                  alignment/trans,xaxis,f1
                  alignment/trans,yaxis,f1
                  alignment/trans,zaxis,f1
                  alignment/end
                  aln2 =alignment/start,recall:startup,list=yes
                  alignment/trans,xaxis,f1
                  alignment/trans,yaxis,f1
                  alignment/trans,zaxis,f1
                  alignment/trans_offset,xaxis,0.5
                  alignment/end
                  while/c1.input=="yes"
                  assign/alignment={aln1}
                  goto/l1
                  end_while/
                  while/c1.input=="no"
                  assign/alignment={aln2}
                  goto/l1
                  end_while/
                  l1 =label/
                  recall/alignment,internal,alignment
                  comment/rept,
                  "is nickelback a horrible band? "+c1.input
                  dim loc1= location of point f1 units=mm ,$
                  graph=off text=off mult=10.00 output=both half angle=no
                  ax nominal meas +tol -tol dev outtol
                  x 0+0 -0.500 0.050 0.050 -0.500 0.450 <-------
                  y 0.000 0.000 0.050 0.050 0.000 0.000 ---#----
                  z 0.000 0.000 0.050 0.050 0.000 0.000 ---#----
                  end of dimension loc1
                  comment/rept,
                  .
                  Until/counter==2

                  Comment


                  • #10
                    look at this photograp...i mean..code. its great! bfire85
                    SF7107(PCD), SF454(PCD), 152614(Quindos), 9159(Quindos), 7107(Quindos), B&S Manual, M&M Gear Checker

                    Comment


                    • #11
                      DAN_M

                      Not sure why the text is lowercase above???

                      BRACKET_ALN_RECALL.jpg

                      Comment


                      • #12
                        Originally posted by bfire85 View Post
                        DAN_M

                        Not sure why the text is lowercase above???

                        BRACKET_ALN_RECALL.jpg
                        I was wondering how you did that lol, no idea my friend
                        SF7107(PCD), SF454(PCD), 152614(Quindos), 9159(Quindos), 7107(Quindos), B&S Manual, M&M Gear Checker

                        Comment


                        • #13
                          Originally posted by DAN_M View Post

                          I was wondering how you did that lol, no idea my friend
                          The While /EndWhile worked, however I could not get IF /ENDIF to work with this. I did not try CASE statements.

                          Comment

                          Related Topics

                          Collapse

                          Working...
                          X