The JSON mapping file defines how Civil 3D entities are mapped to IFC classes.
Classification represents a systematic arrangement of items into categories based on criteria related to their role or function. This constitutes a fundamental concept within Building Information Modeling (BIM) and serves to identify objects within an assembled model. The Industry Foundation Classes (IFC) schema incorporates a built-in classification system, which includes a defined type, often supplemented by a predefined type (enumeration) or user-defined types.
Civil 3D features inherent explicit classification through its object types, such as Alignment, Surface, and Corridor objects, among other Civil 3D entities. Additionally, the use of CAD layers or techniques like name, style assignment, or code assignment commonly serves as a method for entity identification. Different projects and clients often have varying requirements regarding the expected classification of exported IFC data. Given the absence of a single standardized or universally agreed-upon method for mapping these Civil 3D identifiers to IFC classes and types, the IFC 4.3 Extension for Autodesk Civil 3D provides a flexible means to specify the desired IFC class and type for each Civil 3D entity at the time of export.
The IFC 4.3 Extension for Autodesk Civil 3D can generate a template populated with estimated or default values to facilitate the mapping process. See To Save an Object Mapping File for a Project for more information
The IFC 4.3 Extension for Autodesk Civil 3D employs a hierarchy to determine the resulting IFC classification for a Civil 3D entity. The most specific mapping setting takes precedence over any previously identified mapping. Similarly, an entity can be excluded from export through a comparable mechanism. If an extended property is defined on an entity, this classification will override any other recognized mapping.
The JSON file is editable in any text editor, with the caveat that compliant syntax must be maintained. Additionally, tit can be generated programmatically, including platforms like Dynamo.
While the use of regular expressions offers significant power, it is important to note that if an entity matches multiple regular expressions, any nominations beyond the first successful match are disregarded. Within a configuration file, the order of checking local mappings proceeds from bottom to top. This behavior arises from the JSON parsing order when multiple configuration files are identified.
"MapBaselineName": [
{
"Name": "Section 2",
"IfcExportAs": "IfcRailwayPart",
"Export": true
},
{
"Name": "Section.*",
"IfcExportAs": "IfcRoadPart",
"Export": true
},
{
"Name": "Section 3",
"IfcExportAs": "IfcRoadPart. ROADSEGMENT",
"Export": true
},
If the mapping nomination by baseline name appears as described above, the following behavior occurs. Processing from bottom to top, Section 3 will satisfy the last nomination and will be exported as an IfcRoadPart with the predefined type ROADSEGMENT.
Section 2 will satisfy the middle nomination due to the wildcard pattern match and will be exported as an IfcRoadPart with the predefined type NOTDEFINED. This occurs despite the presence of an exact match regular expression nominated above it that specifies a railway part. This railway part nomination is not evaluated because an earlier match has already occurred, and consequently, no railway parts will be found in the exported IFC.
As described below, multiple methods can be employed to specify mapping for numerous entities, including CAD Layer, associated style, a code, or an extended property. The specific options available for each entity type are detailed subsequently, with later options taking precedence over earlier ones. It is important to note that preventing the export of an entity, such as by using a CAD layer setting, will prevent any further mapping checks for that entity. For instance, if CAD layer V-NODE is configured to prevent export (as indicated by a false nomination in the JSON extract below), then any class nomination by a point style or an explicit instruction to export that point will be disregarded because the layer nomination halts further mapping checks.
"MapBlockName": [
"MapCADLayerName": [
{
"Name": "C-FOOTPATH",
"IfcExportAs": "IfcRoad. Footpath",
"Export": true
},
{
"Name": "C-SIGN",
"IfcExportAs": "IfcSign",
"Export": true
},
{
"Name": "V-NODE",
"IfcExportAs": "IfcAnnotation",
"Export": false
},
COGO Points
Surfaces
Alignments
Feature Lines
Bridges
Bridge Parts
Corridors
Corridor Baselines
Corridor Baseline Regions
Corridor Solid
Corridor Link
Corridor Feature Lines
Block References
Other CAD Entities