hexagon logo

Newb question: Understanding DMIS language and common logic, format etc

I'm a darn good CNC programmer or so I've been told but now I must learn instead of how to speak NC machine language to speak the dmis language. Right now if I was in the land of dmis I wouldn't know how to ask where the restroom was. I can see that on the front end of dmis...the gui side...its a lot of drag and drop so to say with things and behind that sits the code that I have to learn. Now...I have an encyclopedia of dmis commands-codes. I know that just like NC code, some of the codes are used all the time, some almost all of the time, and some rarely. This is where I want to start...getting a handle on the commonality of the commands. I need a heads up on common newb pitfalls to avoid. Proper (or the more common) format and logical layout for sure.

Links to tutorial videos would be good. Links to sample programs that have descriptions of what this and that do would be very appreciated too. Cheat sheets!!! Man...do I need all the cheat sheets that I can get.

Thanks a lot in advance folks. I hope that this is the beginning of a not too painful experience....Slight smile

My email is daniel@daniel-mickey.com so please fill my inbox with any helpful goodies!!
Parents
  • I'm a darn good CNC programmer or so I've been told but now I must learn instead of how to speak NC machine language to speak the dmis language. Right now if I was in the land of dmis I wouldn't know how to ask where the restroom was. I can see that on the front end of dmis...the gui side...its a lot of drag and drop so to say with things and behind that sits the code that I have to learn. Now...I have an encyclopedia of dmis commands-codes. I know that just like NC code, some of the codes are used all the time, some almost all of the time, and some rarely. This is where I want to start...getting a handle on the commonality of the commands. I need a heads up on common newb pitfalls to avoid. Proper (or the more common) format and logical layout for sure.

    Links to tutorial videos would be good. Links to sample programs that have descriptions of what this and that do would be very appreciated too. Cheat sheets!!! Man...do I need all the cheat sheets that I can get.

    Thanks a lot in advance folks. I hope that this is the beginning of a not too painful experience....Slight smile

    My email is daniel@daniel-mickey.com so please fill my inbox with any helpful goodies!!



    Hello and welcome to the forum!
    Full disclosure: I work for Hexagon. I also teach the training classes. I also have a bit of CNC experience, enough to speak the language.
    I'll give you some advice, but first I have to lay down some ground rules:

    1) This post and this entire forum are for advice, not training. You really do need to come to the Level 1 training. It's a 1-week class where we try to cram 2 years of experience into your head.

    2) You need to sit down with The Powers That Be who assigned you to the CMM and explain to them that the cost of the class is pennies compared to the costs of shipping bad parts, scrapping good parts, and crashing the CMM - all of which are regular occurences among un-trained CMM jockeys. We see this all the time. Did they take the floor sweeper or office flunkie and throw them on the CNC without training? Nope, and the CMM is the same way.

    OK,
    The most important thing to wrap your head around is this:
    On a CNC, the XYZ coordinate space is firmly locked into place by large chunks of steel and expensive bearings.
    The only thing you can change about it is the zero point for each axis, right?
    On a CMM we decide the orientation of the XYZ coordinate space. We will spin it any way we need to, and we need to spin it to match the needs of the part being checked. Also we can put the zero point anywhere, even outside the working space. We call this "alignment' and it is the single most important aspect of CMM work.

    Think about a mill and a block of metal.
    What's step 1? Clean the chips off the table and stone the bottom of the block. Why? Because all horizontal motion must be parallel to that table and block bottom, all vertical motion must be perpendicular to the table and bottom, and if it's crooked then our cuts are crooked and our work is scrap.
    Step 2? Run your indicator along the master edge of the block and tap it with a deadblow hammer to true it up parallel to machine travel. Why? Because all horizontal motion must be not-crooked to that master edge.
    Step 3 is running your edge finder on the zero corner of course.
    And when you're done cutting and take the finished part to a granite plate to check it with a height gage, you set it up with the master edge and zero corner on the granite to check your work.

    We do the same thing with the CMM.
    We "Level" to the master flat surface of the workpiece as step 1.
    We "Rotate" to the master edge as step 2.
    We "Origin" to set our zero point as step 3.
    Then we run the probe back and forth, up and down, watching the digital XYZ readout to make sure we did it right. That's alignment.

    But before you can even begin any of that, you need to know how to calibrate a probe. Without calibration a CMM is a random number generator, not a measuring device.

    The next important thing is unique to PC-DMIS.
    This code is not text. You can copy it and paste it to text, but you can't paste it back into PC-DMIS. The code on the screen it is a live interface that takes every input you make and instantly calculates it's ramifications. You can fix or ruin an entire program with a couple of clicks.
    Also the code is not lines of text, it's actually a grid of fields. Each block of code contains a number of fields, some of which you can edit and others you cannot. You can edit them live on the screen, or right-click on the code block and choose "Edit" to access a more user-friendly dialog box for that item.
    Where you put your cursor on the screen determines the "current" state of the program. Put it before a chunck of code and the machine thinks that code is in the future and has not happened yet. Put the cursor after that chunk of code and now the machine has it in it's memory.
    PC-DMIS is based on the DMIS standard for measuring devices but is far more expansive and complex, with many neat and helpful additions. However it is NOT straight DMIS language. That book you have won't help you write PC-DMIS programs very much. For that you need to explore the drop-down menus that allow you to create lines and blocks of code. It's 99% canned routines that you put into place with their details edited to suit your instance. Very little is typed in by hand, although that can be a shortcut.

    So to begin, go to training.
