I disagree. I spent 20 years in the automotive manufacturing business. When we deployed machines with PCs, be them test fixtures or some type of machine control, they were no longer treated as PCs. If you used them for any other purpose than what they were put there to do, you were fired. No questions asked. Just because you can, doesn't mean you should.
When you install Mach on a PC, you have turned that PC into a machine controller. And it should be treated as such. It is no longer a PC to surf the web, do word processing, play games, email, or CAD/CAM design. We can't control what the users do in the end with their new machine controllers. But we would rather then NOT do any of that stuff.
I keep forgetting to add those tool table functions to the API documents.
local rc = mc.mcToolSetDataExStr(number inst, number toolnum, string fieldName, string value)
local value, rc = mc.mcToolGetDataExStr(number inst, number toolnum, string fieldName)
local rc = mc.mcToolSetDataExDbl(number inst, number toolnum, string fieldName, number value)
local value, rc = mc.mcToolGetDataExDbl(number inst, number toolnum, string fieldName)
local rc = mc.mcToolSetDataExInt(number inst, number toolnum, string fieldName, number value)
local value, rc = mc.mcToolGetDataExInt(number inst, number toolnum, string fieldName)
Steve