What's new
What's new

How much standardization is there in CMM programming?

AlexC

Plastic
Joined
Apr 27, 2017
Lately I've gotten a fascination with the skill of writing CMM programs, and I'm starting to do research into taking a training course so that I can learn how to do it. The problem is that people who know anything about it are few and far apart. Our company doesn't even have anyone who can do it anymore. As such, it's been tough to find information. There's a few things that have come up in my research, and I hope to get some clarification.

Most people that I know of that have CMM training were sent by their company to learn how to use the exact model CMM that the company owns. I've never seen someone who just learned CMM programming and then got a job someplace writing programs. So is that not a viable thing to do? Are the different languages different to the degree that if you learn how to program one language, you aren't going to be able to pick up on another language quickly if you were put in front of a different brand of CMM? Is there one language that is more common than others that would be worth learning out of your own pocket?

There's a company called hexagon metrology that has a training center not far from where I live. They provide training on their own CMM's. The language they use is PC-DMIS, and it can be used with CAD models to write programs. I'm really interested to go for that training, but I'd hate to do it and then find out that my skill range is extremely limited due to the nature of CMM programming. So if anyone could provide an overview or point out some resources that would be useful for me, I'd really appreciate it.
 
Zeiss recently starting putting out a "cookbook" that attempts to describe CMM strategies, and naming conventions. Naming conventions for general strategies could transcend platform I guess. I've heard of PC-DMIS, I've not used it. I can make pretty reports for my pretty parts though!
 
PC-DMIS is certainly one of the more popular CMM programs out there. "Popular" does not equate with "best", how ever. It has it's own set of quirks (which is why it has been referred to as "PC-DEMON" by some); I will let others more knowledgeable than me expand on that. I went to their (Hexagon Metrology) training at their Nashville, TN facility for this many moons ago, so I am somewhat familiar with it. It is primarily aimed at the DCC-type CMM's, as opposed to manual machines. Be prepared for a sales pitch for their machines, if you attend their training classes.
I believe Zeiss uses "Calypso" for their CMM's.
As for getting a job strictly as a CMM programmer, they DO exist; but from what I've seen, they are few and far between. Most places I have seen want their "CMM guy" to write the programs as well as run them and do other inspection activities, as well.
I am NOT trying to burst your bubble, but simply relate my experiences as someone that has "been there, seen that". Good luck! :)
 
Last edited:
PC-DMIS is certainly one of the more popular CMM programs out there. "Popular" does not equate with "best", how ever. It has it's own set of quirks (which is why it has been referred to as "PC-DEMON" by some); I will let others more knowledgeable than me expand on that. I went to their (Hexagon Metrology) training at their Nashville, TN facility for this many moons ago, so I am somewhat familiar with it. It is primarily aimed at the DCC-type CMM's, as opposed to manual machines. Be prepared for a sales pitch for their machines, if you attend their training classes.
I believe Zeiss uses "Calypso" for their CMM's.
As for getting a job strictly as a CMM programmer, they DO exist; but from what I've seen, they are few and far between. Most places I have seen want their "CMM guy" to write the programs as well as run them and do other inspection activities, as well.
I am NOT trying to burst your bubble, but simply relate my experiences as someone that has "been there, seen that". Good luck! :)

No, by all means. This is interesting to me. I wasn't looking to get a job as a CMM programmer. I would just like the skill to diversify my skillset. Something for the resume and to give me a tool in a pinch if I ever need it. I hadn't spoken with anyone who had gone through the training at hexagon before. Have you gotten any hands on with a CMM that used a language other than PC-DMIS since you went through the training?
 
No, by all means. This is interesting to me. I wasn't looking to get a job as a CMM programmer. I would just like the skill to diversify my skillset. Something for the resume and to give me a tool in a pinch if I ever need it. I hadn't spoken with anyone who had gone through the training at hexagon before. Have you gotten any hands on with a CMM that used a language other than PC-DMIS since you went through the training?

I have had SOME limited experience with Calypso from Zeiss. I did not do any programming; just executing some existing programs. FWIW, the Calypso user interface seemed to be a little simpler and more intuitive to use than PC-DMIS. The only other software I have used is QC-5000 on a manual CMM, and it was very easy to use. If you understand basic CMM concepts like alignment, probe qualification, etc. this one required very little instruction; just sit down and have at it. YMMV....
 
I use Metrologic at work and have access to Calypso. I had written very basic programs in Calypso. Metrologic is more like a CNC programming. Calypso is different. It is more like drop down menus. You sort of say I have a circle or a plane. Then go to another menu and fill in the blanks or attributes. I have not used Hexagon though. I think if you can get trained there are opportunities. I'd say Calypso has more job opportunities. I am not sure there are jobs just for strictly 'programming'. I think it would be more like setup and program for a part to run production measuring.
 
I've worked with 3 different programmers here where I am, over time. If they're any judge, there's so little standardization that one programmer can't follow another one's work and has to start over from scratch and completely recreate everything. :rolleyes5:
 
Over the last several years Hexagon has been buying up a lot of CMM manufacturers. If I was going to get training I would go with the PCDMIS software.

I agree that there isn't much standardization, but the concept is all the same. If you can learn one software, you could work your way through others.
 
I think if you understand the concepts and how to apply them, the actual language it's programmed in is irrelevant. In my experience, the biggest problem with cmm guys is their lack of understanding how to properly align a part. Also is being a good inspector first. If you can't verify your cmm readings by hand, you'll never be any better than a typical looser cmm guy. It also amazes me how many cmm guys are incapable of check parts in process, ie that are not finished. Concentrate on being an inspector first, then worry about what language to learn.

Also, if you go out of your way to steer clear of anything that has to do with Hexagon or PcDunbass, you'll be alright.
 
I have gotten meager training with PC DMIS and with Calypso, though with Calypso, it's been a few years reviewing issues/results with our programmer, and troubleshooting data analysis methods, and some months using Calypso for Romer Arms on and off.

I don't think PC-DMIS at all prepared me for using Calypso. I had to mostly start over. I already had a very good understanding of alignments and accurate data collection practices with a good head for troubleshooting dubious results. But the PC DMIS interface and nomenclature was not compatible with what I needed to know to set up and program Calypso. It was just different ways of thinking.

I've used a lot of CAD/CAM/CAE software and gotten proficient with a lot of different flavors. I found PC DMIS more intuitive to get into; I think it's UI was more friendly, I guess. Calypso was more difficult. I would take Calypso hands-down every time, though. I think the tools are more refined and practical. My only programming experience involves touch-probe and laser scanning with a Romer Arm. I have never programmed anything for our bridge CMMs.

I think if you already understand the basics of GD&T, drawing literacy, inspection methodology, part setup, data collection strategies, and things like that, you won't get benefit from one software over the other (or at least, very little) but if you are completely new, at least you'll learn the practical knowledge that will be required in ANY inspection application.
 
I agree with JNeimans post. The main struggle with all this is the peripheral stuff. GD&T, blue print reading, setup etc. If you have CNC experience that would help. Not sure of the path to get to where you want to be.
 
I think if you understand the concepts and how to apply them, the actual language it's programmed in is irrelevant. In my experience, the biggest problem with cmm guys is their lack of understanding how to properly align a part. Also is being a good inspector first. If you can't verify your cmm readings by hand, you'll never be any better than a typical looser cmm guy. It also amazes me how many cmm guys are incapable of check parts in process, ie that are not finished. Concentrate on being an inspector first, then worry about what language to learn.

Also, if you go out of your way to steer clear of anything that has to do with Hexagon or PcDunbass, you'll be alright.

This 1000 times. We're dealing with this right now, with a clueless 3rd party source, who's **deleted** a couple fixtures of ours and costing us lots of $$$ because he lacks the basic understanding on how to do a proper alignment. Also lacks enough knowledge to know when he's wrong, and to take direction from people who do know what they're doing and have been doing this for years. "best fit" isn't a magic button......

Same goes with Machining and CNC. Focus on learning the PROCESS.
 
Last edited by a moderator:
I am wondering about the term 'programmer' when it comes to CMM vs CNC. Trying to clarify what the OP's intent is. In CNC there are operators (chuck parts and make adjustments), machinist (setup, program run parts) and programmers (just do the programming).
In CMM it seems operator (load parts, maybe calibrate), then programmers ( I think more like CNC machinist).
 
I am wondering about the term 'programmer' when it comes to CMM vs CNC. Trying to clarify what the OP's intent is. In CNC there are operators (chuck parts and make adjustments), machinist (setup, program run parts) and programmers (just do the programming).
In CMM it seems operator (load parts, maybe calibrate), then programmers ( I think more like CNC machinist).
You are correct,IMO, of your assessment of CMM operator vs. programmer. I believe PC-DMIS has an "operator mode" that allows the user to simply execute the existing programs without doing any modifications.
 
You are correct,IMO, of your assessment of CMM operator vs. programmer. I believe PC-DMIS has an "operator mode" that allows the user to simply execute the existing programs without doing any modifications.

True.

You can also program 'prompts' into the program to provide explanatory instruction before each data collection move is made. It is useful for describing a 'best practice' approach for measuring certain features, when the graphical display is not sufficient (again, I'm mainly speaking from a Romer Arm situation where the operator still must control many variables in the inspection)
 
I've programmed a lot of PC-DMIS. (it's the only CMM software I have any appreciable experience) I came into this with an IT background, so the programming concepts (If/Then, GOTO, etc) were easy to pick up. The measurement methodology was more difficult. Understanding alignments was the most important part. It is true that there isn't single right way to program a machine. There can be a lot of questionable ways to program, that will give you numbers that look good most of the time. Make sure you can recreate most of your measurements some other way. Nothing kills confidence faster than some feature that is "always red" on the report, but "always checks good" with calipers or some other manual method.

