mvdXML Overview
Model View Definition
A Model View Definition (MVD) defines a subset of the IFC schema that is needed to satisfy one or many Exchange Requirements of the AEC industry. Together with the IFC schema subset, a set of implementation instructions and validation rules, called MVD Concepts, are published. The method to publish the concepts and associated rules is mvdXML.
mvdXML Format Overview
Industry Foundation Classes (IFC) is a data schema for representing buildings and associated activities for designing, constructing, and maintaining them. It may be encoded as XML (markup language commonly used for document-related data) or SPF (STEP Physical File commonly used for engineering-related data). The resulting data encoding may reside in a file or as part of Internet communication between desktop computers, servers, and mobile devices. Data may represent an entire project, a subset of information within a project, or changes to data within a project.
To support interoperability across hundreds of software applications, industry domains, and regions worldwide, IFC is designed to accommodate many different configurations and levels of detail. For example, a wall can be represented as a line (or curve) segment between two points, 3D geometry for visualization, and/or in construction detail (capturing individual studs, pipe fittings, wiring, etc.) along with engineering properties, scheduling and cost information. As different users of building data have different needs, and authors of building data will provide detail in different domains, there's a need to clarify which data is needed for a particular use. A Model View Definition provides a way to specifically indicate what data is needed. When parties are involved in a contract requiring data to be provided, a contract may indicate that data is to be delivered according to a specific Model View Definition and such data may be automatically validated to determine conformance.
Model View Definitions (MVDs) are encoded in a format called MVDXML, and define allowable values at particular attributes of particular data types. For example, an MVD may require that a wall provide a fire rating, a classification according to OmniClass Table 22, and information required for structural analysis such as elastic modulus of materials. In simple cases, such rules may define a single attribute on a single data type, while more complex cases may consist of graphs of objects and collections.
Various validation formats are already commonplace in the software industry for checking data conformance such as XML Schema Definition (XSD), EXPRESS (ISO 10303-11), Schematron, and validation frameworks within programming languages and tools (e.g. NUnit, JUnit). It is not the goal of MVDXML to replace such approaches, but rather automate them such that information requirements can be defined at a higher level, where downstream validation formats can be automatically generated, rather than relying on manual efforts which are error-prone and may become out-of-sync with specifications. However, validation is only one use for MVDXML; the higher-level nature of MVDXML enables many other uses as follows.
Software applications may make use of MVDXML either statically (designed to support a particular model view), or dynamically (designed to support any model view). Examples of dynamic functionality that may be supported include:
Exporting data that is automatically filtered to include only data within a model view Downloading data from a server (where MVDXML essentially serves as a query language) Validating data to ensure it contains required information Prompting users to provide missing information Providing re-usable templates for product types, including parametric behaviors Importing and exporting tabular data with specified configurations of tables and columns Filtering application functionality to a subset within a model view (e.g. electrical domain) Providing attribute editing functionality for high-level concepts instead of low-level data.
While MVDXML is used within IFC4, it does not depend on IFC4; it may also be used with IFC2x3, earlier IFC releases, or entirely separate schemas.
mvdXML Tools
While mvdXML files may be authored using a text editor or XML editor, or any other third-party MVD editing tool, buildingSMART International has provided a Windows application for simplified ifcXML editing and documentation generation called "ifcDoc", now being releases. For download and an overview presentation go >> here.
The IfcDoc tool is also used to generate documentation of the IFC specification itself, and the baseline MVD concept templates and concepts that are part of the IFC4 specification (the first release of IFC that comes with predefined concept definitions). It therefore allows to quickly expand the generic MVD concepts to cover the specific requirements and business rules that are introduced by a set of Exchange Requirements. This shall speed-up the MVD development process.
mvdXML Releases
- mvdXML Releases An mvdXML file, together with the baseline IFC Schema and documentation, contains all information to openly publish a Model View Definition. In addition (since mvdXML 1.1) it may contain validation rules for data submissions. The ifcDoc tool can be used to author MVD's and to auto-generate MVD documentation.
The first published release, mvdXML 1.0 had been made available in 2013 as part of the IFC4 developments. The oofficial IFC4 documentation is generated on the basis of mvdXML 1.0.
The current development release is mvdXML 1.1. The main focus is fixing small issues and inconsistencies found in mvdXML 1.0, greatly update and improve the documentation (including several new examples), and to add a reworked specification for including validation rules to the mvdXML standard
mvdXML Format Scope
An IFC Model View Definition defines a legal subset of the IFC Schema (being complete) and provides implementation guidance (or implementation agreements) for all IFC concepts (classes, attributes, relationships, property sets, quantity definitions, etc.) used within this subset. It thereby represents the software requirement specification for the implementation of an IFC interface to satisfy the Exchange Requirements.
The Model View Definition XML format (mvdXML) captures the following:
Exchange Definitions indicating import and export scenarios for each model view Concept Roots indicating entities of the IFC schema included within the model view Concept Nodes indicating rules for valid attribute values and referenced types Concept Templates which may be re-used across related entities Exchange Requirements indicating mandatory, optional, or excluded concepts for each exchange
Usage of mvdXML files is intended for several scenarios:
Test servers performing automated validation of IFC files for conformance or application certification Documentation and diagrams generated for IFC and IFC model view definitions Software applications performing automated filtering or validation of IFC files for model views Check for completeness of IFC-based data for agreed and contracted exchanges (validation)
mvdXML 1.
The focus of the mvdXML Version 1.0 lies on the documentation of Model View Definitions, MVD's. It allows for a neutral format to describe MVD's.
Overview on mvdXML 1.0 Release
Current mvdXML release is mvdXML 1.0. The main scope of mvdXML 1.0 is to define the MVD concepts and concept tables to support the MVD documentation, the included entities and attributes (the MVD snippets) to support the generation of the MVD specific IFC subset schema.
mvdXML1.0 Documentation mvdXML1.0 XML Schema
The mvdXML version 1.0 will be superseeded by the new mvdXML version 1.1. It is the outcome of the buildingSMART International Project S1015 "Enabling trust in BIM deliveries", and focusses on the validation component to enable completeness checks for IFC based BIM submissions.
check mvdXML 1.1 Release NOTE: all future extensions and maintenance of mvdXML will be based by mvdXML 1.1, which is now also subjected to the new buildingSMART International standards programme.
mvdXML 1.1
The focus of the mvdXML Version 1.1 lies on the validation of IFC files according to the governing MVD and selected Exchange Requirements.
overview on mvdXML 1.1 releaseSince the publication of mvdXML 1.0 in 2013 the interest in mvdXML has moved from just documenting Model View Definitions in a neutral way to also validating, whether the data content of an IFC file, written against a MDV and in particular against one or several Exchange Requirements, ER, would comply with these requirements.
The previous mvdXML 1.0 had several limitations in adding such data validation rules. The main focus of mvdXML 1.1, beside bug fixing and general improvements, had been in enhancing the validation part. In addition, the documentation and the examples have been greatly improved to ease the understanding of the scope and methodology behind mvdXML.
purpose and examples for mvdXML 1.1 release
- Documentation of MVD's
This example (see chapter 7.1 of mvdXML 1.1) shows an mvdXML file that is written for the purpose of documenting a Model View Definition.
mvdXML 1.1 example for documentation
- Validation of MVD's
This example (see chapter 7.2 of mvdXML 1.1) shows an mvdXM file that is written for the purpose of validating IFC data submission against a MVD.
mvdXML 1.1 example for validation