├── .editorconfig ├── .gitattributes ├── .gitignore ├── Install ├── Program Files to Install │ ├── Adsk_sidebar_501x314.jpg │ ├── Autodesk Logo.bmp │ ├── DefaultUserDefinedParameterSets.txt │ ├── IFC2X2_ADD1.xsd │ ├── IFC2X3_TC1.xsd │ ├── IFC2x3 Extended FM HandOver View.txt │ ├── IFC4_ADD1.xsd │ ├── IFC4_ADD2.exp │ ├── IFC4_ADD2.xsd │ ├── IFCExporterUIOverride.addin │ ├── LICENSE.rtf │ ├── Revit.IFC.addin │ └── bundle │ │ ├── Contents │ │ └── Resources │ │ │ ├── ADSKIFCExporterHelp.htm │ │ │ ├── IFCExporter.png │ │ │ ├── IFCExporter_16.png │ │ │ └── IFCExporter_32.png │ │ └── PackageContents.xml └── RevitIFCSetup │ ├── Product.wxs │ └── RevitIFCSetup.wixproj ├── README.md ├── Revit.IFC.sln ├── RevitIFCTools ├── App.config ├── App.xaml ├── App.xaml.cs ├── GeneratePsetDefWin.xaml ├── GeneratePsetDefWin.xaml.cs ├── IFC2X2_ADD1.xsd ├── IFC2X3_TC1.xsd ├── IFC4.xsd ├── IFC4_ADD1.xsd ├── IFC4_ADD2.xsd ├── IFCCertifiedPSets.json ├── IFCEntityListWin.xaml ├── IFCEntityListWin.xaml.cs ├── MainWindow.xaml ├── MainWindow.xaml.cs ├── ParameterExpr │ ├── ExprTester.xaml │ ├── ExprTester.xaml.cs │ ├── Logger.cs │ └── ParameterExprParserTest.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── PropertySet │ ├── ComplexProperty.cs │ ├── LanguageType.cs │ ├── NameAlias.cs │ ├── PropertyBoundedValue.cs │ ├── PropertyDataType.cs │ ├── PropertyEnumItem.cs │ ├── PropertyEnumeratedValue.cs │ ├── PropertyListValue.cs │ ├── PropertyReferenceValue.cs │ ├── PropertySingleValue.cs │ ├── PropertyTableValue.cs │ ├── PsetDefinition.cs │ └── PsetProperty.cs ├── RevitIFCTools.csproj └── packages.config └── Source ├── GenerateIFCEntityList ├── App.config ├── App.xaml ├── App.xaml.cs ├── GenerateIFCEntityList.csproj ├── IFC2X2_ADD1.xsd ├── IFC2X3_TC1.xsd ├── IFC4.xsd ├── IFC4_ADD1.xsd ├── IFC4_ADD2.xsd ├── MainWindow.xaml ├── MainWindow.xaml.cs └── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── IFCExporterUIOverride ├── COBieCompanyInfoTab.xaml ├── COBieCompanyInfoTab.xaml.cs ├── COBieProjectInfoTab.xaml ├── COBieProjectInfoTab.xaml.cs ├── IFCAddressInformationUI.xaml ├── IFCAddressInformationUI.xaml.cs ├── IFCClassificationUI.xaml ├── IFCClassificationUI.xaml.cs ├── IFCCommandOverrideApplication.cs ├── IFCExchangeRequirements.cs ├── IFCExport.xaml ├── IFCExport.xaml.cs ├── IFCExportConfiguration.cs ├── IFCExportConfigurationsMap.cs ├── IFCExportResult.cs ├── IFCExporterUIOverride.csproj ├── IFCExporterUIOverride.props ├── IFCExporterUIWindow.xaml ├── IFCExporterUIWindow.xaml.cs ├── IFCFileFormatAttributes.cs ├── IFCFileHeaderInformationUI.xaml ├── IFCFileHeaderInformationUI.xaml.cs ├── IFCNewExportSetup.xaml ├── IFCNewExportSetup.xaml.cs ├── IFCPhaseAttributes.cs ├── IFCPropertySets.cs ├── IFCRenameExportSetup.xaml ├── IFCRenameExportSetup.xaml.cs ├── IFCSitePlacementAttributes.cs ├── IFCSpaceBoundaryAttributes.cs ├── IFCUIUtility.cs ├── IFCVersionAttributes.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.fr.resx │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings └── icons │ ├── create.ico │ ├── delete.ico │ ├── duplicate_ico.ico │ ├── load.ico │ ├── rename.ico │ └── save.ico ├── Revit.IFC.Common ├── Enums │ ├── IFC2xEntityType.cs │ ├── IFC4EntityType.cs │ └── IFCEntityType.cs ├── Extension │ ├── IFCAddress.cs │ ├── IFCAddressItem.cs │ ├── IFCClassification.cs │ ├── IFCClassificationMgr.cs │ ├── IFCFileHeader.cs │ └── IFCFileHeaderItem.cs ├── Properties │ └── AssemblyInfo.cs ├── Revit.IFC.Common.csproj ├── Revit.IFC.Common.props └── Utility │ ├── COBieCompanyInfo.cs │ ├── COBieProjectInfo.cs │ ├── IFCAnyHandleUtil.cs │ ├── IFCCompatibilityType.cs │ ├── IFCFuzzyXYZ.cs │ ├── IfcSchemaEntityNode.cs │ ├── IfcSchemaEntityTree.cs │ ├── MathUtil.cs │ ├── ProcessIFCXMLSchema.cs │ └── RevitStatusBar.cs ├── Revit.IFC.Export ├── Exporter │ ├── AreaSchemeExporter.cs │ ├── AssemblyInstanceExporter.cs │ ├── AssemblyInstanceInfo.cs │ ├── BeamExporter.cs │ ├── BodyData.cs │ ├── BodyExporter.cs │ ├── BodyExporterOptions.cs │ ├── BodyGroupData.cs │ ├── BodyGroupKey.cs │ ├── BoundingBoxExporter.cs │ ├── CeilingExporter.cs │ ├── ConnectorExporter.cs │ ├── CurtainSystemExporter.cs │ ├── CurveElementExporter.cs │ ├── DoorWindowExporter.cs │ ├── DuctInsulationExporter.cs │ ├── DuctLiningExporter.cs │ ├── Exporter.cs │ ├── ExporterInitializer.cs │ ├── ExporterInitializer_PsetDef.cs │ ├── ExtrusionExporter.cs │ ├── FabricSheetExporter.cs │ ├── FamilyInstanceExporter.cs │ ├── FilledRegionExporter.cs │ ├── FloorExporter.cs │ ├── FootingExporter.cs │ ├── GenericMEPExporter.cs │ ├── GridExporter.cs │ ├── GroupExporter.cs │ ├── GroupInfo.cs │ ├── HandleAndData.cs │ ├── HostObjectExporter.cs │ ├── HostedSweepExporter.cs │ ├── InsulationExporter.cs │ ├── MullionExporter.cs │ ├── PartExporter.cs │ ├── PileExporter.cs │ ├── PipeInsulationExporter.cs │ ├── PropertySet │ │ ├── AttributeEntry.cs │ │ ├── AttributeEntryMap.cs │ │ ├── AttributeSetDescription.cs │ │ ├── Calculators │ │ │ ├── AreaCalculator.cs │ │ │ ├── BeamLoadBearingCalculator.cs │ │ │ ├── BeamMemberSpanCalculator.cs │ │ │ ├── ColumnLoadBearingCalculator.cs │ │ │ ├── ConcealCalculator.cs │ │ │ ├── CoveringFinishCalculator.cs │ │ │ ├── CrossSectionAreaCalculator.cs │ │ │ ├── DepthCalculator.cs │ │ │ ├── DiameterCalculator.cs │ │ │ ├── DoorAreaCalculator.cs │ │ │ ├── ExtendToStructureCalculator.cs │ │ │ ├── ExternalCalculator.cs │ │ │ ├── FinishCalculator.cs │ │ │ ├── FireRatingCalculator.cs │ │ │ ├── GrossAreaCalculator.cs │ │ │ ├── GrossSurfaceAreaCalculator.cs │ │ │ ├── GrossVolumeCalculator.cs │ │ │ ├── GrossWeightCalculator.cs │ │ │ ├── HeightCalculator.cs │ │ │ ├── ISOCD3766BendingEndHookCalculator.cs │ │ │ ├── ISOCD3766BendingRadiusCalculator.cs │ │ │ ├── ISOCD3766BendingStartHookCalculator.cs │ │ │ ├── ISOCD3766ShapeCode.cs │ │ │ ├── ISOCD3766ShapeParameterACalculator.cs │ │ │ ├── ISOCD3766ShapeParameterBCalculator.cs │ │ │ ├── ISOCD3766ShapeParameterCCalculator.cs │ │ │ ├── ISOCD3766ShapeParameterDCalculator.cs │ │ │ ├── ISOCD3766ShapeParameterECalculator.cs │ │ │ ├── LengthCalculator.cs │ │ │ ├── LoadBearingCalculator.cs │ │ │ ├── NetSurfaceAreaCalculator.cs │ │ │ ├── NetVolumeCalculator.cs │ │ │ ├── NetWeightCalculator.cs │ │ │ ├── NosingLengthCalculator.cs │ │ │ ├── NumberOfRiserCalculator.cs │ │ │ ├── NumberOfStoreysCalculator.cs │ │ │ ├── NumberOfTreadsCalculator.cs │ │ │ ├── OuterSurfaceAreaCalculator.cs │ │ │ ├── PerimeterCalculator.cs │ │ │ ├── ProjectedAreaCalculator.cs │ │ │ ├── ProvisionForVoidDepthCalculator.cs │ │ │ ├── ProvisionForVoidDiameterCalculator.cs │ │ │ ├── ProvisionForVoidHeightCalculator.cs │ │ │ ├── ProvisionForVoidWidthCalculator.cs │ │ │ ├── RailingHeightCalculator.cs │ │ │ ├── RampFlightSlopeCalculator.cs │ │ │ ├── ReferenceCalculator.cs │ │ │ ├── RiserHeightCalculator.cs │ │ │ ├── RollCalculator.cs │ │ │ ├── RoofProjectedAreaCalculator.cs │ │ │ ├── ShapeCalculator.cs │ │ │ ├── SlabLoadBearingCalculator.cs │ │ │ ├── SlabPerimeterCalculator.cs │ │ │ ├── SlabWidthCalculator.cs │ │ │ ├── SlopeCalculator.cs │ │ │ ├── SpaceAreaCalculator.cs │ │ │ ├── SpaceConcealCalculator.cs │ │ │ ├── SpaceHeightCalculator.cs │ │ │ ├── SpaceLevelAreaCalculator.cs │ │ │ ├── SpaceLevelDescriptionCalculator.cs │ │ │ ├── SpaceTemperatureCalculator.cs │ │ │ ├── SpanCalculator.cs │ │ │ ├── SpecificZoneCalculator.cs │ │ │ ├── TemperatureCalculator.cs │ │ │ ├── TreadLengthAtInnerSideCalculator.cs │ │ │ ├── TreadLengthAtOffsetCalculator.cs │ │ │ ├── TreadLengthCalculator.cs │ │ │ ├── VolumeCalculator.cs │ │ │ ├── WaistThicknessCalculator.cs │ │ │ ├── WalkingLineOffsetCalculator.cs │ │ │ ├── WidthCalculator.cs │ │ │ └── WindowAreaCalculator.cs │ │ ├── ClassificationUtil.cs │ │ ├── Description.cs │ │ ├── DescriptionCalculator.cs │ │ ├── ElectricalCurrentPropertyUtil.cs │ │ ├── ElectricalVoltagePropertyUtil.cs │ │ ├── Entry.cs │ │ ├── EntryMap.cs │ │ ├── ExporterInitializer_PsetDefIFC2X2Enum.cs │ │ ├── ExporterInitializer_PsetDefIFC2X3TC1Enum.cs │ │ ├── ExporterInitializer_PsetDefIFC4_ADD1Enum.cs │ │ ├── ExporterInitializer_PsetDefIFC4_ADD2Enum.cs │ │ ├── FrequencyPropertyUtil.cs │ │ ├── PositivePlaneAnglePropertyUtil.cs │ │ ├── PropertyCalculator.cs │ │ ├── PropertySetDefinition.cs │ │ ├── PropertySetDescription.cs │ │ ├── PropertySetEntry.cs │ │ ├── PropertySetEntryMap.cs │ │ ├── PropertySetEntryUtil.cs │ │ ├── PropertyUtil.cs │ │ ├── QuantityDescription.cs │ │ ├── QuantityEntry.cs │ │ └── QuantityEntryMap.cs │ ├── PropertySetsInitialization.cs │ ├── ProxyElementExporter.cs │ ├── RailingExporter.cs │ ├── RampExporter.cs │ ├── RebarCouplerExporter.cs │ ├── RebarExporter.cs │ ├── RoofExporter.cs │ ├── SiteExporter.cs │ ├── SpaceBoundary.cs │ ├── SpaceOccupantInfo.cs │ ├── SpatialElementExporter.cs │ ├── StairRampContainerInfo.cs │ ├── StairsExporter.cs │ ├── StructuralMemberExporter.cs │ ├── SurfaceExporter.cs │ ├── SweptSolidExporter.cs │ ├── TextNoteExporter.cs │ ├── TypePropertyInfo.cs │ ├── WallConnectionData.cs │ ├── WallExporter.cs │ ├── WallSweepExporter.cs │ ├── ZoneExporter.cs │ └── ZoneInfo.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Revit.IFC.Export.csproj ├── Revit.IFC.Export.props ├── Toolkit │ ├── IFC4Enums.cs │ ├── IFCDataUtil.cs │ ├── IFCEnums.cs │ ├── IFCInstanceExporter.cs │ ├── IFCSubElementEnums.cs │ ├── IFCValidateEntry.cs │ ├── PlacementSetter.cs │ └── TransformSetter.cs ├── Utility │ ├── AllocatedGeometryObjectCache.cs │ ├── AssemblyInstanceCache.cs │ ├── AttributeCache.cs │ ├── BooleanPropertyInfoCache.cs │ ├── CategoryUtil.cs │ ├── ClassificationCache.cs │ ├── ClassificationLocationCache.cs │ ├── ContainmentCache.cs │ ├── CurveAnnotationCache.cs │ ├── DoorWindowDelayedOpeningCreator.cs │ ├── DoorWindowDelayedOpeningCreatorCache.cs │ ├── DoorWindowInfo.cs │ ├── DoorWindowOpeningInfo.cs │ ├── DoorWindowUtil.cs │ ├── DoublePropertyInfoCache.cs │ ├── DummyHostCache.cs │ ├── ElementFilteringUtil.cs │ ├── ElementToHandleCache.cs │ ├── ExportOptionsCache.cs │ ├── ExporterCacheManager.cs │ ├── ExporterStateManager.cs │ ├── ExporterUtil.cs │ ├── FamilyExporterUtil.cs │ ├── FamilyTypeInfo.cs │ ├── FootPrintInfo.cs │ ├── GUIDOptions.cs │ ├── GUIDUtil.cs │ ├── GeometryUtil.cs │ ├── GroupCache.cs │ ├── GroupElementGeometryCache.cs │ ├── HandleToElementCache.cs │ ├── HostPartsCache.cs │ ├── IntegerPropertyInfoCache.cs │ ├── LevelInfoCache.cs │ ├── LevelUtil.cs │ ├── LogicalPropertyInfoCache.cs │ ├── MEPCache.cs │ ├── MaterialAndProfile.cs │ ├── MaterialConstituentSetCache.cs │ ├── MaterialHandleCache.cs │ ├── MaterialLayerRelationsCache.cs │ ├── MaterialLayerSetCache.cs │ ├── MaterialRelationsCache.cs │ ├── NamingOptions.cs │ ├── NamingUtil.cs │ ├── OpeningUtil.cs │ ├── ParamExprErrorListener.cs │ ├── ParamExprGrammar.g4 │ ├── ParamExprListener.cs │ ├── ParamExprLogger.cs │ ├── ParamExprResolver.cs │ ├── ParamExprResolverParser.g4 │ ├── ParameterCache.cs │ ├── ParameterElementCache.cs │ ├── ParameterUtil.cs │ ├── PartExportedCache.cs │ ├── PresentationLayerSetCache.cs │ ├── PresentationStyleAssignmentCache.cs │ ├── ProductWrapper.cs │ ├── PropertyInfoCache.cs │ ├── PropertyMap.cs │ ├── PropertySetOptions.cs │ ├── RepresentationUtil.cs │ ├── SimpleSweptSolidAnalyzer.cs │ ├── SolidMeshGeometryInfo.cs │ ├── SpaceBoundaryCache.cs │ ├── SpaceBoundingElementUtil.cs │ ├── SpaceInfo.cs │ ├── SpaceOccupantInfoCache.cs │ ├── StairRampContainerInfoCache.cs │ ├── StringPropertyInfoCache.cs │ ├── SystemsCache.cs │ ├── TriangleMergeUtil.cs │ ├── TypeObjectsCache.cs │ ├── TypePropertyInfoCache.cs │ ├── TypeRelationsCache.cs │ ├── UnitUtil.cs │ ├── UnitsCache.cs │ ├── WallConnectionDataCache.cs │ └── ZoneInfoCache.cs └── packages.config ├── Revit.IFC.Import ├── Data │ ├── IFCAdvancedBrep.cs │ ├── IFCAdvancedFace.cs │ ├── IFCApplication.cs │ ├── IFCBSplineCurve.cs │ ├── IFCBSplineCurveWithKnots.cs │ ├── IFCBSplineSurface.cs │ ├── IFCBSplineSurfaceWithKnots.cs │ ├── IFCBooleanOperand.cs │ ├── IFCBooleanResult.cs │ ├── IFCBoundedCurve.cs │ ├── IFCBuilding.cs │ ├── IFCBuildingElement.cs │ ├── IFCBuildingElementComponent.cs │ ├── IFCBuildingElementPart.cs │ ├── IFCBuildingStorey.cs │ ├── IFCCSGSolid.cs │ ├── IFCCartesianPointList3D.cs │ ├── IFCCartesianTransformOperator.cs │ ├── IFCCircle.cs │ ├── IFCClosedShell.cs │ ├── IFCColourRgb.cs │ ├── IFCColourSpecification.cs │ ├── IFCComplexProperty.cs │ ├── IFCCompositeCurve.cs │ ├── IFCConic.cs │ ├── IFCConnectedFaceSet.cs │ ├── IFCCurve.cs │ ├── IFCCylindricalSurface.cs │ ├── IFCDerivedProfileDef.cs │ ├── IFCDistributionPort.cs │ ├── IFCDoorLiningProperties.cs │ ├── IFCDoorPanelProperties.cs │ ├── IFCDoorStyle.cs │ ├── IFCDoorWindowPropertyBase.cs │ ├── IFCEdge.cs │ ├── IFCEdgeCurve.cs │ ├── IFCEdgeLoop.cs │ ├── IFCElement.cs │ ├── IFCElementAssembly.cs │ ├── IFCElementComponent.cs │ ├── IFCElementQuantity.cs │ ├── IFCElementType.cs │ ├── IFCElementarySurface.cs │ ├── IFCEllipse.cs │ ├── IFCEntity.cs │ ├── IFCExtrudedAreaSolid.cs │ ├── IFCFace.cs │ ├── IFCFaceBasedSurfaceModel.cs │ ├── IFCFaceBound.cs │ ├── IFCFaceSurface.cs │ ├── IFCFacetedBrep.cs │ ├── IFCFeatureElement.cs │ ├── IFCFeatureElementSubtraction.cs │ ├── IFCGeometricSet.cs │ ├── IFCGrid.cs │ ├── IFCGridAxis.cs │ ├── IFCGroup.cs │ ├── IFCHalfSpaceSolid.cs │ ├── IFCImportFile.cs │ ├── IFCIndexedPolygonalFace.cs │ ├── IFCLine.cs │ ├── IFCLocation.cs │ ├── IFCLoop.cs │ ├── IFCManifoldSolidBrep.cs │ ├── IFCMappedItem.cs │ ├── IFCMaterial.cs │ ├── IFCMaterialConstituent.cs │ ├── IFCMaterialConstituentSet.cs │ ├── IFCMaterialLayer.cs │ ├── IFCMaterialLayerSet.cs │ ├── IFCMaterialLayerSetUsage.cs │ ├── IFCMaterialLayerWithOffsets.cs │ ├── IFCMaterialList.cs │ ├── IFCMaterialProfile.cs │ ├── IFCMaterialProfileSet.cs │ ├── IFCMaterialProfileSetUsage.cs │ ├── IFCMaterialProfileSetUsageTapering.cs │ ├── IFCObject.cs │ ├── IFCObjectDefinition.cs │ ├── IFCOffsetCurve2D.cs │ ├── IFCOffsetCurve3D.cs │ ├── IFCOpeningElement.cs │ ├── IFCOrientedEdge.cs │ ├── IFCOwnerHistory.cs │ ├── IFCPhysicalQuantity.cs │ ├── IFCPhysicalSimpleQuantity.cs │ ├── IFCPlane.cs │ ├── IFCPolyLoop.cs │ ├── IFCPolyline.cs │ ├── IFCPort.cs │ ├── IFCPresentationLayerAssignment.cs │ ├── IFCPresentationLayerWithStyle.cs │ ├── IFCPresentationStyle.cs │ ├── IFCPresentationStyleAssignment.cs │ ├── IFCProduct.cs │ ├── IFCProductRepresentation.cs │ ├── IFCProfileDef.cs │ ├── IFCProject.cs │ ├── IFCProperty.cs │ ├── IFCPropertyBoundedValue.cs │ ├── IFCPropertyMapping.cs │ ├── IFCPropertySet.cs │ ├── IFCPropertySetDefinition.cs │ ├── IFCPropertyValue.cs │ ├── IFCProxy.cs │ ├── IFCRationalBSplineSurfaceWithKnots.cs │ ├── IFCRepresentation.cs │ ├── IFCRepresentationContext.cs │ ├── IFCRepresentationItem.cs │ ├── IFCRepresentationMap.cs │ ├── IFCRevolvedAreaSolid.cs │ ├── IFCRoot.cs │ ├── IFCShellBasedSurfaceModel.cs │ ├── IFCSimpleProperty.cs │ ├── IFCSite.cs │ ├── IFCSolidModel.cs │ ├── IFCSpace.cs │ ├── IFCSpatialStructureElement.cs │ ├── IFCStyledItem.cs │ ├── IFCSurface.cs │ ├── IFCSurfaceCurveSweptAreaSolid.cs │ ├── IFCSurfaceOfLinearExtrusion.cs │ ├── IFCSurfaceOfRevolution.cs │ ├── IFCSurfaceStyle.cs │ ├── IFCSurfaceStyleShading.cs │ ├── IFCSweptAreaSolid.cs │ ├── IFCSweptDiskSolid.cs │ ├── IFCSweptSurface.cs │ ├── IFCSystem.cs │ ├── IFCTopologicalRepresentationItem.cs │ ├── IFCTriangulatedFaceSet.cs │ ├── IFCTrimmedCurve.cs │ ├── IFCTypeObject.cs │ ├── IFCTypeProduct.cs │ ├── IFCUnit.cs │ ├── IFCUnits.cs │ ├── IFCVertex.cs │ ├── IFCVertexPoint.cs │ ├── IFCWindowLiningProperties.cs │ ├── IFCWindowPanelProperties.cs │ ├── IFCZone.cs │ ├── IIFCMaterialSelect.cs │ ├── IfcMaterialProfileWithOffsets.cs │ ├── IfcPolygonalFaceSet.cs │ └── IfcTessellatedFaceSet.cs ├── Enums │ ├── IFCEnums.cs │ ├── IFCSchemaVersion.cs │ ├── IFCShapeBuilderType.cs │ └── IFCSharedParameters.cs ├── Geometry │ ├── IFCGeometryUtil.cs │ ├── IFCPoint.cs │ └── IIFCBooleanOperand.cs ├── Importer.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Revit.IFC.Import.csproj ├── Revit.IFC.Import.props └── Utility │ ├── BrepBuilderScope.cs │ ├── BuilderScope.cs │ ├── IFCCategoryUtil.cs │ ├── IFCDataUtil.cs │ ├── IFCElementUtil.cs │ ├── IFCGUIDUtil.cs │ ├── IFCImportCache.cs │ ├── IFCImportDataUtil.cs │ ├── IFCImportHandleUtil.cs │ ├── IFCImportLog.cs │ ├── IFCImportOptions.cs │ ├── IFCImportShapeEditScope.cs │ ├── IFCMaterialCache.cs │ ├── IFCMaterialInfo.cs │ ├── IFCNamingUtil.cs │ ├── IFCObjectReferenceSelect.cs │ ├── IFCParameterSetByGroup.cs │ ├── IFCSolidInfo.cs │ ├── IFCUnitUtil.cs │ ├── ProcessIFCRelation.cs │ └── TessellatedShapeBuilderScope.cs └── ThirdParty └── ICSharpCode └── ICSharpCode.SharpZipLib.DLL /.editorconfig: -------------------------------------------------------------------------------- 1 | # top-most EditorConfig file 2 | root = true 3 | 4 | # Code files 5 | [*.cs] 6 | indent_style = space 7 | indent_size = 3 8 | 9 | 10 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /Install/Program Files to Install/Adsk_sidebar_501x314.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmirtsch/IFC-For-Revit/f7ee4a6021f60e2e761b7a789fb9de64084caa86/Install/Program Files to Install/Adsk_sidebar_501x314.jpg -------------------------------------------------------------------------------- /Install/Program Files to Install/Autodesk Logo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmirtsch/IFC-For-Revit/f7ee4a6021f60e2e761b7a789fb9de64084caa86/Install/Program Files to Install/Autodesk Logo.bmp -------------------------------------------------------------------------------- /Install/Program Files to Install/DefaultUserDefinedParameterSets.txt: -------------------------------------------------------------------------------- 1 | # 2 | # User Defined PropertySet Definition File 3 | # 4 | # Format: 5 | # PropertySet: I[nstance]/T[ype] 6 | # <[opt] Revit parameter name, if different from IFC> 7 | # <[opt] Revit parameter name, if different from IFC> 8 | # ... 9 | # 10 | # Data types supported: Area, Boolean, ClassificationReference, ColorTemperature, Count, Currency, 11 | # ElectricalCurrent, ElectricalEfficacy, ElectricalVoltage, Force, Frequency, Identifier, 12 | # Illuminance, Integer, Label, Length, Logical, LuminousFlux, LuminousIntensity, 13 | # NormalisedRatio, MassDensity, PlaneAngle, PositiveLength, PositivePlaneAngle, PositiveRatio, 14 | # Power, Pressure, Ratio, Real, Text, ThermalTransmittance, ThermodynamicTemperature, Volume, 15 | # VolumetricFlowRate 16 | # 17 | # Example property set definition for COBie: 18 | # 19 | #PropertySet: COBie_Specification T IfcElementType 20 | # NominalLength Real COBie.Type.NominalLength 21 | # NominalWidth Real COBie.Type.NominalWidth 22 | # NominalHeight Real COBie.Type.NominalHeight 23 | # Shape Text COBie.Type.Shape 24 | # Size Text COBie.Type.Size 25 | # Color Text COBie.Type.Color 26 | # Finish Text COBie.Type.Finish 27 | # Grade Text COBie.Type.Grade 28 | # Material Text COBie.Type.Material 29 | # Constituents Text COBie.Type.Constituents 30 | # Features Text Cobie.Type.Features 31 | # AccessibilityPerformance Text COBie.Type.AccessibilityPerformance 32 | # CodePerformance Text COBie.Type.CodePerformance 33 | # SustainabilityPerformance Text COBie.Type.SustainabilityPerformance 34 | # 35 | -------------------------------------------------------------------------------- /Install/Program Files to Install/IFC2x3 Extended FM HandOver View.txt: -------------------------------------------------------------------------------- 1 | # 2 | # User Defined PropertySet Definition File 3 | # 4 | # Format: 5 | # PropertySet: I[nstance]/T[ype] 6 | # 7 | # 8 | # ... 9 | # Data type supported currently are only the primitive types: Text, Real, Integer and Boolean 10 | # 11 | # PropertySet definition for COBie 12 | # 13 | PropertySet: COBie_Specification T IfcElementType 14 | NominalLength Real COBie.Type.NominalLength 15 | NominalWidth Real COBie.Type.NominalWidth 16 | NominalHeight Real COBie.Type.NominalHeight 17 | Shape Text COBie.Type.Shape 18 | Size Text COBie.Type.Size 19 | Color Text COBie.Type.Color 20 | Finish Text COBie.Type.Finish 21 | Grade Text COBie.Type.Grade 22 | Material Text COBie.Type.Material 23 | Constituents Text COBie.Type.Constituents 24 | Features Text Cobie.Type.Features 25 | AccessibilityPerformance Text COBie.Type.AccessibilityPerformance 26 | CodePerformance Text COBie.Type.CodePerformance 27 | SustainabilityPerformance Text COBie.Type.SustainabilityPerformance 28 | # 29 | PropertySet: COBie_Component I IfcElement 30 | InstallationDate Text COBie.Component.InstallationDate 31 | WarrantyStartDate Text COBie.Component.WarrantyStartDate 32 | TagNumber Text COBie.Component.TagNumber 33 | AssetIdentifier Text COBie.Component.AssetIdentifier 34 | # 35 | PropertySet: COBie_Space I IfcSpace 36 | RoomTag Text COBie.Space.RoomTag 37 | # 38 | PropertySet: COBie_Asset T IfcElementType 39 | AssetType Text COBie.Type.AssetType 40 | # 41 | PropertySet: COBie_Warranty T IfcElementType 42 | WarrantyGuarantorParts Text COBie.Type.WarrantyGuarantorParts 43 | WarrantyDurationParts Real COBie.Type.WarrantyDurationParts 44 | WarrantyGuarantorLabor Text COBie.Type.WarrantyGuarantorLabor 45 | WarrantyiDurationLabor Real COBie.Type.WarrantyDurationLabor 46 | WarrantyiDurationDescription Text COBie.Type.WarrantyDurationDescription 47 | # 48 | PropertySet: Pset_ManufacturerOccurence I IfcElement 49 | SerialNumber Text COBie.Component.SerialNumber 50 | BarCode Text COBie.Component.BarCode 51 | # 52 | PropertySet: COBie_ServiceLife T IfcElementType 53 | ExpectedLife Real COBie.Type.ExpectedLife 54 | # 55 | PropertySet: COBie_EconomicalImpactValues T IfcElementType 56 | ReplacementCost Real COBie.Type.ReplacementCost 57 | # -------------------------------------------------------------------------------- /Install/Program Files to Install/IFCExporterUIOverride.addin: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | IFC override 5 | IFCExportUIOverride.dll 6 | E105CE2D-2FD0-4AE9-A155-86DCA7655376 7 | BIM.IFC.Export.UI.IFCCommandOverrideApplication 8 | ADSK 9 | Autodesk, www.autodesk.com 10 | 11 | -------------------------------------------------------------------------------- /Install/Program Files to Install/Revit.IFC.addin: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | BIM IFC Exporter 5 | Revit.IFC.Export.dll 6 | 52B83408-FB13-4E92-B2CF-A28F56AAD90B 7 | Revit.IFC.Export.Exporter.ExporterApplication 8 | IFCX 9 | IFC Exporter for Revit, http://sourceforge.net/projects/ifcexporter/ 10 | 11 | 12 | BIM IFC Importer 13 | Revit.IFC.Import.dll 14 | 4D8F4129-CFC0-4F6F-A32C-0EBE50035F9A 15 | Revit.IFC.Import.ImporterApplication 16 | IFCX 17 | IFC Importer for Revit, http://sourceforge.net/projects/ifcexporter/ 18 | 19 | -------------------------------------------------------------------------------- /Install/Program Files to Install/bundle/Contents/Resources/IFCExporter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmirtsch/IFC-For-Revit/f7ee4a6021f60e2e761b7a789fb9de64084caa86/Install/Program Files to Install/bundle/Contents/Resources/IFCExporter.png -------------------------------------------------------------------------------- /Install/Program Files to Install/bundle/Contents/Resources/IFCExporter_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmirtsch/IFC-For-Revit/f7ee4a6021f60e2e761b7a789fb9de64084caa86/Install/Program Files to Install/bundle/Contents/Resources/IFCExporter_16.png -------------------------------------------------------------------------------- /Install/Program Files to Install/bundle/Contents/Resources/IFCExporter_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jmirtsch/IFC-For-Revit/f7ee4a6021f60e2e761b7a789fb9de64084caa86/Install/Program Files to Install/bundle/Contents/Resources/IFCExporter_32.png -------------------------------------------------------------------------------- /Install/Program Files to Install/bundle/PackageContents.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This is a fork of the .NET code used by the Revit 2015-2018 family of products to support IFC, and the Revit 2012-2014 families of products to support IFC export. The open source version can override the version that comes standard with shipped Revit. Revit 2013-2018 contain both IFC export and IFC export UI overrides, which contain options not available in the regular UI, such as ifcXML and ifcZIP support. The Revit 2014-2018 versions also work for Revit LT 2014-2018, respectively. 2 | 3 | As an alternative approach of the sourc forge repository (https://sourceforge.net/p/ifcexporter/code/HEAD/tree/ ), branches are used to build for different versions of Revit rather than multiple folders of similar code. 4 | -------------------------------------------------------------------------------- /RevitIFCTools/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /RevitIFCTools/App.xaml: -------------------------------------------------------------------------------- 1 |  6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /RevitIFCTools/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace RevitIFCTools 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /RevitIFCTools/GeneratePsetDefWin.xaml: -------------------------------------------------------------------------------- 1 |  9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |