Changelog

Periodically, we update the 3D Viewer SDK with new features, improvements, and bug fixes. This page lists all the changes made to the SDK.

2024-12-11

  • Updated three.js to r168.
  • Fixed occasional flickering during incremental rendering.
  • Added transform option to loadModel and loadModelsFromToken methods.
  • Fixed incorrect lighting of shapes when using addShape method.
  • Fixed initialState option of loadModel and loadModelsFromToken methods.

2024-09-24

  • Updated three.js to r165.
  • Removed support for WebGL1.
  • Fixed unnecessary redrawing when moving the measure cursor.
  • Added calculateSectionPlanesForBoundingBox method.
  • Improved initial viewpoint on large projects and projects containing misplaced geometry.
  • Fixed activeClippingPlaneBorderColor viewer load option not being applied.
  • Fixed circle shape only having one visible side in addShape method.
  • Fixed measure labels not removed when dispose method invoked.
  • Added clippingplanes and measure events to JavaScript API.
  • Fixed modelId parameter of loadModelsFromToken method being ignored.
  • Fixed incorrect size used for box and circle shapes in addShape method.
  • Fixed flickering during incremental rendering.
  • Fixed onClick callback provided to addShape method not being invoked.

2024-04-03

  • Updated three.js to r152.
  • Added activeClippingPlaneBorderColor setting to change the color of the border of the active clipping plane.
  • Added setMeasureSettings and getMeasureSettings methods to manage the settings for measurements.
  • Added shading paramater to getRenderSettings and setRenderSettings methods to set the shading type used.
  • Fixed an issue where point cloud models were not loading correctly.
  • Deprecated measureOptions method, use setMeasureSettings and getMeasureSettings instead.

2023-04-27

  • Updated three.js to r144.
  • Added setAppearanceSettings method to manage the appearance settings.
  • Added grid selection by clicking on curve or axis extrusion.
  • Added highlighting of selected grids.
  • Added support for clipping planes as a navigation target.
  • Added modelId to the getProducts method.
  • Added addShape, removeShape, and clearShapes methods.
  • Added getProducts method.
  • Added showClippingPlaneWidget and hideClippingPlaneWidget methods.
  • Added initialState setting to loadModel.
  • Added globalId property to grids.
  • Added depthBuffer setting to RenderSettings.
  • Added setCameraSettings and getCameraSettings methods.
  • Added modelId property to grids.
  • Improved grid loading performance.
  • Changed rotation to be around point beneath cursor.
  • Changed axis extrusions of hidden grids to be hidden.
  • Changed cursor to be hidden on drag for measure tools.
  • Changed measure tools to only trigger on left click.
  • Fixed an issue where contour sometimes does not work in orthographic mode.
  • Changed initial viewpoint on large projects and projects containing misplaced geometry.
  • Changed when loading models to ignore empty grid axes.
  • Changed default view range from 2000 to 5000.
  • Fixed an issue where countour sometimes displays a shadow artifact in orthographic mode.
  • Fixed an issue where the clipping plane widgeth was not rotating in orthographic mode.
  • Fixed a performance issue on projects with many hidden grids.
  • Fixed an issue where the viewer hangs on load if the grid is invalid.
  • Fixed an issue where the translucent state was not applied to selected objects.
  • Fixed an issue where the laser measure tool was ignoring extruded grid axes.
  • Fixed an issue where the laser measure tool's perpendicular raycast sometimes failed.
  • Fixed an issue where geometry would dissapear after taking a 3D snapshot.
  • Fixed an issue where grids and axes were not clipped by clipping planes in a 3D snapshot.
  • Fixed a precision issue on large projects.
  • Fixed an issue where hidden grids would reappear when selecting an object.
  • Fixed an issue where hidden objects would reappear when opening the settings menu.
  • Fixed an issue where the camera would zoom through planes.
  • Fixed an issue where objects were not visible when double clicked.
  • Fixed an issue where measurement labels were not visible in snapshots.
  • Fixed an issue where loading a grid would crash the viewer.
  • Fixed an issue where contours were not shown.
  • Fixed an issue when mouse buttons 3 and 4 were clicked, an exception would occur.
  • Fixed an issue where a clipping plane removed using Delete key was still returned by getClippingPlanes.

2022-11-29

  • Added getGrids method.
  • Added getGridAxisState and setGridAxisState methods.
  • Added axis field to ClippingPlaneParams to assign a grid axis to a clipping plane.
  • Changed clipping planes to now cut away grids.
  • Changed when opening models without geometry, the initial viewpoint is not set.
  • Deprecated screenshot, use captureScreenshot instead.
  • Deprecated each, use getObjects instead.
  • Deprecated eachSelected, use getSelected instead.
  • Deprecated translucent, use makeTranslucent instead.
  • Deprecated translucentAll, use makeAllTranslucent instead.
  • Deprecated opaque, use makeOpaque instead.
  • Deprecated opaqueAll, use makeAllOpaque instead.
  • Deprecated loadUrl, use loadModelsFromToken instead.
  • Deprecated transformModel, use setTransform instead.
  • Deprecated color, use getObjectColors and setObjectColors instead.
  • Deprecated resetColors, use resetObjectColors instead.
  • Deprecated clippingPlanes, use getClippingPlanes and setClippingPlanes instead.

2022-10-07

  • Updated three.js to r141

2022-09-07

  • Updated three.js to r140
  • Added viewer.clippingplanes event.

2022-06-30

  • Updated three.js to r139
  • Added viewer.clippingplanes event.
  • Improved appearance of measurement lines.
  • Improved appearance of clipping plane intersection curves.
  • Fixed an issue where grid axis extrusions would have bad geometry.
  • Fixed an issue with Z-fighting when drawing clipping planes.
  • Fixed an issue where hidden line shader was not applied to transparent objects.
  • Fixed an issue where gesture animations were not updated.

2022-04-29

  • Updated three.js to r138
  • Removed WebGL2 support in Safari due to large performance regression.
  • Changed measure labels to be hidden behind the camera when using DOM text rendering.
  • Fixed an issue where point clouds were not properly unloaded.
  • Fixed an issue where labels were missing in screenshots when using DOM text rendering.
  • Fixed an issue with jQuery plug-in depending on $ existing in the global context.
  • Fixed an issue where images added by the images method were not displayed.
  • Fixed an issue where the boundingBox method returned an empty box instead of the scene bounding box when passing null as an argument.
  • Fixed an issue where the viewer.click event was missing clientX/clientY fields on Safari 12 (iOS 12 or earlier).
  • Fixed an issue causing the canvas to always be blank in Safari 12 (iOS 12 or earlier).

2022-03-30

  • Updated three.js to r137
  • Added pixelRatio to render settings.
  • Added support for DOM text rendering.
  • Improved measurements.
  • Fixed an issue where the pixel ratio was reset on window resize.
  • Fixed an issue where the viewer.click event was triggered multiple times on touch events when embedded in an iOS web view.
  • Fixed clipping plane dragging on touch devices.
  • Fixed updating clipping plane intersection curves.