More and more companies are bringing 3D printers in their existing manufacturing facilities. In a lot of cases, these facilities also include non-additive manufacturing machinery, such as CNC routers and milling machines. And a problem arises when companies want to incorporate these printers into their existing ERPs and MES.
In some cases, the software will automatically be able to "talk" with its new digital family. However, in a lot of cases, it can’t. To help with this integration, Application Program Interfaces (API) and Software Development Kits (SDK) are needed.
Stratasys, for example, is adding support for popular industry APIs and developing SDKs. These APIs and SDKs help business partners, and larger customers, add API support to integrate existing third-party software to connect with Stratasys 3D printers.
To help you understand further how things fit together, we’ll break down what SDK and APIs are and when you need either (or both).
APIs: How Programs Talk To Each Other
Just like User Interfaces (UIs) are how you interact with programs and devices, APIs are how computer programs connect to each other. When it comes to 3D printers, a CAD program sending a job to a 3D printer software -- or a 3D printer sending back status information on materials levels, job status, and any problems or failures detected -- the printer’s software exchanges information -- commands, work files, sensor readings, alerts, etc. -- through a common API.
The API defines the "grammar and vocabulary" that a program uses to communicate with another program, including the commands, parameters and data.
APIs are extremely helpful for monitoring 3D printers. For example, if something happens like a power surge that impacts one of the printer motors, creating a deficiency in a part, the API lets the company collect data during the build. And for an expensive, multi-day build, being able to detect or avoid a problem early on makes a big difference.
SDKs: Helping Developers Work With APIs and More
If you want to add support for an existing API to a program you sell (or use internally in your company), you want more than just the definition of that API (meaning what commands, parameters and data input it accepts, and what it outputs.
You also want tools and other resources.; you want an SDK for the API.
As the name suggests, an SDK includes software tools, like a context-sensitive editor, compiler, and debugger. An SDK typically also includes related information needed to develop the API, including:
- Sample code
- Technical notes and documentation
- Rules for developing with the kit
For example, suppose you created a new electric toothbrush, which you wanted to be able to control and monitor from your smartphone; a toothbrush API would define what you monitor (such as brush speed), and an SDK would let you create the toothbrush app.
In August 2018, ProgrammableWeb reported finding over 12,000 SDKs. And now, Stratasys has begun creating APIs and SDKs to use with Stratasys 3D printers.
The GrabCAD Software Development Kit enables two-way connectivity between its FDM 3D printers and enterprise software applications on the factory floor.
"We want to make it easy for software companies to work with Stratasys and with our printers," says Frank Lindeman, Software Customer Success Engineer EMEA at Stratasys. "So our customers who have Stratasys and non-Stratasys machines can get and use third-party software for their entire factory floor, to control them, and to monitor them. Offering APIs and SDKs through our Partner Program is one of the ways to do this."
Stratasys' first two SDK packages will enable customers to integrate with GrabCAD Print software and Stratasys’ manufacturing systems, including its F900, Fortus 450mc, and F123 Series of FDM 3D printers.
Is your factory floor set up for success? Explore our high-performance virtual factory floor!