Automating the creation of engineering training WebGL applications
Abstract:
The article discusses an add-on (addon) for Blender 3D 2.9x, written in Python 3.9.2, using the Pandas, Jinja2, math and other libraries, which allows you to automate operations for creating animation of bolts, washers, nuts. Allows you to insert additional tools from external files (screwdrivers, keys, arrows, etc.) that are involved in the animation process. Apply materials from an external library, which is a * .blend file with a set of materials based on the names of objects in the scene. Export the resulting scene to WebGL 2.0, using the Babylon.js framework, with the ability to play the resulting animation, which includes traditional animation control buttons, setting the playback speed, the ability to move through animation frames, as well as access to the view from the Blender 3D camera, there where its animation takes place. An interactive list of scene objects is created in the html page, which was automatically generated from the names of Blender 3D scene objects using Jinja2, when you click on the checkbox of the list items, the object is hidden / displayed. Mechanical gear assemblies imported from T-FLEX CAD 3D 17 in * .stl format were used as examples of evaluating the addon's performance. Some features of creating add-ons for Blender 3D are discussed. A comparison of the Three.js library and the Babylon.js framework is given in order to use them to create interactive engineering applications. The add-on for Blender 3D considered in the work can be used not only in the development of educational engineering applications, but also as an element of preparation when creating, for example, IETM.