Skip to main content

Posts

Getting BIM data into Unity (Part 6 - Popup Info Dialog)

This is part 6 of a series of posts about getting BIM data into Unity. In this post, we’ll discuss how we can display our parsed metadata, which is now attached to our GameObjects, on-screen. Picking objects on screen with Raycasting Unity uses Raycasting , which shoots a finite ray into the scene, as the connecting line between your 3D camera position (your viewpoint) and the point you click on-screen, which can be translated into a 3D position on the viewing plane. That ray can intersect geometry and it will return the item you clicked on, alongside the position and orientation of the hit point. But not every geometry can be “seen” by such a Ray. Preparing geometry for selection To be able to select an object you need two things: geometry to click on and geometry you can see. In most Game Engines, these things are not equal. In Unity, you can have a Mesh component, which carries the Mesh data (vertices, faces). In addition, there is a Mesh Renderer , which ensures the mesh ...

About Classification and Properties in BIM

Introduction When Manufacturers create custom objects for use in BIM software, they often want to embed as much relevant information as possible into the objects. In BIM-software such as ARCHICAD or Revit, you can do this fairly easy: ARCHICAD supports Custom Properties and Revit has Project or Shared Parameters. The basic concept is more or less the same: you define a property set and individual properties inside the set, with a data type and possibly default value. To make these properties available for the user to enter, you can attach them to an element category (like wall, slab, beam, window). So far so good... The problem However... a category applies to ALL instances of elements of that category. Every single element will gain the properties assigned to the element category. So if you start loading manufacturer objects for e.g. doors, every single door will gain these new properties... even those for which this is not relevant. Managing Properties inside Autodesk Revit ...

Getting BIM data into Unity (Part 5 - Parsing a Schedule in Unity)

This is part 5 of a series of posts about getting BIM data into Unity. In our previous posts we looked at how to get information from our BIM Model into a Schedule: a text file with data about the elements. This post will do something with this schedule. Parsing a Schedule in Unity Regardless if you start from an ArchiCAD or Revit model, you should end with the geometry inside Unity from the FBX conversion (see previous posts) and a text-file containing a subset of information you want to transfer to the model, so it can be accessed from within the realtime model. Ensure you save (or copy) the schedules somewhere in the Unity Assets folder. The name does not really matter, as we’ll ensure that we can set it in our script as a variable. Reading the text from a Schedule file (“parsing”) requires creating a new C# script. While this is not a Unity scripting tutorial, we’ll show you what we did. Maybe you can improve on it or spot some errors. We need three script...