Loader

Rhino3dmLoader

A loader for Rhinoceros 3D files and objects.

Rhinoceros is a 3D modeler used to create, edit, analyze, document, render, animate, and translate NURBS curves, surfaces, breps, extrusions, point clouds, as well as polygon meshes and SubD objects. rhino3dm.js is compiled to WebAssembly from the open source geometry library openNURBS. The loader currently uses rhino3dm.js 8.4.0.

Code Example

const loader = new Rhino3dmLoader();
loader.setLibraryPath( 'https://cdn.jsdelivr.net/npm/rhino3dm@8.0.1' );
const object = await loader.loadAsync( 'models/3dm/Rhino_Logo.3dm' );
scene.add( object );

Import

Rhino3dmLoader is an addon, and must be imported explicitly, see Installation#Addons.

import { Rhino3dmLoader } from 'three/addons/loaders/3DMLoader.js';

Constructor

new Rhino3dmLoader( manager : LoadingManager )

Constructs a new Rhino 3DM loader.

manager

The loading manager.

Methods

.debug()

Prints debug messages to the browser console.

.decodeObjects( buffer : ArrayBuffer, url : string ) : Promise.<Object3D>

Decodes the 3DM asset data with a Web Worker.

buffer

The raw 3DM asset data as an array buffer.

url

The asset URL.

Returns: A Promise that resolved with the decoded 3D object.

.dispose()

Frees internal resources. This method should be called when the loader is no longer required.

.load( url : string, onLoad : function, onProgress : onProgressCallback, onError : onErrorCallback )

Starts loading from the given URL and passes the loaded 3DM asset to the onLoad() callback.

url

The path/URL of the file to be loaded. This can also be a data URI.

onLoad

Executed when the loading process has been finished.

onProgress

Executed while the loading is in progress.

onError

Executed when errors occur.

Overrides: Loader#load

.parse( data : ArrayBuffer, onLoad : function, onError : onErrorCallback )

Parses the given 3DM data and passes the loaded 3DM asset to the onLoad() callback.

data

The raw 3DM asset data as an array buffer.

onLoad

Executed when the loading process has been finished.

onError

Executed when errors occur.

Overrides: Loader#parse

.setLibraryPath( path : string ) : Rhino3dmLoader

Path to a folder containing the JS and WASM libraries.

path

The library path to set.

Returns: A reference to this loader.

.setWorkerLimit( workerLimit : number ) : Rhino3dmLoader

Sets the maximum number of Web Workers to be used during decoding. A lower limit may be preferable if workers are also for other tasks in the application.

workerLimit

The worker limit.

Returns: A reference to this loader.

Source

examples/jsm/loaders/3DMLoader.js