By Matt Gooding

iTwin.js is not just an excellent library for web, desktop, and mobile applications — it’s also an effective foundation for virtual and augmented reality.

I recently recorded a webinar showing how to integrate your iTwin-based digital twin with the Unity game engine. Unity is one of the leading platforms for AR/VR, and by following the instructions in this webinar, you can be streaming your digital twin into your headset in just a few hours.

Please give it a try and let us know what you think on the iTwin.js GitHub discussion forum: https://github.com/imodeljs/imodeljs/discussions


By Alexandria Phillips

Click here to watch recordings.

Hey everyone, it’s been a minute! We haven’t forgotten about you — things have, been, uh, a little crazy. How are you holding up these past two months? #2020needstoend

Good news though, we are back and super excited to tell you about our inaugural iTwin Developer Conference on November 4 and 5. Remember the JumpStart event from August? Well, DevCon is the next event the team has organized. We’ll be taking things to the next level.

Since we still can’t hangout IRL, let’s hangout virtually. We’ve brought in the best and the brightest to talk…


By Billy Simarmata

TowerSight is a TypeScript/React web application that is built using iModel.js framework. It is a part of bigger solution called OpenTower that serves as a transformation tool for design practices of telecom towers. OpenTower is a fully integrated solution that transforms the design practices of telecom towers by encompassing the entire lifecycle management of tower engineering. From tower analysis to inspection and reality models, TowerSight, as part of OpenTower solution, completes the loop using a tower digital twin, making it easy to modify existing towers and maintain accurate models.

First Impression

Before this project started, I really didn’t know much about web…


By Mike Belousov

So you want to use React with iModel.js? Great, React is a very popular web framework for very good reasons, it has a huge following, a huge community and tons of open source packages to build upon. How to deal with classes in React will be important to us in an iModel.js app, since iModel.js is chock-full of framework-agnostic vanilla TypeScript classes. In a previous article, Writing a Primitive Tool, I built a microscopic iModel.js app, which I will improve here by applying the Provider-Local Class pattern.

This is my favorite pattern for using vanilla JavaScript classes in React.

We'll…


By Mike Belousov

This tutorial, while self-contained, also serves as context to the article, The Provider-Local Class Pattern. If you’re an experienced programmer, I’d suggest checking out that article after for some discussion on scaling iModel.js applications.

Together in this article we’ll build a primitive iModel.js app with a PrimitiveTool.

I call it: The Pin Tool

We’ll load an iModel, and have our tool place a ‘pin’ in the viewport where the user chooses. All of the added pins will be listed in a sidebar, and the user can “manage” their pins. We’ll fork a starting point from the iModel.js basic viewport app sample to make things quick. Each…


By Kevin Krisfalusy

The What

The iTwin Viewer is an iModel.js viewer that contains basic functionality for navigation, element selection, and measuring/clipping, as well as a basic tree view and property grid out-of-the-box.

It can be extended with additional functionality via iModel.js Extensions.

The Why

iModel.js contains a full featured framework for rendering models in the browser. The cost of providing such a robust framework, however, is increased complexity and startup time for new applications.

The iTwin Viewer simplifies the process of adding an iModel.js viewer to a new or existing application and decreases the amount of time that would be required to get “up and running”…


By Johannes Renner

So, here’s a quick one. This is by no means a full-blown guide on how to add Revit files to an iModel, this is simply a quick and dirty overview, guiding you through the sequence you’ll need to follow.

Some might know the famous Revit sample house. In my previous life, I often used this project to demonstrate Revit features during team training. Geolocating projects in Revit isn’t the easiest and there are multiple ways to achieve this. Almost everyone has a slightly different approach to this.

In case you have Revit available here’s where you can find the sample…


By Johannes Renner

So, here’s a quick one. This is by no means a fully blown guide on how to add Revit files to an iModel, this is simply a quick and dirty overview, guiding you through the sequence you’ll need to follow.

Some might know the famous Revit sample house. In my previous life, I often used this project to demonstrate Revit features during team training. Geolocating projects in Revit isn’t the easiest and there are multiple ways to achieve this. Almost everyone has a slightly different approach to this.

In case you have Revit available here’s where you can find the…


By Matt Gooding

My favorite thing about working with iModel.js is the speed and simplicity of writing small programs to understand and manipulate the data in design files. I tend to write and iterate on lots of tiny command line applications when debugging. I also think these applications are the easiest way to become acquainted with iModel.js and TypeScript when coming from a traditional desktop software background.

This blog post contains a skeleton that can be used to quickly bootstrap a command-line iModel.js application. The only prerequisite is the appropriate version of Node.js.

Start by creating a new directory for the application. In…


By Johannes Renner

Editor’s note: The following post uses MicroStation for Geolocating an iModel. Click here to find out more about this product.

Creating an iModel

Time to dive in and get started with iTwins, iModels and iModel.js. There are a couple of ways to create a new iModel. Head over to getting started and create your account. Once you registered you can create new iModel from the dashboard. Click on NEW, give your iModel a name and in this case, we want to use the iTwin Synchronizer.

In case you call your model simply “Test” you will notice that your model will be automatically be…

iModel.js

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store