A digital simulation of an asset or project.

Infrastructure Digital Twins

An Infrastructure Digital Twin is a digital representation of an infrastructure asset or system and the context and controls of its surrounding environment. An iModel is a relational database that contains and organizes the digital components that comprise a digital twin. iModelHub manages the timeline of change to an iModel, and turns it into a distributed database. Use iModel.js to create immersive visualizations and connections that integrate your infrastructure digital twin into your digital workflows. It contains the magic for creating, visualizing, querying, mining, synchronizing, aligning, and securing your digital twin.

Open, for Business

Infrastructure assets are complex, valuable, and long-lived, yet ever-changing. The businesses and governments that design, build, own and operate them wish to create digital twins that accurately reflect those traits. No single software system can possibly meet all of those requirements at once. So iModel.js was designed to be both flexible and open so that it can be used wherever needed and easily integrated with other systems wherever necessary. It is built to be as malleable as possible to satisfy your business requirements within your existing business systems. We strive to innovate while being both open and transparent, but also stable and secure. iModel.js is not a community project by part time volunteers with other jobs; it is the heart of Bentley's iTwin subscription service.
Built to solve real world business problems.
Purposely designed to fit in your open-source world.

Open, By Design

We know that when you use a set of libraries like iModel.js, you're not expecting to 'become an iModel.js developer'. Rather, you wish to incorporate code and data from many sources, joining it into a unified system and user experience. For this reason, iModel.js layers atop the most popular and most standard cloud and web technologies. It starts with TypeScript - in our opinion the most productive and compelling programming ecosystem ever. It builds on SQLite, JavaScript, Node.js, NPM, Electron, Docker, Kubernetes and many other open source leaders, in addition to standards like HTML, CSS, and WebGL. The stack is intentionally chosen to be as mainstream and un-opinionated as possible to reduce input impedance with your codebase, and to preserve your flexibility over time. Whether you intend to do numerical calculations with TensorFlow or web interfaces with React, iModel.js should fit easily and naturally with your software architecture.

Open, For Innovation

Sometimes pushing the envelope in pursuit of new ideas means breaking new ground. A primary reason for open-sourcing the iModel.js library is to permit its use in scenarios outside of those for which it was originally conceived. We know firsthand that simply examining the inner workings of a codebase improves your understanding of its design and limitations. Source level debugging and even local modification can substantially improve programmer productivity. And of course the ability to fix/change the source when necessary means self-help is always available if needed.
An Open Ecosystem for innovation.
Tell us what you think.

Open for suggestions

iModel.js is built on a solid foundation of Bentley's experience creating infrastructure software over 35 years. We recognize that the opportunities for connecting infrastructure digital twins are so vast and diverse, that you may find problems, have suggestions for enhancements, or have new ideas that will benefit the iModel.js community. In those cases, please don't be shy about getting involved - either with Issue reports, discussion posts, or Pull Requests.

Try iModel.js now

Open iModel.js Viewer Example
  • Aligned
    An iModel can combine information from many sources - CAD files, BIM files, databases, schematics, spreadsheets, etc. The vocabulary of iModels is BIS.
  • Accountable
    Change is a first class concept in iModel.js. Knowing who changed what and when adds a new dimension (time) to your Digital Twin, since iModelHub stores the timeline of changes.
  • Accessible
    Your digital twin becomes valuable for a multitude of use cases and an unlimited number of users. iModel.js apps can be infinitely scalable and connected everywhere.
  • Approachable
    Programmers feel at home with iModel.js because it purposely builds on the most modern and popular technologies and frameworks available, minimizing the out-of-the-box learning curve.
  • Anywhere
    Write your application logic and user interface once and run it on Cloud, Web, Desktop, and Mobile devices.
  • Amazing
    iModel.js handles the complexity of managing a large scale distributed digital twin efficiently so you can focus on other things. The library is modular so you only use what you need.
  • About
    There's lots of resources to ask questions, make suggestions, and get help. We'd also love to have your contributions!