Virtual Learning Factory Toolkit
  • Virtual Learning Factory Toolkit
  • VLF Knowledge Base
    • Factory Data Model
      • OWL Classes
      • SPARQL Queries
      • SPARQL Updates
    • Instantiation of Factory Models
      • Assets
        • Assets in Spreadsheet
        • Assets in JSON
        • Assets in Ontology
      • 3D Models of Assets
        • 3D Models for Virtual Reality
      • Statechart
      • Animations
      • Data Repositories
        • Local Repository
        • Remote Repository
  • VLF Tools and Libraries
    • OntoGui
      • Modules
        • Control Panel
        • Individual Manager
        • System Design
        • Utilities
      • Personalization
    • OntoGuiWeb
      • Modules
        • Control Panel
        • SPARQL
        • Graphs OWL
        • Utilities
        • Asset Design
        • System Design
        • System Control
        • Performance Evaluation
        • MQTT Sync
        • Virtual Environment
        • Graphs Eng
        • StateChart
      • Personalization
    • jsimIO
      • How to start
      • JMT Overview
        • JSim
          • Model generation
          • Launch of the simulation
          • Reporting
        • Bibliography
    • VEB.js
      • Functionalities
      • Input/Output files
      • Integration with other software tools
      • Advanced Users
    • ApertusVR
    • MTM
      • How to start
      • Formalise the process
      • Prepare input data
      • Execution and results
    • MOST
      • How to start
      • Formalise the process
      • Prepare input data
      • Execution and results
    • RULA
      • How to start
      • Formalise the process
      • Prepare input data
      • Execution and results
    • OCRA
      • How to start
      • Prepare input data
      • Execution and results
  • Use Cases
    • Automated Assembly Line
    • Assets and Animations
    • Modelling of Factory Assets
      • Modelling of an Assembled Product
      • Modelling of a Workstation
      • 3D Modelling of a Workstation for Virtual Reality
    • Process Modelling
      • Modelling an Assembly Process
    • Modelling of a manufacturing system
      • Modelling in OntoGui
      • Modelling a Job Shop using OntoGui
      • Modelling of a Flow Shop using OntoGui
      • Modelling a Hybrid Flow Shop using OntoGui
      • Modelling an assembly system using OntoGui
    • Performance evaluation using jsimIO
      • Performance evaluation of a manufacturing system
        • Performance evaluation in Jsim
        • Performance evaluation of a Flow Shop using Jsim
        • Performance Evaluation of a Job Shop using JSim
        • Performance evaluation of a Hybrid Flow Shop using Jsim
        • Performance evaluation of an assembly system using Jsim
      • jsimIO Assembly
      • jsimIO Automatic
      • jsimIO Production
  • Classworks
  • Advanced Features
    • JMT model
      • Automatic generation of a JMT model
      • Automatic generation of animations
    • Enabling technologies
      • Node-RED
        • Node-RED tutorial
      • RDF libraries
Powered by GitBook
On this page
  • GLTF + Standard Materials
  • GLTF + PBR Textures
  • Hierarchy Clean Up

Was this helpful?

  1. Use Cases
  2. Modelling of Factory Assets

3D Modelling of a Workstation for Virtual Reality

PreviousModelling of a WorkstationNextProcess Modelling

Last updated 1 year ago

Was this helpful?

For the purpose of this step-by-step guide, a CAD model of a ready-made object is adopted as an example. Specifically, the focus is on a conveyor unit component.

According to the scheme mentioned in the chapter, the workflow must be subdivided according to the two possible methodologies:

  • GLTF + standard materials

  • GLTF + PBR textures

Finally, some recommended settings to keep the objects' hierarchy correctly organized are provided, since they apply to both the above-mentioned methodologies.

GLTF + Standard Materials

  • The Solidworks Assembly file of "Conveyor_Main" is imported to Solidworks Visualize.

    The “Group/Aspect” is the option to choose if the goal is to be able to assign different materials to multibody components; the conveyor unit is treated as a single object in the environment, but it's composed of several part with different materials: steel for the main structure, a black, rubbery ribbon for carrying the pallets, plus additional subcomponents.

  • By dragging and dropping materials from the library to the scene, it is possible to edit the appearance of the object.

  • Once all bodies have the desired material, the model can be exported to GLTF or GLB.

