######################
Additive Manufacturing
######################

.. toctree::
   :maxdepth: 1
   :caption: Table of Contents

   layout
   views
   loading_geometry
   selection
   auto-arrange
   instancing
   load-additional

This tutorial focuses on capabilities that would typically be provided by an additive manufacturing visualization solution. It uses `npm <https://www.npmjs.com/>`_ and the `Vite framework <https://vite.dev/>`_. These components are not necessarily critical, but if you do not use them, you will have to find your own way of providing that functionality.

Both an empty and completed project for this tutorial can be found on our `<https://github.com/techsoft3d/additive-manufacturing>`_. The *master* branch contains an empty |HCNOW| project, intended for you to paste code snippets from this tutorial and build the app as you follow along. Alternatively, the *completed* branch contains the completed tutorial. A working demonstration can be found on `GitHub Pages <https://techsoft3d.github.io/additive-manufacturing/>`_.


.. raw:: html

	<h2>Getting Started</h2>


Follow the `Tutorial install instructions <https://github.com/techsoft3d/additive-manufacturing>`_ provided with the GitHub repository to get started.


.. raw:: html

	<h3>Covered Topics</h3>

* Working with multiple WebViewer objects
* Adding and using transformation handles to nodes in your scene
* Dynamic mesh creation at run-time using |HCNOW|  
* Instancing parts and assemblies within the scene
* Extending the functionality of an existing built-in operator
* Loading additional models into the scene and model tree
* Querying model and node information
* Implementing an auto-arrange function for nodes in the scene

By the end of this tutorial, we will see an application that looks similar to the final result below:

.. image:: images/additive-manufacturing-final-result.png