Reply
  • I'm a darn good CNC programmer or so I've been told but now I must learn instead of how to speak NC machine language to speak the dmis language. Right now if I was in the land of dmis I wouldn't know how to ask where the restroom was. I can see that on the front end of dmis...the gui side...its a lot of drag and drop so to say with things and behind that sits the code that I have to learn. Now...I have an encyclopedia of dmis commands-codes. I know that just like NC code, some of the codes are used all the time, some almost all of the time, and some rarely. This is where I want to start...getting a handle on the commonality of the commands. I need a heads up on common newb pitfalls to avoid. Proper (or the more common) format and logical layout for sure.

    Links to tutorial videos would be good. Links to sample programs that have descriptions of what this and that do would be very appreciated too. Cheat sheets!!! Man...do I need all the cheat sheets that I can get.

    Thanks a lot in advance folks. I hope that this is the beginning of a not too painful experience....Slight smile

    My email is daniel@daniel-mickey.com so please fill my inbox with any helpful goodies!!



    Hello and welcome to the forum!
    Full disclosure: I work for Hexagon. I also teach the training classes. I also have a bit of CNC experience, enough to speak the language.
    I'll give you some advice, but first I have to lay down some ground rules:

    1) This post and this entire forum are for advice, not training. You really do need to come to the Level 1 training. It's a 1-week class where we try to cram 2 years of experience into your head.

    2) You need to sit down with The Powers That Be who assigned you to the CMM and explain to them that the cost of the class is pennies compared to the costs of shipping bad parts, scrapping good parts, and crashing the CMM - all of which are regular occurences among un-trained CMM jockeys. We see this all the time. Did they take the floor sweeper or office flunkie and throw them on the CNC without training? Nope, and the CMM is the same way.

    OK,
    The most important thing to wrap your head around is this:
    On a CNC, the XYZ coordinate space is firmly locked into place by large chunks of steel and expensive bearings.
    The only thing you can change about it is the zero point for each axis, right?
    On a CMM we decide the orientation of the XYZ coordinate space. We will spin it any way we need to, and we need to spin it to match the needs of the part being checked. Also we can put the zero point anywhere, even outside the working space. We call this "alignment' and it is the single most important aspect of CMM work.

    Think about a mill and a block of metal.
    What's step 1? Clean the chips off the table and stone the bottom of the block. Why? Because all horizontal motion must be parallel to that table and block bottom, all vertical motion must be perpendicular to the table and bottom, and if it's crooked then our cuts are crooked and our work is scrap.
    Step 2? Run your indicator along the master edge of the block and tap it with a deadblow hammer to true it up parallel to machine travel. Why? Because all horizontal motion must be not-crooked to that master edge.
    Step 3 is running your edge finder on the zero corner of course.
    And when you're done cutting and take the finished part to a granite plate to check it with a height gage, you set it up with the master edge and zero corner on the granite to check your work.

    We do the same thing with the CMM.
    We "Level" to the master flat surface of the workpiece as step 1.
    We "Rotate" to the master edge as step 2.
    We "Origin" to set our zero point as step 3.
    Then we run the probe back and forth, up and down, watching the digital XYZ readout to make sure we did it right. That's alignment.

    But before you can even begin any of that, you need to know how to calibrate a probe. Without calibration a CMM is a random number generator, not a measuring device.

    The next important thing is unique to PC-DMIS.
    This code is not text. You can copy it and paste it to text, but you can't paste it back into PC-DMIS. The code on the screen it is a live interface that takes every input you make and instantly calculates it's ramifications. You can fix or ruin an entire program with a couple of clicks.
    Also the code is not lines of text, it's actually a grid of fields. Each block of code contains a number of fields, some of which you can edit and others you cannot. You can edit them live on the screen, or right-click on the code block and choose "Edit" to access a more user-friendly dialog box for that item.
    Where you put your cursor on the screen determines the "current" state of the program. Put it before a chunck of code and the machine thinks that code is in the future and has not happened yet. Put the cursor after that chunk of code and now the machine has it in it's memory.
    PC-DMIS is based on the DMIS standard for measuring devices but is far more expansive and complex, with many neat and helpful additions. However it is NOT straight DMIS language. That book you have won't help you write PC-DMIS programs very much. For that you need to explore the drop-down menus that allow you to create lines and blocks of code. It's 99% canned routines that you put into place with their details edited to suit your instance. Very little is typed in by hand, although that can be a shortcut.

    So to begin, go to training.
Children
No Data