As to other resources: Hexagon has a forum like this that focuses on their products. CMMguys is a more general forum to discuss CMM's (and metrology in general).

It is a good skill to have. But I don't know of anyone who is strictly a programmer. I have been to several companies that run PC-DMIS. I do not think you will be limited if that is the language you learn in.
 
I am wondering about the term 'programmer' when it comes to CMM vs CNC. Trying to clarify what the OP's intent is. In CNC there are operators (chuck parts and make adjustments), machinist (setup, program run parts) and programmers (just do the programming).
In CMM it seems operator (load parts, maybe calibrate), then programmers ( I think more like CNC machinist).
To clarify, I've got 7 years experience running and setting up CNC mills. I'm currently attending school with a focus on warehouse logistics, industrial psychology, management, and of course CNC/CAD. My goal is to either end up running a night shift at a large company, or acting as a floor supervisor of sorts at a smaller shop. I'm sort of tailoring myself to be a jack of all trades. I feel like the biggest issue in every shop I've worked at is that too often, the arm doesn't know what the leg is doing. So by having an established background in everything, and a position where I have a lot of freedom to solve problems myself, I think I'd be able to be doing work I would really enjoy doing.

Tying the CMM aspect into this, there's two common issues that really make me feel like actual competency with the machine would be extremely valuable. The first is that we don't always have established inspection procedures. Especially when you're dealing with newer parts, or a job shop that has a ton of variety. And there's often some features that just need to be checked on a CMM. Certain surface profiles, hard to reach features, and things like that. You CAN check them by hand, but it's often not reliable, and it can take a bit of time with trial and error to determine a way to get an accurate measurement.

Just as a really basic example of a situation like this that I actually know how to handle, really tight tolerance cutter diameters. Particularly in situations where the cutter is pulling a radius. If you're dealing with regrind cutters, the true cutter diameter of the tool can vary quite a bit, which can have an impact on the radius in the part. But you can make the tool work if you have the ability to make the adjustments necessary, which I do, and a reliable way to find the measurement of the radius in the part. But that can be tricky. I've seen radius gages made to help visually check and things like that, but those really only tell you that the radius is too small, too big, or in tolerance. Nothing that will give you the dimension like manually checking it with a CMM. Like I said, that's a basic example, but the concept would apply to more complicated things as well if I had the knowledge. Situations where I could be going through checks, come across one that I determine would be most accurately checked with the CMM, walk in, check it manually or by writing a quick program, and verify that it's right, without having to involve anyone else. That would be really useful.

The second situation is when a CMM set up for an existing program isn't explained very well, or is just being difficult. Often, that means it can't be run. Then, you're left with the choice of losing possibly an hour or two of production if the operator then has to go through and manually check a bunch of features that he's not familiar with by hand, and adding risk of something being way out of tolerance without knowing it. Or you just assume the measurements are still good, and the drawbacks of that are obvious.

My theory is that with knowledge of CMM programming, in a situation like that, I could handle it how I handle a CNC program that doesn't have clear instructions. Read the program and use that to determine how the part is supposed to sit, where it's supposed to be, where you're supposed to touch it off, etc. That skill could also be used to possibly diagnose issues and improvise to make things work when you have an issue like the probe constantly hanging up on one feature in the middle of the program.

So that's where the interest is coming from on my part. I totally understand where people are coming from when they say that having a QA level understanding of inspection procedures and blueprint reading is a huge component of that, and that's definitely not something I'm trying to circumvent. It's difficult because it's hard to find formal training. Most QA guys just get pulled from the shop floor and trained by the company. But there's books and what have you on GD&T and inspection procedures that I can really dig into in my free time, and I intend on doing that, because it is important. But I still feel like it's a two part thing, and being very comfortable with a CMM is crucial.

Sent from my LG-K450 using Tapatalk
 
Like robot programming once you get 3 under your belt it all starts to makes sense.
DMIS was originally a method to incorporate the CMM instructions into your CAD design of the part.
The idea being that all vendors would use the same inspection methods, datums etc.
Demystifying DMIS
CMMS are easy to program wrong. A slight twist and a radius or angle between sides comes out bad.
Add 3 point or 100 point best fit arcs. 2 point lines or 20 point fitted lines. Single contact or multiple probes of the same point with or without a differing vector.

One can check the four sides of a square part and the included angles often (if not always) will not add up to 360.
Say what ???? once around the block should be......
Bob
 








 
Back
Top