Customization often starts with the question, “Is there an easier way to do this?” A manufacturer might need to change its clearances on a series of part files by a fraction of an inch. A prototype shop could look to integrate a robotic arm for loading material. A fabrication shop may have to guarantee the alignment of an upcoming order.
The answer frequently is, yes, there is an easier way. External programming known as scripting extends applications in a machine tool’s CAD or CAM with custom capabilities, including new commands, file filters and automation. Scripting also can be used to create stand-alone applications that broaden the possibilities for how a waterjet works as part of a shop floor. IntelliMax software from Omax Corp., Kent, Washington, enables customization through script programming.
Changing specific dimensions in a series of parts is quick and easy using scripting. Image courtesy of OMAX
Omax Scripting is a complete but basic programming environment, compiler and execution system built right into Omax’s IntelliMax Layout and IntelliMax Make. Scripting’s purpose is to allow third parties to easily extend software to do new things, such as write commands for Layout, modify a path in Make, create an interface for a third-party plug-in or even create applications.
Scripts can be run by themselves in CAD software, bundled for easy distribution and installation by anyone as plug-ins or used to create stand-alone applications.
“Scripting is a way for people to externally access the code that runs inside the controller software,” said Custom Software Supervisor Jerry Thomas. “Instead of clicking a button to draw a line, you have code that does it for you. You provide start point, endpoint, bow, quality, etc., and the code will draw the entity you described. For a single line, this isn’t very useful. But as part of a script that opens multiple files, adjusts and paths them, then automatically sends those files to the controller, you can significantly reduce the manual effort.”
To give some sense of what scripting can do, it’s worth noting that Omax Scripting is used in many places inside software. For instance, move lead, swap lead and sprocket commands were written using scripting and dialogues.
“Scripting is one of the go-to features when encountering an unusual problem requiring an outside-the-box solution,” said Applications Lab Supervisor Vlad Bucur. “One example is the necessity for stationary piercing brittle/laminated materials. In order to command the software to execute a stationary pierce, the programmer must divide the tip of every lead-in approximately 0.001" (0.025 mm) away from the endpoint. This can become tedious if a program has tens or hundreds of holes. The simple solution was to write a script that easily managed to execute this command for all the lead-ins on a path.”
Although Omax Scripting is more valuable if a user knows how to program or wants to learn, many demonstration scripts still could be useful. Adventurous people may want to explore these to find useful tools that otherwise might not be available in Omax’s software. Scripts can be written in different languages, including Delphi, Object Pascal, C#, Visual Basic, C++ and Java.
“We’ve had a couple of customers work on synchronizing Make and a robot,” Thomas said. “Robots tend to not use PCs, and getting the two systems to talk is a challenge, but it can be done.”
Hyperspecialized scripting can shave hours from time spent on part production. These small parts benefit from automated alignment and optimized piercing. Image courtesy of OMAX
Users familiar with basic concepts of programming, such as loops, variables, conditionals and functions, and basics of Omax software should be able to dive in. Machine shops can load sample scripts provided by Omax, study the code, run the scripts and modify them to suit needs.
Most users don’t worry much about scripting but instead deal with plug-ins created by other people who used scripting to make custom features. If someone doesn’t program or have time to, some scripts are available in prepackaged, ready-to-install plug-in files.
To reconfigure several entities in Layout may take more than one script. By combining scripts as a single plug-in, they can be turned on and off as a whole. Plug-ins are a way to bundle multiple files into a single group to plug in to Layout and add functionality. This makes it easy for end users of a script to install it without needing in-depth knowledge of scripting or having to hand-copy a bunch of files into folders.
Ordering Custom Programs
For less adventurous customers who want several new commands for Layout, Omax offers custom scripting with endless possibilities developed by the company.
Although Omax Scripting is more valuable if a user knows how to program or wants to learn, many demonstration scripts still could be useful. Image courtesy of OMAX
“For a few customers, we have written large applications to automate significant procedures for waterjet cutting,” Thomas said. “These have focused on precision part alignment for cuts on manufactured parts or for alignment along the grain of a material.”
Machining can be hyperspecialized from shop to shop. What one waterjet user needs may not be what another looks to do. The most highly specialized operations typically are created in-house at Omax and then tested and fine-tuned before delivery to customers.
“We have used scripting to help users integrate a waterjet into their existing processes,” Thomas said. “If all of their machines are set up to use bar code work orders, we don’t want the waterjet to require a different process. So applications have been written to take bar code input and match it to a specific file, and sometimes we also link the material and thickness. Another example is import filters for file types that are already in use in a shop. We’ve written a few CNC G-code importers, so the same files are used for all of a customer’s equipment.”
With Great Power
Scripting comes with a lot of power. With such power comes the ability to make mistakes that can wipe out data. Some script commands allow users to erase or overwrite files or folders. Be careful when using such commands.
“Scenarios like lights-out operation depend on having the waterjet synchronize with other machines, whether a robotic arm or some other load/unload device,” Thomas said. “The more a waterjet can coexist with other machine tools and not require any special handling, the more the waterjet can become a better tool in the workflow.”
Related Glossary Terms
- computer numerical control ( CNC)
computer numerical control ( CNC)
Microprocessor-based controller dedicated to a machine tool that permits the creation or modification of parts. Programmed numerical control activates the machine’s servos and spindle drives and controls the various machining operations. See DNC, direct numerical control; NC, numerical control.
- computer-aided design ( CAD)
computer-aided design ( CAD)
Product-design functions performed with the help of computers and special software.
- computer-aided manufacturing ( CAM)
computer-aided manufacturing ( CAM)
Use of computers to control machining and manufacturing processes.
- waterjet cutting
Fine, high-pressure (up to 50,000 psi or greater), high-velocity jet of water directed by a small nozzle to cut material. Velocity of the stream can exceed twice the speed of sound. Nozzle opening ranges from between 0.004" to 0.016" (0.l0mm to 0.41mm), producing a very narrow kerf. See AWJ, abrasive waterjet.