Field Guide
This section will walk you through some of the core JavaScript classes with which developers may need to interact when adding and customizing their Viewer experiences.
Initialization
Check the API Basics and Step-by-Step tutorials for examples on how to get the codebase. Read along to understand what JavaScript code needs to be added once the codebase is available in your browser’s runtime.
Before The Viewer can be instantiated and used in an HTML, all subsystems will need to be initialized by calling Autodesk.Viewing.Intitialize().
The method needs to be called only once, no matter how many Viewer instances are present in an HTML page. It will initialize subsystems such as loggers, internationalization, Three.js and others.
The Viewer has a hard dependency on Three.js R71.
Viewer3D instance
The Viewer3D
instance is the object responsible for interacting with the 3D scene and model.
It provides access to most of the functionality available.
Refer to the Viewer3D JavaScript Library documentation for details.
The library offers the subclass GuiViewer3D
, which provides a toolbar UI, with access to buttons,
panels, and a Context Menu. Check the UI JavaScript Library section for details.
Get started using Viewer3D
by visiting the Basic Viewer tutorial.
ViewingApplication
Developers are encouraged to use the Viewer by initializing a ViewingApplication
object.
It provides reusable business logic to parse the manifest JSON and feed that information into
the Viewer3D
instance.
Once the ViewingApplication
is initialized, developers can then access the
Viewer3D
instance from it.
var myViewer = viewingApp.getCurrentViewer();
Get started using ViewingApplication
by visiting the Basic Application tutorial.
We recommend using Extensions
to interact with the Viewer instance.
Extensions
An even better mechanism to access the Viewer3D
instance is through
extensions. Get first-hand experience with them by following the
Extensions tutorial.
Some of the core features, along with their UIs, are provided through native extensions bundled with the Viewer codebase. Here are a few of them:
Extension | Description |
---|---|
Measure | provides a tool for measuring viewables and a panel to display results |
Markup | a set of tools for drawing arrows, rectangles, text and other shapes on top of 2D and 3D models |
Collaboration | provides the ability to collaborate on a
common viewable, by sharing the camera view,
selection and other operation with remote
users over the internet
The feature is also
referred to as “Live Review”.
|
Headless Viewer
The Viewer is provided with and without a default UI.
Use GuiViewer3D
instance to get our default toolbar UI;
use Viewer3D
instance and have your application provide the
desired customized experience.
For details, check out the Headless Viewer tutorial.
Toolbar Customization
The default toolbar UI will be present only when GuiViewer3D
is used.
In these cases, developers can add additional buttons and panels by
extending the Viewer’s UI classes.
Check our tutorial section for a customization example.
What’s Next?
Remember to check out the JavaScript Library section for details on all classes and their methods.