Parametric Programming?

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

  • Parametric Programming?

    Anyone have experience with parametric programming and the expected efficiency if any?
    Global Advantage 12-15-10 PH10MQ SP600M V4.2MR3 CAD++

  • #2
    This a term usually associated w/ cnc g-code. Are you talking about PCDMIS variables? Depending on what you need sometimes they are your only option.
    sigpic 1.61803399Δ
    ASSIMILATE INTERGRATE SYNTHESIZE

    Comment


    • #3
      Originally posted by slesholdofthreep View Post
      This a term usually associated w/ cnc g-code. Are you talking about PCDMIS variables? Depending on what you need sometimes they are your only option.
      Parametric as in one program to run a similar family of parts picking variables from a spread sheet.
      Global Advantage 12-15-10 PH10MQ SP600M V4.2MR3 CAD++

      Comment


      • #4
        Yes it can be done but your question can't really be answered as it depends heavily on part configuration. J has had some issues with movepoints, you'll have to do some extra coding there to work around that. But is is completely doable and it is likely you will bennefit from it but like I say it is part configuration dependant.

        Do you plan on storing your variables in a sreadsheet, database, or text file? If you want PCDMIS to pull direct text is probably the way to go but if PCDMIS can read from a database I'd like to see it, that would be cool.
        <internet bumper sticker goes here>

        Comment


        • #5
          Originally posted by benj118 View Post
          Anyone have experience with parametric programming and the expected efficiency if any?
          It works ok, PCDMIS is inefficient at the task. As Craig pointed out, you will have to program your move points with variables because the move relative is weak in pcdmis.

          You cant embed a front end, you will have to employ an external selection tool unless you want a simple "Enter 1 for partA, 2 for partB, etc..."

          Because of the changing nominals in pcdmis, I use alot of variables in my programs for nominals.
          Links to my utilities for PCDMIS

          Comment


          • #6
            We have a huge parametric program in MM4 which at some stage I need to convert to the demon.

            I have not had a chance to really look into it but initial thoughts were to have a custom application which does all the "clever" stuff and just having the demon to read in the required data via text file, assigning to variables and running. This will work but more than likely require a fair bit of effort, will be worth it in the end tho.

            I would be interested in seeing what you come up with............
            sigpic

            Comment


            • #7
              Originally posted by cmmguy View Post
              Because of the changing nominals in pcdmis, I use alot of variables in my programs for nominals.
              I hate that. I have ran into many cases of variables turning into literals not only in features and dimensions but in comments as well. It drives me nuts. Alas though we don't really need code, let alone code that works. Just buttons and cad models should do.

              From what I have heard from others MM4 has the leg up on parametric programming. But MM4 is code intense and code is so yesterday.
              <internet bumper sticker goes here>

              Comment


              • #8
                Agree 100% with you there craiger, MM4 is as robust as it gets, no bugs, never falls over, great for parametrics, super fast but who the **** understands Unix....certainly not I.

                Cant wait to start converting it to the demon, crash, bang, wallop springs to mind
                sigpic

                Comment


                • #9
                  Originally posted by jon_dav_uk View Post
                  We have a huge parametric program in MM4 which at some stage I need to convert to the demon.

                  I have not had a chance to really look into it but initial thoughts were to have a custom application which does all the "clever" stuff and just having the demon to read in the required data via text file, assigning to variables and running. This will work but more than likely require a fair bit of effort, will be worth it in the end tho.

                  I would be interested in seeing what you come up with............
                  FYI there is an MM4 module that you can buy for DMIS and it will run your MM$ programs. Apparently when you open this module it opens a new window that looks just like MM4 so you in essence run MM4 through PC-DMIS.
                  sigpic

                  James Mannes

                  Comment


                  • #10
                    Originally posted by JamesMannes View Post
                    FYI there is an MM4 module that you can buy for DMIS and it will run your MM$ programs. Apparently when you open this module it opens a new window that looks just like MM4 so you in essence run MM4 through PC-DMIS.
                    Doesnt it just shell mm4??
                    Links to my utilities for PCDMIS

                    Comment


                    • #11
                      Yeah we have the MM4 emulator which runs ok which is why I have not had an urgent request to convert to PC Dmis.

                      At some stage though we need to convert across as the additional functionality / flexibility and better reports in PC Dmis etc will be a big help. I also have a horrible feeling that at some stage, the whole MM4 thing will simply stop working (maybe I am just a pessimist) and with no support anymore, this would leave us deep in the ****.

                      EDIT: - Yep it does just shell MM4 cmmguy
                      sigpic

                      Comment


                      • #12
                        Actually there is still some un-official MM4 support from B&S. Some of the older AE still help with the issues but not on a regular basis. We still use MM4 supplied programs and I had a problemarise that I could not fix and the customer's programmer had no idea eother so I sent the program to B&S and they found the issue within a day.
                        Xcel & MicroVal Pfx & Global 37mr4 thru 2012mr1sp3
                        Contura Calypso 5.4

                        Lord, keep Your arm around my shoulder and Your hand over my mouth. Amen.

                        Comment


                        • #13
                          Thats good to know, I have a few contacts at Hexagon who are ex-MM4 guru's who I have always suspected might help out but nothing official
                          sigpic

                          Comment


                          • #14
                            Thanks for all of the replies, I have added some of the code for the start of a basic parametric program below as an example. I guess what I am really after if anyone has used and programmed with parametric programming and any advantage you found? (Some of the code below was written with scanning with an SP600 head)




                            RECALL/ALIGNMENT,EXTERNAL,a6_sm,A6LINK FIXT:a6_sm
                            LOADPROBE/PROBE6
                            TIP/T1A0B0, SHANKIJK=0.005, -1, 0.021, ANGLE=-0.274
                            MOVE/POINT,NORMAL,-33,-6,178
                            ASSIGN/PART_NUMBER = 6I9239
                            CS4 =SCRIPT/FILENAME= C:\CMM\PROGRAMS_ PROVEN\LINK_SCANNED\MACHINED_SCAN.BAS
                            FUNCTION/CallExcel,SHOW=YES,,
                            STARTSCRIPT/
                            ENDSCRIPT/
                            ASSIGN/H1X = -30.5
                            ASSIGN/H1Y = -1
                            ASSIGN/H1Z = 139.9
                            ASSIGN/H1I = 0
                            ASSIGN/H1J = 0
                            ASSIGN/H1K = 1
                            ASSIGN/H1DIA = 23.22
                            H1 =AUTO/CIRCLE,SHOWALLPARAMS = YES,SHOWHITS = NO
                            THEO/H1X,H1Y,H1Z,H1I,H1J,H1K,H1DIA
                            ACTL/-32.423,-2.254,139.655,0,0,1,23.201
                            TARG/H1X,H1Y,H1Z,H1I,H1J,H1K
                            THEO_THICKNESS = 0,RECT,IN,STRAIGHT,LEAST_SQR,ONERROR = NO,$
                            AUTO MOVE = BOTH,DISTANCE = 10,RMEAS = None,None,None,$
                            READ POS = NO,FIND HOLE = CENTER,REMEASURE = NO,$
                            NUMHITS = 3,INIT = 1,PERM = 1,SPACER = 5,PITCH = 0,$
                            START ANG = 0,END ANG = 0,DEPTH = 5,$
                            VOID DETECT = NO,$
                            ANGLE VEC = 0.9999858,0,-0.0053253
                            XYZ_ORIGIN =ALIGNMENT/START,RECALL:A6LINK FIXT:a6_sm,LIST=YES
                            ALIGNMENT/TRANS,XAXIS,H1
                            ALIGNMENT/TRANS,YAXIS,H1
                            ALIGNMENT/TRANS,ZAXIS,H1
                            ALIGNMENT/END
                            ASSIGN/H2X = 63
                            ASSIGN/H2Y = -29
                            ASSIGN/H2Z = 0
                            ASSIGN/H2I = 0
                            ASSIGN/H2J = 0
                            ASSIGN/H2K = 1
                            ASSIGN/H2DIA = 23.22
                            H2 =AUTO/CIRCLE,SHOWALLPARAMS = YES,SHOWHITS = NO
                            THEO/H2X,H2Y,H2Z,H2I,H2J,H2K,H2DIA
                            ACTL/63.153,-28.849,0,0,0,1,23.187
                            TARG/H2X,H2Y,H2Z,H2I,H2J,H2K
                            THEO_THICKNESS = 0,RECT,IN,STRAIGHT,LEAST_SQR,ONERROR = NO,$
                            AUTO MOVE = BOTH,DISTANCE = 10,RMEAS = None,None,None,$
                            READ POS = NO,FIND HOLE = DISABLED,REMEASURE = NO,$
                            NUMHITS = 5,INIT = 3,PERM = 0,SPACER = 5,PITCH = 0,$
                            START ANG = 0,END ANG = 0,DEPTH = 5,$
                            VOID DETECT = NO,$
                            ANGLE VEC = 0.9999858,0,-0.0053253
                            SHFACEPNT1 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H2X+(H2DIA*.7),H2Y,H2Z,H2I,H2J,H2K
                            ACTL/79.253,-29.001,-0.059,0,0,1
                            TARG/H2X+(H2DIA*.7),H2Y,H2Z,H2I,H2J,H2K
                            SHFACEPNT2 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H2X,H2Y+(H2DIA*.7),H2Z,H2I,H2J,H2K
                            ACTL/62.999,-12.745,-0.124,0,0,1
                            TARG/H2X,H2Y+(H2DIA*.7),H2Z,H2I,H2J,H2K
                            SHFACEPNT3 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H2X-(H2DIA*.7),H2Y,H2Z,H2I,H2J,H2K
                            ACTL/46.746,-29.002,0.09,0,0,1
                            TARG/H2X-(H2DIA*.7),H2Y,H2Z,H2I,H2J,H2K
                            SHFACEPNT4 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H2X,H2Y-(H2DIA*.7),H2Z,H2I,H2J,H2K
                            ACTL/62.998,-45.253,0.151,0,0,1
                            TARG/H2X,H2Y-(H2DIA*.7),H2Z,H2I,H2J,H2K
                            SHFACEPNT5 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H1.X+(H1DIA*.7),H1.Y,H1.Z,H1I,H1J,H1K
                            ACTL/16.252,0.004,0,0,0,1
                            TARG/H1.X+(H1DIA*.7),H1.Y,H1.Z,H1I,H1J,H1K
                            SHFACEPNT6 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H1.X,(H1.Y+H1DIA*.7),H2.Z,H1I,H1J,H1K
                            ACTL/-0.001,16.255,-0.059,0,0,1
                            TARG/H1.X,(H1.Y+H1DIA*.7),H2.Z,H1I,H1J,H1K
                            SHFACEPNT7 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H1.X-(H1DIA*.7),H1.Y,H1.Z,H1I,H1J,H1K
                            ACTL/-16.258,-0.002,0.155,0,0,1
                            TARG/H1.X-(H1DIA*.7),H1.Y,H1.Z,H1I,H1J,H1K
                            SHFACEPNT8 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/H1.X,H1.Y-(H1DIA*.7),H1.Z,H1I,H1J,H1K
                            ACTL/-0.002,-16.256,0.208,0,0,1
                            TARG/H1.X,H1.Y-(H1DIA*.7),H1.Z,H1I,H1J,H1K
                            SHOE_FACE_PLN=FEAT/PLANE,RECT,TRIANGLE
                            THEO/31.5,-14.5,0,0,0,1
                            ACTL/31.498,-14.5,0.045,0.004779,0.0082854,0.9999543
                            CONSTR/PLANE,BF,SHFACEPNT1,SHFACEPNT2,SHFACEPNT3,SHFACEPN T4,SHFACEPNT5,SHFACEPNT6,SHFACEPNT7,SHFACEPNT8,,
                            OUTLIER_REMOVAL/OFF,3
                            FILTER/OFF,WAVELENGTH=0
                            ASSIGN/LIN_OS1 = 0
                            ASSIGN/LIN_OS2 = 29
                            LIN1 =FEAT/LINE,RECT,UNBND
                            THEO/0,0,0,1,0,0
                            ACTL/0,0,0,0.9999972,0.0023851,0
                            CONSTR/LINE,OFFSET
                            SURFACE NORMAL = 0,0,1,MULTI POINT
                            ID = H1,H2,,
                            OFFSET = LIN_OS1,LIN_OS2
                            TEMP_LOCATION=ALIGNMENT/START,RECALL:XYZ_ORIGIN,LIST=YES
                            ALIGNMENT/LEVEL,ZPLUS,SHOE_FACE_PLN
                            ALIGNMENT/TRANS,ZAXIS,SHOE_FACE_PLN
                            ALIGNMENT/TRANS,XAXIS,H1
                            ALIGNMENT/TRANS,YAXIS,H1
                            ALIGNMENT/ROTATE,XPLUS,TO,LIN1,ABOUT,ZPLUS
                            ALIGNMENT/END
                            MOVE/POINT,NORMAL,H1.X,H1.Y,H1.Z+100
                            TIP/T1A90B180, SHANKIJK=-0.002, -1, -0.022, ANGLE=-179.776
                            MOVE/POINT,NORMAL,H1.X,H1.Y-100,H1.Z
                            PREHIT/ 6
                            RETRACT/ 6
                            ASSIGN/X1_X = -58
                            ASSIGN/X1_Y = -15.96
                            ASSIGN/X1_Z = -11
                            ASSIGN/X1_I = 0
                            ASSIGN/X1_J = -1
                            ASSIGN/X1_K = 0
                            X1 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/X1_X,X1_Y,X1_Z,X1_I,X1_J,X1_K
                            ACTL/-57.993,-16.125,-11.005,0,-1,0
                            TARG/X1_X,X1_Y,X1_Z,X1_I,X1_J,X1_K
                            ASSIGN/X2_X = -52.3
                            ASSIGN/X2_Y = -23.46
                            ASSIGN/X2_Z = -126.8
                            ASSIGN/X2_I = 0
                            ASSIGN/X2_J = -1
                            ASSIGN/X2_K = 0
                            X2 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/X2_X,X2_Y,X2_Z,X2_I,X2_J,X2_K
                            ACTL/-52.293,-23.387,-126.801,0,-1,0
                            TARG/X2_X,X2_Y,X2_Z,X2_I,X2_J,X2_K
                            ASSIGN/X3_X = 188
                            ASSIGN/X3_Y = -53.46
                            ASSIGN/X3_Z = -58.5
                            ASSIGN/X3_I = 0
                            ASSIGN/X3_J = -1
                            ASSIGN/X3_K = 0
                            MOVE/POINT,NORMAL,X2_X,(X2_Y-25),X2_Z
                            MOVE/POINT,NORMAL,-77,-169,-54
                            MOVE/POINT,NORMAL,183,-170,-55
                            ASSIGN/X3_X = 188
                            ASSIGN/X3_Y = -53.46
                            ASSIGN/X3_Z = -58.5
                            ASSIGN/X3_I = 0
                            ASSIGN/X3_J = -1
                            ASSIGN/X3_K = 0
                            X3 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/X3_X,X3_Y,X3_Z,X3_I,X3_J,X3_K
                            ACTL/188.019,-53.328,-58.497,0,-1,0
                            TARG/X3_X,X3_Y,X3_Z,X3_I,X3_J,X3_K
                            MOVE/POINT,NORMAL,190,-115,169
                            TIP/T1A90B0, SHANKIJK=0.002, 1, 0.022, ANGLE=179.776
                            MOVE/POINT,NORMAL,189.749,45.653,57.145
                            MOVE/POINT,NORMAL,190.285,46.69,-62.432
                            ASSIGN/A3_X = 188
                            ASSIGN/A3_Y = -17.46
                            ASSIGN/A3_Z = -58.5
                            ASSIGN/A3_I = 0
                            ASSIGN/A3_J = 1
                            ASSIGN/A3_K = 0
                            ASSIGN/A3_OFF =
                            A3 =AUTO/VECTOR POINT,SHOWALLPARAMS = NO
                            THEO/A3_X,A3_Y,A3_Z,A3_I,A3_J,A3_K
                            ACTL/187.998,-17.128,-58.504,0,1,0
                            TARG/A3_X,A3_Y,A3_Z,A3_I,A3_J,A3_K
                            ASSIGN/X1OFF = 0
                            ASSIGN/X2OFF = -7.5
                            ASSIGN/X3OFF = -37.5
                            DAT_X_PLN =FEAT/PLANE,RECT,TRIANGLE
                            THEO/25.9,-15.96,-65.433,0,-1,0
                            ACTL/25.898,-15.946,-65.404,0.0008184,-0.9999976,-0.0020152
                            CONSTR/PLANE,OFFSET
                            ID = X1,X2,X3,,
                            OFFSET = X1OFF,X2OFF,X3OFF
                            DATDEF/FEATURE=DAT_X_PLN,DATUM=X
                            Global Advantage 12-15-10 PH10MQ SP600M V4.2MR3 CAD++

                            Comment


                            • #15
                              Sometimes PCDMIS doesnt recognise a variable if you just cut and paste. if you have a sitch that doesnt seem right, check the values of the variables.

                              You are on the right track. I usually assign all the variables at the beginning of the program. It seems easier to manage feature rearrangement. less errors.
                              Links to my utilities for PCDMIS

                              Comment

                              Related Topics

                              Collapse

                              Working...
                              X