The 3D system generator is composed of multiple pieces:
Admin panel:
Inside the admin panel it will be possible to manage companies (the system has been designed to provide 3d services for third parties), users, 3D models, materials, translations, cache, statistics and logs.
There are 4 types of users that can access to the admin panel:
Super admin: the user can manage all companies data.
Admin: user administrator for a specific company (can create other users, can access logs, manage 3D models, translations and materials name)
User: standard user, similar to the admin but without the access to the users management and logs
Restricted user: this type of user is similar to the user, without the write permissions.
API:
There are a set of API endpoints to communicate with the 3D system generator. The endpoints are used to retrieve/edit/delete the 3D models, the materials and the translations.
3D Engine:
An internal system that generates a 3D Web model using the original Blender parametric model and parameters passed by the users.
The 3D Engine will return the model and volume value.
Cache and CDN:
All the 3D models generated will be stored in a CDN to speed up a possible second request of the same model with the same parameters.
The system is designed to store the models locally or on a remote CDN (AWS).
Opencart 2.x Plugin:
The system has been designed to be used mainly in an e-commerce environment, so we have developed a plugin for Opencart to use the 3D models inside the shop.
The plugin permits the users also to add new 3D models directly from Opencart without passing by the Admin panel.
The plugin hasn’t been finished, it has been written and it is ready at 95% but it is not perfectly functional (for more details about it, please contact us).
3D Web Viewer:
To visualize the 3D model inside the browser the system uses Blend4Web, Blend4Web is maintained by Blender foundation and it is possible to download the updated version on their website.
The Web viewer is controlled and managed by a javascript class.
The 3D System Generator, thanks to its RESTFull APIs, is able to communicate with any system, it is possible to write a plugin to use it on any platform.
The 3D System Generator is fully multilanguage, at the moment the system accepts: Italian and English but it is possible to add other languages easily through the configurations and translations files.
The 3D system generator uses the following technologies:
Phalcon PHP 3.0 for the Admin Panel and the RESTFull API.
The system loads the environment variables depending on the ENV variables.
The Database has been designed to be used with Percona 5.6 but it could be used on any other MySQL compatible database.
Vanilla javascript and jQuery have been used to control the web viewer.
Redis is used for storing the cache.
The code is ready to use AWS as CDN
The admin panel layout uses the Metronic template.
The 3D Engine has been written using Python 2 and Blender.
The 3D Engine is currently using Blender 2.79 and Blend4Web viewer 18.05.
The system supports a cluster of 3D engines to parallelize the generation of multiple 3D models.
The Opencart 2.3 plugin has been written following Opencart standards, using OCMODs