All Projects → agviegas → Ifc.js

agviegas / Ifc.js

Licence: mit
Ifc viewer for client applications.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Ifc.js

Threejs Sandbox
Set of experiments and extensions to THREE.js.
Stars: ✭ 163 (-22.75%)
Mutual labels:  3d, threejs, geometry
3dio Js
JavaScript toolkit for interior apps
Stars: ✭ 255 (+20.85%)
Mutual labels:  3d, threejs, bim
Andromeda
This is a WebGL recreation of the popular music video Gorillaz - Andromeda.
Stars: ✭ 145 (-31.28%)
Mutual labels:  3d, threejs
Jeelizfacefilter
Javascript/WebGL lightweight face tracking library designed for augmented reality webcam filters. Features : multiple faces detection, rotation, mouth opening. Various integration examples are provided (Three.js, Babylon.js, FaceSwap, Canvas2D, CSS3D...).
Stars: ✭ 2,042 (+867.77%)
Mutual labels:  3d, threejs
Trimesh2
C++ library and set of utilities for input, output, and basic manipulation of 3D triangle meshes
Stars: ✭ 206 (-2.37%)
Mutual labels:  3d, geometry
Cityengine Sdk
CityEngine is a 3D city modeling software for urban design, visual effects, and VR/AR production. With its C++ SDK you can create plugins and standalone apps capable to execute CityEngine CGA procedural modeling rules.
Stars: ✭ 137 (-35.07%)
Mutual labels:  3d, geometry
Building Blocks
A voxel library for real-time applications.
Stars: ✭ 140 (-33.65%)
Mutual labels:  3d, geometry
Node Occ
build BREP Solids with OpenCascade and NodeJS - 3D Modeling
Stars: ✭ 202 (-4.27%)
Mutual labels:  3d, threejs
Earthjs
D3 Earth JS
Stars: ✭ 128 (-39.34%)
Mutual labels:  3d, threejs
Hole fixer
Demo implementation of smoothly filling holes in 3D meshes using surface fairing
Stars: ✭ 165 (-21.8%)
Mutual labels:  3d, geometry
React Three Fiber
🇨🇭 A React renderer for Three.js
Stars: ✭ 16,097 (+7528.91%)
Mutual labels:  3d, threejs
Fabscanpi Server
FabScan Pi Open Source 3D Scanner - Server application
Stars: ✭ 137 (-35.07%)
Mutual labels:  3d, threejs
Tweetscape
A WebVR experience displaying tweets in real-time along a 3D timeline
Stars: ✭ 132 (-37.44%)
Mutual labels:  3d, threejs
3d Force Graph
3D force-directed graph component using ThreeJS/WebGL
Stars: ✭ 2,386 (+1030.81%)
Mutual labels:  3d, threejs
Timeline
直观地显示各个历史时间段及历史地图。Visually display various historical time periods and historical maps.
Stars: ✭ 127 (-39.81%)
Mutual labels:  3d, threejs
Wechart
Create all the [ch]arts by cax or three.js - Cax 和 three.js 创造一切图[表]
Stars: ✭ 152 (-27.96%)
Mutual labels:  3d, threejs
Aframe
🅰️ web framework for building virtual reality experiences.
Stars: ✭ 13,428 (+6263.98%)
Mutual labels:  3d, threejs
Angular Template For Threejs
Angular Template For Three.js
Stars: ✭ 114 (-45.97%)
Mutual labels:  3d, threejs
Lba2remake
A Little Big Adventure 2 / Twinsen's Odyssey reimplementation in JavaScript / Three.js / React
Stars: ✭ 116 (-45.02%)
Mutual labels:  3d, threejs
Xbimgeometry
XbimGeometry contains the CLR interop libraries and the c++ engine used to compute the 3D geometry of models.
Stars: ✭ 152 (-27.96%)
Mutual labels:  3d, geometry

IFC.js

This library converts any browser into an IFC viewer. It parses IFC entities to WebGL geometry through THREE.js. It is based on web-ifc-three, which is the three adaptation of web-ifc.

Try it here!

Why this library if THREE.js already has a loader in a separate repository?

Almost all IFC viewers and BIM tools have the same common tools for navigation, selection, menus, etc. This library contains all the boilerplate code that allows you to create BIM tools in Three in a few minutes and in a simple way.

Introduction

IFC (Industry Foundation Classes) is an open format developed by the Building Smart for the exchange of information between applications of different developers in the AEC sector. IFC files generally contain much of the relevant information about a building, including all its geometry and the information associated with each element, possibly including measurement, structural, thermal, acoustic, economic or fire resistance data.

This project uses web-ifc to read IFC files, structure their data in memory and convert them to Three.js custom geometric entities for display in any browser. Even though there are many libraries capable of parsing IFC formats, almost all of them depend on communication with a server, with all the disadvantages that this entails. The development of the parser entirely in JavaScript and WASM in web-ifc-three makes it possible to decentralise parsing, so that each client is able to read an IFC file and display its geometry and parameters to the user on its own.

Contribution

Do you want to contribute to make this even better? Bear in mind that this project is split in three repositories, so you might want to contribute to the part that interests you most.

  • web-ifc if you are interested in low-level IFC parsing, WebAssembly, Emscripten, C++.

  • web-ifc-three if you want to help us with the Three.js geometry generation.

  • This repository if you have ideas about cool tools that could help others develop BIM applications!

  • You can

Testing files

You can find the IFC files for testing here.

Issues

You can refer your issue to the specific repository:

  • web-ifc if you have any problem with the parsing / loading (items not being readed / loaded correctly, information missing).

  • web-ifc-three if you have any problem with the adaptation we did for Three.js (efficiency, Three geometry generation, etc).

  • This repository if you have any problem with the boilerplate code it offers to develop BIM viewers.

Build

npm run build to generate a bundle with your changes in the code

License

This project is licensed under the MIT License - see the LICENSE file for details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].