Difference between revisions of "MicroMVDs for exchange requirements"

From Wiki.OSArch
Line 16: Line 16:
  
 
Scenario: Receiving a file
 
Scenario: Receiving a file
  * IFC data must use the IFC4 schema
+
  * IFC data must use the "IFC4" schema
 
</pre>
 
</pre>
  
Line 48: Line 48:
  
 
== Auditing BIM data with BlenderBIM Add-on and MicroMVDs ==
 
== Auditing BIM data with BlenderBIM Add-on and MicroMVDs ==
 
Note: This section is currently out of date (2021-03-19). Please see [https://community.osarch.org/ our forum].
 
  
 
[[File:Bimtester.png|300px|thumb|right|The BIMTester Quality Auditing panel in the BlenderBIM Add-on]]
 
[[File:Bimtester.png|300px|thumb|right|The BIMTester Quality Auditing panel in the BlenderBIM Add-on]]
Line 55: Line 53:
 
[[File:Bimtester-report.png|300px|thumb|right|An example audit report from BIMTester]]
 
[[File:Bimtester-report.png|300px|thumb|right|An example audit report from BIMTester]]
  
To begin auditing BIM data, you will need an IFC file. Let's imagine you have a file called <code>myfile.ifc</code>.
+
To begin auditing BIM data, you will need an IFC file. Let's imagine you have a file called <code>file.ifc</code>.
  
 
You will then need to specify your exchange requirements. Follow the steps below:
 
You will then need to specify your exchange requirements. Follow the steps below:
  
# Create a new text file called <code>my_first_micromvd.feature</code>
+
# Create a new text file called <code>audit.feature</code>
 
# Copy a MicroMVD template (e.g. [[Project setup MicroMVD]]) into your <code>my_first_micromvd.feature</code> file.
 
# Copy a MicroMVD template (e.g. [[Project setup MicroMVD]]) into your <code>my_first_micromvd.feature</code> file.
# Modify the template based on your project. For example, you may change the sentence <code> * The IFC file "{file}" must be provided</code> to read <code> * The IFC file "myfile.ifc" must be provided</code>. Note that the <code>myfile.ifc</code> has to be in the same directory as your <code>my_first_micromvd.feature</code> file.
+
# Modify the template based on your project. For example, you may change the sentence <code> * IFC data must use the "{schema}" schema</code> to read <code> * IFC data must use the "IFC4" schema</code>.
  
Now that you have specified your exchange requirements, you can audit it using a program. One free and open source option is [https://blenderbim.org/download.html BIMTester], which comes with the [[BlenderBIM Add-on]], or can be run standalone. Here's an example of how to audit it:
+
Now that you have specified your exchange requirements, you can audit it using a program. One free and open source option is [https://blenderbim.org/download.html BIMTester], which comes with the [[BlenderBIM Add-on]], or can be [https://github.com/IfcOpenShell/IfcOpenShell/tree/v0.6.0/src/ifcbimtester run standalone]. Here's an example of how to audit it:
  
 
# Launch Blender with the [[BlenderBIM Add-on]] installed.
 
# Launch Blender with the [[BlenderBIM Add-on]] installed.
# Open up the ''BIMTester Quality Auditing'' panel in the ''Scene Properties''.
+
# Open up the ''BIMTester'' panel in the ''Scene Properties''.
# Navigate to the directory that you placed your <code>my_first_micromvd.feature</code> file in the ''Features Directory'' property.
+
# Navigate to your <code>file.ifc</code> file in the ''IFC File'' property. This is the IFC that will be audited.
# You will see that it will detect your features file, as well as the exchange scenarios within it. Press the <code>Execute BIMTester</code> button.
+
# Navigate to your <code>audit.feature</code> file in the ''Feature / IDS'' property. This is your audit requirements file.
 +
# Press the <code>Execute BIMTester</code> button.
 
# Your audit report results will pop up in your browser.
 
# Your audit report results will pop up in your browser.
 +
 +
The ''Custom Steps'' is for advanced users who have built their own custom requirements. This requires coding knowledge.
  
 
== Modifying a MicroMVD ==
 
== Modifying a MicroMVD ==

Revision as of 09:16, 20 March 2021


BuildingSMART-Logo 64x64.png This page is about MVD - Model View Definitions. Full documentation is available at the buildingSMART site. All articles in the OSArch wiki related to Model View Definitions (MVD) can be seen in the Model View Definitions (MVD) Category

To guarantee correct BIM data, data exchange requirements need to be specified and audited. A MicroMVD is a collection of sentences that describe auditing requirements, written in plain language understood by both technical and non-technical stakeholders. These sentences are organised into categories, and can be processed by a computer to automatically check whether or not the requirements are satisfied.

This approach builds on the concept in software development called unit testing, specifically behavior driven development. Describing the requirement in simple to understand (but still machine readable) gherkin format makes the intentions clear to designers and makes writing unit tests simple.

BIMTester has implemented use of MicroMVDs for auditing model quality from IFC files. BIMTester is integrated into the BlenderBIM Add-on

Here is an example of a simple MicroMVD, which checks that an IFC4 file is provided with a particular filename.

Feature: Project setup

In order to view the BIM data
As any interested stakeholder
We need an IFC file

Scenario: Receiving a file
 * IFC data must use the "IFC4" schema

This MicroMVD is stored in a simple text file with the .feature file extension. The file name is arbitrary, but may be used to describe what it is auditing. These simple text files can be edited in any text editor, such as Vim, Apple TextEdit, or Microsoft Notepad. No proprietary software is required: anybody can read and write MicroMVDs.

These *.feature files, each containing sentences like the above can be processed by a computer. In the example above, a MicroMVD auditing program will look for a file named "project.ifc" and will check that it is IFC4. The MicroMVD auditing program can then generate a report, which can be used by stakeholers to track whether or not a project is satisfying its requirements.

Unlike other auditing solutions like Solibri or SimpleBIM, MicroMVDs are non-proprietary, do not expire, are free, much lighter, are easy to change and develop, and are cross-platform.

List of MicroMVDs

Although you are free to write your own MicroMVD specific to your project, a series of MicroMVDs have been published online that address common problems. You can copy and paste these templates into your own *.feature files, and modify it to suite your project.

All MicroMVD can be found in MicroMVD

Auditing BIM data with BlenderBIM Add-on and MicroMVDs

The BIMTester Quality Auditing panel in the BlenderBIM Add-on
An example audit report from BIMTester

To begin auditing BIM data, you will need an IFC file. Let's imagine you have a file called file.ifc.

You will then need to specify your exchange requirements. Follow the steps below:

  1. Create a new text file called audit.feature
  2. Copy a MicroMVD template (e.g. Project setup MicroMVD) into your my_first_micromvd.feature file.
  3. Modify the template based on your project. For example, you may change the sentence * IFC data must use the "{schema}" schema to read * IFC data must use the "IFC4" schema.

Now that you have specified your exchange requirements, you can audit it using a program. One free and open source option is BIMTester, which comes with the BlenderBIM Add-on, or can be run standalone. Here's an example of how to audit it:

  1. Launch Blender with the BlenderBIM Add-on installed.
  2. Open up the BIMTester panel in the Scene Properties.
  3. Navigate to your file.ifc file in the IFC File property. This is the IFC that will be audited.
  4. Navigate to your audit.feature file in the Feature / IDS property. This is your audit requirements file.
  5. Press the Execute BIMTester button.
  6. Your audit report results will pop up in your browser.

The Custom Steps is for advanced users who have built their own custom requirements. This requires coding knowledge.

Modifying a MicroMVD

MicroMVDs are designed to be modified to be specific to your project. You are free to delete lines that don't apply to your project, or add additional lines if you need to audit more things in your project. You can have a single .feature or multiple files for each IFC, depending on how you want to organise your project. Once you have tailored it to your project, it is encouraged to include it in your project contract, so that all stakeholders are crystal clear on exactly what the data exchange requirements are, and how it will be audited.

If you know how to code, you can also define your own sentences. Read more in Developing custom MicroMVDs.