This case study is adapted from an entry submitted to the ICC 2015 Discover Gallery
We wanted to validate that we could write a 3D CAD application under the Ignition platform. The MineCAD application was selected for this project. This application is currently used by the quarry manager at the plant to validate the mining blasts chemistry, to refine the quarry model, and to update the topography. The biggest challenge on this project was to implement and use the JavaFX API with Ignition. With the help of Inductive Automation, a new Ignition component was created and added to the designer.
From that, we started to add the 3D functionalities to this component to display the quarry blasts model, the drill holes and the topography to the screen. The quarry model is supported by a MySQL database and triangulated files for the topographies. At the end, this application has the potential to support over 500 quarries around the world. The first thing that we needed to do was develop the functions for the camera movements inside JavaFX, but also in conjunction of the EDT (Event Dispatch Thread), because the JavaFX has its own messages loop. Again, we solved this problem with the help of Inductive Automation which developed for us the basic architecture to work with the JavaFX API. The next step was to create the 3D objects that we needed to represent the quarry model information located in the database. The blasts were represented by a series of blocks painted accordingly with a chemistry color filter. We used a sphere and many cylinders to create the drill holes and a mesh view to show the triangulated topography.
At the end of the first phase, it seems that the JavaFX component has all 3D functionalities that we need to develop a robust CAD application under the Ignition platform. The result was impressive in terms of rendering, the speed of the camera movements, and the portability of the application to the final user.