Among the new 3D applications that appeared during the past year is Pilot-BIM from ASCON. The program automatically generates summaries of information stored in models of buildings and structures, and then organizes the teamwork -- all through a shared data environment.
Pilot-BIM uses two components from our C3D Toolkit: the C3D Modeler component provides the program with its geometric kernel, and the C3D B-Shaper module converts polygon meshes to b-rep (boundary representation) solids.
Dmitry Poskrebyshev, head of Pilot-BIM product development, told us the roles played by the C3D components in his product.
What Pilot-BIM Does
Pilot-BIM is a client-server system that coordinates and converts information models we receive in IFC (industry foundation classes) format. We process the models on servers and then load them instantly to workstations, through an intuitive interface.
We use specific application of C3D components in the server software, preparing the data for clients as a triangulated grid that visualizes the geometry of objects with a specified accuracy.
Roles C3D Plays in Pilot-BIM
The IFC format can represent BIM (building information modeling) objects in different ways; the ideal case is if they are represented as solids. Using the C3D geometric kernel, we convert the solids to a triangulated grid. The kernel adjusts the number of triangulations necessary to represent the objects as high-quality visualizations.
Other times the IFC file stores models as polygonal meshes. In this case, the result is likely to be unpredictable, because the model could have been downloaded from the Internet or initially had complex geometry, such as of a doorknob. Here we use MeshProcessor, the key element of C3D B-Shaper, to manage the form of mesh the client receives. MeshProcessor reads the polygonal mesh from the IFC file, converts it to a solid, and then the C3D geometric kernel turns it into the triangulated grid in a controlled manner.
Another function we plan to use from the geometric kernel is collision detection. This function is in development and will be ready in 2021.
We use multi-threading in Pilot-BIM for processing models, as does C3D B-Shaper. So when a lot of designers submit models for processing, multi-threading reduces the time to process the models. Depending on the server power and the number of cores, the client-user can adjust the number of threads; C3D then runs with the number of threads specified.
Model Processing with B-Shaper
The figure below shows two versions of the same user-supplied model. In addition to the primary object in the foreground, there is equipment in the background. The first version (on the left) is the model before being processed by C3D B-Shaper; the second one (on the right) is after.
As you see from the figure, the model arrives with a lot of “noise” in the form of excess triangles. Geometric noise makes models heavier in terms of file size and memory consumption, and reduces the visual clarity of the geometry. When designers get such unprocessed models, they will inevitably come across issues in editing the models. They require geometry with maximum clarity, so that they can focus on the design work; B-Shaper cleans out the noise from models.
How to Manage Model Processing
C3D B-Shaper manages the processing of the triangulated grids and adjusts their settings. We exposed these values in Pilot-BIM’s user interface so that designers can specify the absolute and relative tolerances of the conversion. As models can have large and small objects, we apply C3D B-Shaper to them with different relative tolerances for the varying sizes.
The figure below shows our preferred default settings. We obtained them empirically, and working together with C3D Labs. We recommend that users deploy the same settings when working with building models.
Our users send us large numbers of real-world models containing different kinds of objects. The objects have varying qualities of triangulated grids; some have breaks and other flaws. We cooperate with C3D Labs by sending them flawed models for their research, and thereby improve the capabilities of C3D B-Shaper.
C3D Labs recently added a useful option to C3D B-Shaper, “Save Tessellations Processed by MeshProsessor to Disk.” When we come across problematic models, we enable this option, save each BIM object to an individual file in the .c3d format, and then send them all to C3D Labs for analysis.
For example, we received a subway tunnel arch from a user. We processed that model with the C3D B-Shaper and it found a flaw in the geometry, which we sent to C3D Labs for analysis. The staff came up with a solution, and released a new C3D version to solve the problem. Such formerly-problematic objects are now recognized perfectly.
To get more information about the Pilot solutions please visit https://pilotems.com/en/.