GLTF + PBR Textures

  • Solidworks Visualize is used just as a conversion tool from the native format to GLFT in order to retain hierarchy information, so before moving to the material setup, it's important to convert the CAD files into GLTFs by using the same the “Group/Aspect” import setting as before. At this point the model can be exported to GLTF, whereas the application of materials will be carried out in Blender, since it is able to manage the PBS texturing pipeline.

  • The GLTF model must now be imported into Blender. A basic shading mode is applied by default.

  • The "Rendered" viewport shading option and the Cycles rendering engine have to be preferred to display more realistic effects.

  • By enabling the Shader Editor it is possible to create materials from scratch.

  • By pressing in the empty area "Shift + A > Shader > Principled BSDF", the main node that merges different kinds of information coming from the textures is enabled.

  • Then "Shift + A > Output > Material Output" generates the node to display the material in the scene.

  • Finally, "Shift + A > Texture > Image Texture" generates the nodes that will contain the information of each of the downloaded maps.

  • At this point, it is possible to associate the downloaded textures to the corresponding settings of the "Principled BSDF" node.

  • Some additional nodes can be necessary between the textures and the main BSDF node and for mapping corrections: for example, the Multiply + Separate RGB ("Shift + A > Color > MixRGB"; "Shift + A > Converter > Separate RGB") nodes may need to be added to correctly display the Roughness and Metalness Textures.

  • The “Displacement” node controls the height of the bump mapping. The related value may need to be adjusted from case to case depending on the expected result.

  • The Node Graph for "Steel" is presented hereby. For any other material, make sure that textures levels are applied similarly to the corresponding nodes.

  • The full scene Blender file to check out steel and other materials is also provided.

  • The model is ready to be exported once each body has its material assigned. Blender allows different export modes, including GLTF, GLB or GLTF + a separate directory for textures. It must be noted that the Tangent option in the Geometry settings is disabled by default. It is always recommendable to enable it when exporting. A directory for Textures has to be specified in case the option GLTF Separate is chosen. More technical settings to be taken into account are reported in the following image.

Hierarchy Clean Up

  • A manual solution to clean up the tree is to move outside the empty node the components that are currently below it. The empty node can be later deleted, leaving the structure as shown below.

  • Finally, the model can be overwritten and saved.

As specified in the chapter, only basic materials are used in this case, like opaque plastics for certain bodies (i.e., "Basic White Plastic") and "Steel" for the metallic areas: adopting more complex textures may cause undesired artifacts when the resulting GLTF is displayed in other environments such as VEB.js. In case more complex materials are used, make sure that they are rendered correctly by checking them in .

An intermediate step is to externally collect the material database that need to be applied, since Blender does not include it natively like other, specialized rendering tools. In the case of steel, is a good source of free material textures available with a CC license. In this example, the workflow for steel is shown. Download a complete texture package for a metallic material that can be implemented as steel. In this case, the .jpg 1K option is chosen to minimize the final size of the GLTF model.

Further information about specific material settings can be found at the sources listed at the end of the .

Compression options must be used carefully, since they reportedly ended up having geometry issues and unexpected artifacts. Again, use the to verify the results.

An additional software called can be adopted to edit the hierarchy of the output models, possibly deleting the empty nodes that by default get created both by Solidworks Visualize and Blender at top level (i.e. "Node.001")

When importing a model in Gestaltor (i.e., the pin insertion station described in the ), an empty father node appears to have been created after exporting the model, as highlighted in green in the image below, in the hierarchy tab.

3D Models for Virtual Reality
Babylon.js Sandbox
CC0 Textures
3D Models for Virtual Reality chapter
Babylon.js Sandbox
Gestaltor
previous use case
3D Models for Virtual Reality
23MB
Sample_PBR_Scene_Conveyor.zip
archive
Sample_PBR_Scene_Conveyor