@dt-api/bim-api
v1.9.0
Published
BIM Api is a JavaScript plugin for DtApi, It provides a set of APIs for developers to integrate BIM into their own applications.
Downloads
4
Readme
Introduction
This is a JavaScript plugin for DtApi. It provides a set of APIs for developers to integrate BIM into their own applications.
Features
Documentation
Install
$ npm i dtapi
$ npm i @dt-api/bim-api
Import
import DtApi from 'dtapi';
import BimApi from '@dt-api/bim-api';
Init
const config = {
id: 'player', //[required] Render scene container(DOM node id)
url: 'http://172.31.10.93:8889/Renderers/Any/order', //[optional] Cloud rendering service address
order: 'b96285A3', //[optional] Rendering order, obtained on the cloud rendering client
resolution: [3840, 2160], //[optional] Set the cloud rendering output resolution[width, height]
debugMode: 'normal', //[optional] none: does not print logs, normal: normal logs
keyboard: {
//[optional] keyboard event
normal: false, //[optional] Keyboard event, exclude F1~F12 [default disabled]
func: false, //[optional] Browser F1 ~ F12 function keys [default disabled]
},
};
const App = new DtApi(config) as DtApi & BimApi;
App.Plugin.Install(BimApi);
Starting
Model example
// Get model list
const models = await App.DCP.GetModelList();
// Model initialization
const model = new App.Hierarchy({
customData?: any,
customId?: string,
assetId?: string,
seedId: string,
assetName?: string,
// Specify the location, default to the current camera position
location?: [x,y,z]
});
// Model loading into scene
await App.Scene.Add(model);
// Model moving
await model.SetLocation([x, y, z]);
// Model rotation
await model.SetRotator({ pitch: 180, roll: 0, yaw: 30 });
// Model scaling
await model.SetScale3d([x, y, z]);
// Uninstall the model
await model.Delete();
// Model explicit implicit
await model.SetVisible(false);
// Model focus
await model.SetFocus();
// Model ground
await model.SetGround();
// Model layering
await model.SetDisassembly();
Component example
// Get component tree
await model.GetNodeTree();
// Component Tree List Search
await model.GetNodeTreeBySearch('search');
// Component Focus
await model.SetNodeVisibility('1100', true);
// Component Focus
await model.SetNodeFocus('1100');
License
Copyright (c) 2023-present