开放BIM组件
这个库是基于Three.js和其他库的BIM工具集合。它包含了预制功能,可以轻松构建基于浏览器的3D BIM应用程序,如后期制作、尺寸标注、平面图导航、DXF导出等。
包
该库包含2个包:
@thatopen/components
- 核心功能。兼容浏览器和Node.js环境。
@thatopen/components-front
- 专为浏览器环境设计的功能。
使用方法
你需要熟悉Three.js API才能有效地使用这个库。在下面的示例中,我们将在一个可以用鼠标或触摸事件导航的3D场景中创建一个立方体。你可以在这里查看完整示例,以及在这里查看部署的应用程序。
/* eslint import/no-extraneous-dependencies: 0 */
import * as THREE from "three";
import * as OBC from "../..";
const container = document.getElementById("container")!;
const components = new OBC.Components();
const worlds = components.get(OBC.Worlds);
const world = worlds.create<
OBC.SimpleScene,
OBC.SimpleCamera,
OBC.SimpleRenderer
>();
world.scene = new OBC.SimpleScene(components);
world.renderer = new OBC.SimpleRenderer(components, container);
world.camera = new OBC.SimpleCamera(components);
components.init();
const material = new THREE.MeshLambertMaterial({ color: "#6528D7" });
const geometry = new THREE.BoxGeometry();
const cube = new THREE.Mesh(geometry, material);
world.scene.three.add(cube);
world.scene.setup();
world.camera.controls.setLookAt(3, 3, 3, 0, 0, 0);