# ifc-loader **Repository Path**: lzm8607/ifc-loader ## Basic Information - **Project Name**: ifc-loader - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: cbim-ifc-loader - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-30 - **Last Updated**: 2024-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

TOC | documentation | demo | community | npm package

![cover](resources/cover.png)

Open BIM Components

[![NPM Package][npm]][npm-url] [![NPM Package][npm-downloads]][npm-url] [![Tests](https://github.com/ThatOpen/engine_components/actions/workflows/tests.yml/badge.svg)](https://github.com/ThatOpen/engine_components/actions/workflows/tests.yaml) This library is a collection of BIM tools based on [Three.js](https://github.com/mrdoob/three.js/) and other libraries. It includes pre-made features to easily build browser-based 3D BIM applications, such as postproduction, dimensions, floorplan navigation, DXF export and much more. ### Usage You need to be familiar with [Three.js API](https://github.com/mrdoob/three.js/) to be able to use this library effectively. In the following example, we will create a cube in a 3D scene that can be navigated with the mouse or touch events. You can see the full example [here](https://github.com/ThatOpen/engine_components/blob/main/src/core/SimpleScene/index.html) and the deployed app [here](https://thatopen.github.io/engine_components/src/core/SimpleScene/index.html). ```js import * as THREE from "three"; import * as OBC from "openbim-components"; // Get the
element where the scene will be displayed const container = document.getElementById('container'); // Initialize the basic components needed to use this library const components = new OBC.Components(); components.scene = new OBC.SimpleScene(components); components._renderer = new OBC.SimpleRenderer(components, container); components.camera = new OBC.SimpleCamera(components); components.raycaster = new OBC.SimpleRaycaster(components); components.init(); // Add some elements to the scene components.scene.setup(); const scene = components.scene.get(); const geometry = new THREE.BoxGeometry(3, 3, 3); const material = new THREE.MeshStandardMaterial({ color: "red" }); const cube = new THREE.Mesh(geometry, material); cube.position.set(0, 1.5, 0); scene.add(cube); components.meshes.push(cube); ``` [npm]: https://img.shields.io/npm/v/openbim-components [npm-url]: https://www.npmjs.com/package/openbim-components [npm-downloads]: https://img.shields.io/npm/dw/openbim-components