WebViewer BIM Client APIs
initializeBimViewer
Construct initialized 3D viewer.
Parameters
instance
object
WebViewer instance that is available after initializing.
serverURL
string
URL of WebViewer BIM server.
options
object
An options object to configure the WebViewer BIM application. The following are possible arguments: — license - The WebViewer BIM license key. — dataSchema - An object that defines the schema of the properties panel.
Returns
A promise that resolves to an object containing the functions necessary for loading models in WebViewer.
Example
import WebViewer from '@pdftron/webviewer';
import { initializeBimViewer } from '@pdftron/webviewer-bim-client'
WebViewer({
path: '/webviewer/lib',
}, document.getElementById('viewer')).then(instance => {
const license = `---- Insert commercial license key here after purchase ----`;
const serverURL = `---- Insert server URL after setup ----`;
const options = {
license: license,
dataSchema: {
headerName: 'Name',
defaultValues: {
Description: 'Description',
GlobalID: 'GlobalId',
Handle: 'handle',
EmptyRow1: 'EmptyRow1',
},
groups: {
Dimensions: {
Length: 'Length',
Width: 'Width',
Height: 'Height',
EmptyRow2: 'EmptyRow2',
GrossFootprintArea: 'GrossFootprintArea',
GrossSideArea: 'GrossSideArea',
GrossVolume: 'GrossVolume',
}
EmptyGroupTest: {
ObjectType: 'Lions',
EmptyRow3: 'Tigers',
ObjectPlacement: 'Bears',
},
},
groupOrder: ['EmptyGroupTest', 'Dimensions'],
removeEmptyRows: true,
removeEmptyGroups: true,
createRawValueGroup: true,
}
};
const WebViewerBIM = await initializeBimViewer(instance, serverURL, options);
}load3dAsset
Loads a 3D model.
Parameters
pathToAsset
string
URL or path to 3D model.
options
object
An optional object that modifies the 3D loading process. — loadProperties, determines whether the server should extract and load 3D property data or not. — withCredentials, determines whether to set the credentials property to 'include' on the Fetch request. This is used when the BIM Server has allow_credentials enabled. — headers, carries additional information to be sent to the BIM server. — headers.extension, use this option to exclusively specify the file extension.
Returns
void
Example
preload3dAsset
Preloads a 3D model for future loading, allowing for the conversion of model data before loading.
Parameters
serverURL
string
URL to your BIM server instance.
pathToAsset
string
URL or path to 3D model.
preloadOptions
object
Optional options object to modify preload behavior. — loadProperties, determines whether the server should extract and load 3D property data or not. — withCredentials, determines whether to set the credentials property to 'include' on the Fetch request. This is used when the BIM Server has allow_credentials enabled. — headers, carries additional information to be sent to the BIM server. For instance, the extension attribute can be included in the header to exclusively specify the file extension.
Returns
Promise<object> - An object containing IDs for model and, optionally, properties data. If enable_auth is enabled on your BIM server, it will return an authorization token for both the model and properties data.
Example
loadCached3dAsset
Loads a cached 3D asset from the BIM server.
Parameters
loadCachedOptions
object
Options object containing credential options, model data IDs, and optional properties data. Authorization tokens are only required if enable_auth is set to true on the BIM Server. — withCredentials, determines whether to set the credentials property to 'include' on the Fetch request. This is used when the BIM Server has allow_credentials enabled.
Returns
Promise<void>
Example
checkAssetConversionProgress
Checks the status on asset conversion, returning true when an asset is ready to load.
Parameters
optionsObject
object
Options object containing credential options, model data IDs, and optional properties data. Authorization tokens are only required if enable_auth is set to true on the BIM Server. — withCredentials, determines whether to set the credentials property to 'include' on the Fetch request. This is used when the BIM Server has allow_credentials enabled.
Returns
Promise<boolean> - A promise that resolves to true if the conversion has been completed successfully. false otherwise.
Example
unmountBimViewer
Unmounts the BIM Viewer. Calling this will close the document and delete all annotations of the current session.
Parameters
instance
object
WebViewer instance that is available after initializing.
Returns
void
Example
Viewer APIs
enableSSAO
Enable screen-space ambient occlusion for the viewer.
Returns
void
Example
disableSSAO
Disable screen-space ambient occlusion for the viewer.
Returns
void
Example
setSSAOOptions
Adjust screen-space ambient occlusion for the viewer.
Returns
void
Example
enableAntiAliasing
Enable anti-aliasing for the viewer.
Returns
void
Example
disableAntiAliasing
Disable anti-aliasing for the viewer.
Returns
void
Example
enableShadows
Enable ground shadows for the viewer.
Returns
void
Example
disableShadows
Disable ground shadows for the viewer.
Returns
void
Example
getWalkMode
Gets the current Walk Mode for the First Person Mode.
Returns
String - Returns either WalkThrough or FlyThrough.
Example
setWalkMode
Sets the current Walk Mode for the First Person Mode, either WalkThrough or FlyThrough. WalkThrough simulates walking where going forward for example is always in reference to the ground plane. When set to FlyThrough directional movement is relative to the camera orientation.
Parameters
walkMode
string
String containing the desired walk mode, either WalkThrough or FlyThrough.
Returns
void
Example
Orbit & Pan Tools APIs
setCameraSensitivity
Sets the sensitivity for Orbit/Pan tool.
Returns
void
Example
getCameraSensitivity
Gets the Orbit/Pan tool's sensitivity.
Returns
Number
Example
Properties Panel APIs
setPanelSchema
Sets a new Properties Panel configuration based on a passed in Schema.
Parameters
schema
object
Object containing the desired configuration.
Returns
void
Example
toggleShowDefaultGroup
Toggles showing the Default group. This group contains all of the key/value pairs on a selected element without any adjustments.
Returns
void
Example
toggleShowEmptyGroups
Toggles showing empty Groups on the properties panel. Empty Groups are defined as groups where every Row has an empty String.
Returns
void
Example
toggleShowEmptyRows
Toggles showing empty Rows on the properties panel. An empty Row is defined as a row where the value is an empty String.
Returns
void
Example
Last updated
Was this helpful?