This is a JavaScript plugin for WdpApi. It provides a set of APIs for developers to integrate BIM/DCP into their own applications.
To check out and docs, visit WdpApi Doc
$ npm i wdpapi
$ npm i @wdp-api/bim-api
import WdpApi from 'wdpapi';
import BimApi from '@wdp-api/bim-api';
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 WdpApi(config) as WdpApi & BimApi;
App.Plugin.Install(BimApi);
// 获取模型列表
const models = await App.DCP.GetModelList();
// 模型初始化
const model = new App.Hierarchy({
customData?: any,
customId?: string,
assetId?: string,
seedId: string,
assetName?: string,
// 指定位置,默认为当前相机位置
location?: [x,y,z]
});
// 模型加载
await App.Scene.Add(model);
// 模型移动
await model.SetLocation([x, y, z]);
// 模型旋转
await model.SetRotator({ pitch, roll, yaw });
// 模型缩放
await model.SetScale3d([x, y, z]);
// 卸载模型
await model.Delete();
// 模型显隐
await model.SetVisible(boolean);
// 模型定位
await model.SetFocus();
// 落地
await model.SetGround();
// 分层/拆楼
await model.SetDisassembly();
// 获取偏移量
await model.GetTransform();
// 上传文件
await App.DCP.Upload.FileUpload(file: File);
// 设定上传文件的代理地址
await App.DCP.Upload.SetProxy(url: string);
// 设定上传文件地址的token字段名称, 默认值: token
await App.DCP.Upload.SetToken(token: string);
// 查看上传/转换中的文件列表
await App.DCP.Upload.GetTaskList();
// 获取构件列表
await model.GetNodeTree(nodeId?:string);
// 构件搜索, 返回树结构数据
await model.GetNodeTreeBySearch(keyword: string);
// 构件搜索, 返回列表接口
await model.GetNodeListBySearch(keyword: string);
// 构件详情,只有最下层叶子节点才后有属性值
await model.GetNodeAttr(nodeId: string);
// 构件显隐
await model.SetNodesVisibility(nodeId: string, visible: boolean);
// 构件定位
await model.SetNodeFocus(nodeId: string);
Copyright (c) 2023-present, 51WORLD