diff --git a/ids-lib.codegen/IdsRepo_Updater.cs b/ids-lib.codegen/IdsRepo_Updater.cs index c5fa407..57b46ce 100644 --- a/ids-lib.codegen/IdsRepo_Updater.cs +++ b/ids-lib.codegen/IdsRepo_Updater.cs @@ -98,11 +98,10 @@ internal static bool UpdateRequiresRestart() if (!updatables.Any()) return false; - Console.WriteLine("Updates are available from the IDS repository:"); + Console.WriteLine("There are file differences between this and the IDS repository:"); foreach (var updatable in updatables) Console.WriteLine($"- {updatable.Name}"); - - Console.WriteLine("Get these updates from IDS repository? (y/n)"); + Console.WriteLine("Should these files be updated? (y/n)"); var k = Console.ReadKey(); Console.WriteLine(); if (k.Key != ConsoleKey.Y) @@ -120,10 +119,29 @@ public static IEnumerable GetAllUpdatable(DirectoryInfo solutionD { return UpdateDocumentationUnits(solutionDir) .Concat(UpdateEmbeddedSchema(solutionDir)) + .Concat(UpdateDataTypeDoc(solutionDir)) .Concat(UpdateTestingSchema(solutionDir)); } - private static IEnumerable UpdateDocumentationUnits(DirectoryInfo solutionDir) + private static IEnumerable UpdateDataTypeDoc(DirectoryInfo solutionDir) + { + var source = Path.Combine( + solutionDir.FullName, + "ids-lib.codegen", + "buildingSMART", + "DataTypes.md" + ); + var sourceFile = new FileInfo(source); + var destFile = BuildingSmartRepoFiles.GetDocumentation("DataTypes.md"); + if (sourceFile.Exists) + { + if (BuildingSmartRepoFiles.FilesAreIdentical(sourceFile, destFile)) + yield break; + yield return new UpdatableFile("DataType documentation markdown", sourceFile.FullName, destFile.FullName); + } + } + + private static IEnumerable UpdateDocumentationUnits(DirectoryInfo solutionDir) { var sourceFile = BuildingSmartRepoFiles.GetDocumentation("units.md"); if (sourceFile.Exists) diff --git a/ids-lib.codegen/IfcSchema_DocumentationGenerator.cs b/ids-lib.codegen/IfcSchema_DocumentationGenerator.cs new file mode 100644 index 0000000..638dc83 --- /dev/null +++ b/ids-lib.codegen/IfcSchema_DocumentationGenerator.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Xbim.Common.Metadata; + +namespace IdsLib.codegen +{ + internal class IfcSchema_DocumentationGenerator + { + internal static string Execute(Dictionary dataTypeDictionary) + { + StringBuilder sb = new StringBuilder(); + var schemas = new string[] { "Ifc2x3", "Ifc4", "Ifc4x3" }; + + foreach (var dataType in dataTypeDictionary.Values.OrderBy(x=>x.Name)) + { + var checks = schemas.Select(x => dataType.Schemas.Contains(x) ? "✔️ " : "❌ "); + + sb.AppendLine($"| {dataType.Name,-45} | {string.Join(" | ", checks),-24} | {dataType.XmlBackingType,-21} |"); + } + + var source = stub; + source = source.Replace($"", sb.ToString()); + return source; + // Program.Message($"no change.", ConsoleColor.Green); + } + + private const string stub = @"# DataTypes + +Property dataTypes can be set to any values according to the following table. + +Columns of the table determine the validity of the type depending on the schema version and the required `xs:base` type for any `xs:restriction` constraint. + +| dataType | Ifc2x3 | Ifc4 | Ifc4x3 | Restriction base type | +| --------------------------------------------- | ------ | ------ | ------ | --------------------- | + + +Please note, this document has been automatically generated via the IDS Audit Tool repository, any changes should be initiated there. +"; + + } +} \ No newline at end of file diff --git a/ids-lib.codegen/Program.cs b/ids-lib.codegen/Program.cs index b808321..eedd6f9 100644 --- a/ids-lib.codegen/Program.cs +++ b/ids-lib.codegen/Program.cs @@ -24,7 +24,11 @@ static void Main() IfcSchema_DatatypeNamesGenerator.Execute(out var dataTypeDictionary), @"ids-lib\IfcSchema\SchemaInfo.MeasureNames.g.cs") | GeneratedContentChanged; - GeneratedContentChanged = EvaluateContentChanged( + GeneratedContentChanged = EvaluateContentChanged( + IfcSchema_DocumentationGenerator.Execute(dataTypeDictionary), + @"ids-lib.codegen\buildingSMART\DataTypes.md") | GeneratedContentChanged; + + GeneratedContentChanged = EvaluateContentChanged( IfcSchema_ClassGenerator.Execute(), @"ids-lib\IfcSchema\SchemaInfo.Schemas.g.cs") | GeneratedContentChanged; diff --git a/ids-lib.codegen/buildingSMART/DataTypes.md b/ids-lib.codegen/buildingSMART/DataTypes.md new file mode 100644 index 0000000..cd7b7f0 --- /dev/null +++ b/ids-lib.codegen/buildingSMART/DataTypes.md @@ -0,0 +1,403 @@ +# DataTypes + +Property dataTypes can be set to any values according to the following table. + +Columns of the table determine the validity of the type depending on the schema version and the required `xs:base` type for any `xs:restriction` constraint. + +| dataType | Ifc2x3 | Ifc4 | Ifc4x3 | Restriction base type | +| --------------------------------------------- | ------ | ------ | ------ | --------------------- | +| IFCABSORBEDDOSEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCACCELERATIONMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCACTIONREQUESTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCACTIONSOURCETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCACTIONTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCACTUATORTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCADDRESSTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCAIRTERMINALBOXTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCAIRTERMINALTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCAIRTOAIRHEATRECOVERYTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCALARMTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCALIGNMENTCANTSEGMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCALIGNMENTHORIZONTALSEGMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCALIGNMENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCALIGNMENTVERTICALSEGMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCAMOUNTOFSUBSTANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCANALYSISMODELTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCANALYSISTHEORYTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCANGULARVELOCITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCANNOTATIONTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCAREADENSITYMEASURE | ❌ | ✔️ | ✔️ | xs:double | +| IFCAREAMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCARITHMETICOPERATORENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCASSEMBLYPLACEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCAUDIOVISUALAPPLIANCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCBEAMTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCBEARINGTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCBENCHMARKENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCBINARY | ❌ | ✔️ | ✔️ | | +| IFCBOILERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCBOOLEAN | ✔️ | ✔️ | ✔️ | xs:boolean | +| IFCBOXALIGNMENT | ✔️ | ✔️ | ✔️ | xs:string | +| IFCBRIDGEPARTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCBRIDGETYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCBUILDINGELEMENTPARTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCBUILDINGELEMENTPROXYTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCBUILDINGSYSTEMTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCBUILTSYSTEMTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCBURNERTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCABLECARRIERFITTINGTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCABLECARRIERSEGMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCABLEFITTINGTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCABLESEGMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCAISSONFOUNDATIONTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCCARDINALPOINTREFERENCE | ❌ | ✔️ | ✔️ | xs:integer | +| IFCCHANGEACTIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCHILLERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCHIMNEYTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCOILTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCOLUMNTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCOMMUNICATIONSAPPLIANCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCOMPLEXPROPERTYTEMPLATETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCOMPRESSORTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCONDENSERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCONNECTIONTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCONSTRAINTENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCONSTRUCTIONEQUIPMENTRESOURCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCONSTRUCTIONMATERIALRESOURCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCONSTRUCTIONPRODUCTRESOURCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCONTEXTDEPENDENTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCCONTROLLERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCONVEYORSEGMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCCOOLEDBEAMTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCOOLINGTOWERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCOSTITEMTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCOSTSCHEDULETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCOUNTMEASURE | ✔️ | ✔️ | ✔️ | xs:integer | +| IFCCOURSETYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCCOVERINGTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCREWRESOURCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCCURRENCYENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCCURTAINWALLTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCCURVATUREMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCCURVEINTERPOLATIONENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCDAMPERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDATAORIGINENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDATE | ❌ | ✔️ | ✔️ | xs:date | +| IFCDATETIME | ❌ | ✔️ | ✔️ | xs:dateTime | +| IFCDAYINMONTHNUMBER | ✔️ | ✔️ | ✔️ | xs:integer | +| IFCDAYINWEEKNUMBER | ❌ | ✔️ | ✔️ | xs:integer | +| IFCDAYLIGHTSAVINGHOUR | ✔️ | ❌ | ❌ | xs:integer | +| IFCDERIVEDUNITENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDESCRIPTIVEMEASURE | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDIMENSIONCOUNT | ✔️ | ✔️ | ✔️ | xs:integer | +| IFCDIRECTIONSENSEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDISCRETEACCESSORYTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCDISTRIBUTIONBOARDTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCDISTRIBUTIONCHAMBERELEMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDISTRIBUTIONPORTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCDISTRIBUTIONSYSTEMENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCDOCUMENTCONFIDENTIALITYENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDOCUMENTSTATUSENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDOORPANELOPERATIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDOORPANELPOSITIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDOORSTYLECONSTRUCTIONENUM | ✔️ | ✔️ | ❌ | xs:string | +| IFCDOORSTYLEOPERATIONENUM | ✔️ | ✔️ | ❌ | xs:string | +| IFCDOORTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCDOORTYPEOPERATIONENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCDOSEEQUIVALENTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCDUCTFITTINGTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDUCTSEGMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDUCTSILENCERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCDURATION | ❌ | ✔️ | ✔️ | xs:duration | +| IFCDYNAMICVISCOSITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCEARTHWORKSCUTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCEARTHWORKSFILLTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCELECTRICAPPLIANCETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCELECTRICCAPACITANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCELECTRICCHARGEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCELECTRICCONDUCTANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCELECTRICCURRENTENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCELECTRICCURRENTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCELECTRICDISTRIBUTIONBOARDTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCELECTRICDISTRIBUTIONPOINTFUNCTIONENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCELECTRICFLOWSTORAGEDEVICETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCELECTRICFLOWTREATMENTDEVICETYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCELECTRICGENERATORTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCELECTRICHEATERTYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCELECTRICMOTORTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCELECTRICRESISTANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCELECTRICTIMECONTROLTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCELECTRICVOLTAGEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCELEMENTASSEMBLYTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCELEMENTCOMPOSITIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCENERGYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCENERGYSEQUENCEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCENGINETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCENVIRONMENTALIMPACTCATEGORYENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCEVAPORATIVECOOLERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCEVAPORATORTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCEVENTTRIGGERTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCEVENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCEXTERNALSPATIALELEMENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCFACILITYPARTCOMMONTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCFACILITYUSAGEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCFANTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFASTENERTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCFILTERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFIRESUPPRESSIONTERMINALTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFLOWDIRECTIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFLOWINSTRUMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFLOWMETERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFONTSTYLE | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFONTVARIANT | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFONTWEIGHT | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFOOTINGTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCFORCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCFREQUENCYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCFURNITURETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCGASTERMINALTYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCGEOGRAPHICELEMENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCGEOMETRICPROJECTIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCGEOTECHNICALSTRATUMTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCGLOBALLYUNIQUEID | ✔️ | ✔️ | ✔️ | xs:string | +| IFCGLOBALORLOCALENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCGRIDTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCHEATEXCHANGERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCHEATFLUXDENSITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCHEATINGVALUEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCHOURINDAY | ✔️ | ❌ | ❌ | xs:integer | +| IFCHUMIDIFIERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCIDENTIFIER | ✔️ | ✔️ | ✔️ | xs:string | +| IFCILLUMINANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCIMPACTPROTECTIONDEVICETYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCINDUCTANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCINTEGER | ✔️ | ✔️ | ✔️ | xs:integer | +| IFCINTEGERCOUNTRATEMEASURE | ✔️ | ✔️ | ✔️ | xs:integer | +| IFCINTERCEPTORTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCINTERNALOREXTERNALENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCINVENTORYTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCIONCONCENTRATIONMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCISOTHERMALMOISTURECAPACITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCJUNCTIONBOXTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCKERBTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCKINEMATICVISCOSITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLABEL | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLABORRESOURCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCLAMPTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLANGUAGEID | ❌ | ✔️ | ✔️ | xs:string | +| IFCLAYERSETDIRECTIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLENGTHMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLIGHTDISTRIBUTIONCURVEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLIGHTEMISSIONSOURCEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLIGHTFIXTURETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLINEARFORCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLINEARMOMENTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLINEARSTIFFNESSMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLINEARVELOCITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLIQUIDTERMINALTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCLOADGROUPTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLOGICAL | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLOGICALOPERATORENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCLUMINOUSFLUXMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCLUMINOUSINTENSITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMAGNETICFLUXDENSITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMAGNETICFLUXMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMARINEFACILITYTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCMARINEPARTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCMASSDENSITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMASSFLOWRATEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMASSMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMASSPERLENGTHMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMECHANICALFASTENERTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCMEDICALDEVICETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCMEMBERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCMINUTEINHOUR | ✔️ | ❌ | ❌ | xs:integer | +| IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCMODULUSOFELASTICITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMODULUSOFSUBGRADEREACTIONMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMOISTUREDIFFUSIVITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMOLECULARWEIGHTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMOMENTOFINERTIAMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMONETARYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCMONTHINYEARNUMBER | ✔️ | ✔️ | ✔️ | xs:integer | +| IFCMOORINGDEVICETYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCMOTORCONNECTIONTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCNAVIGATIONELEMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCNONNEGATIVELENGTHMEASURE | ❌ | ✔️ | ✔️ | xs:double | +| IFCNORMALISEDRATIOMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCNULLSTYLE | ✔️ | ✔️ | ❌ | xs:string | +| IFCNULLSTYLEENUM | ✔️ | ✔️ | ❌ | xs:string | +| IFCNUMERICMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCOBJECTIVEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCOBJECTTYPEENUM | ✔️ | ✔️ | ❌ | xs:string | +| IFCOCCUPANTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCOPENINGELEMENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCOUTLETTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPARAMETERVALUE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPAVEMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCPERFORMANCEHISTORYTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCPERMEABLECOVERINGOPERATIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPERMITTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCPHMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPHYSICALORVIRTUALENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPILECONSTRUCTIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPILETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPIPEFITTINGTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPIPESEGMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPLANARFORCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPLANEANGLEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPLATETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPOSITIVEINTEGER | ❌ | ✔️ | ✔️ | xs:integer | +| IFCPOSITIVELENGTHMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPOSITIVEPLANEANGLEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPOSITIVERATIOMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPOWERMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPRESENTABLETEXT | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPRESSUREMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCPROCEDURETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPROFILETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPROJECTEDORTRUELENGTHENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPROJECTIONELEMENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCPROJECTORDERRECORDTYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCPROJECTORDERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPROPERTYSETTEMPLATETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCPROPERTYSOURCEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCPROTECTIVEDEVICETRIPPINGUNITTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCPROTECTIVEDEVICETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCPUMPTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCRADIOACTIVITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCRAILINGTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCRAILTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCRAILWAYPARTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCRAILWAYTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCRAMPFLIGHTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCRAMPTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCRATIOMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCREAL | ✔️ | ✔️ | ✔️ | xs:double | +| IFCRECURRENCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCREFERENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCREFLECTANCEMETHODENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCREINFORCEDSOILTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCREINFORCINGBARROLEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCREINFORCINGBARSURFACEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCREINFORCINGBARTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCREINFORCINGMESHTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCRESOURCECONSUMPTIONENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCRIBPLATEDIRECTIONENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCROADPARTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCROADTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCROLEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCROOFTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCROTATIONALFREQUENCYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCROTATIONALMASSMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCROTATIONALSTIFFNESSMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSANITARYTERMINALTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSECONDINMINUTE | ✔️ | ❌ | ❌ | xs:double | +| IFCSECTIONALAREAINTEGRALMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSECTIONMODULUSMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSECTIONTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSENSORTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSEQUENCEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSERVICELIFEFACTORTYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCSERVICELIFETYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCSHADINGDEVICETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSHEARMODULUSMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSIGNALTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCSIGNTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCSIMPLEPROPERTYTEMPLATETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSLABTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSOLARDEVICETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSOLIDANGLEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSOUNDPOWERLEVELMEASURE | ❌ | ✔️ | ✔️ | xs:double | +| IFCSOUNDPOWERMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSOUNDPRESSURELEVELMEASURE | ❌ | ✔️ | ✔️ | xs:double | +| IFCSOUNDPRESSUREMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSOUNDSCALEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCSPACEHEATERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSPACETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSPATIALZONETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSPECIFICHEATCAPACITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSPECULAREXPONENT | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSPECULARROUGHNESS | ✔️ | ✔️ | ✔️ | xs:double | +| IFCSTACKTERMINALTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSTAIRFLIGHTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSTAIRTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSTATEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSTRIPPEDOPTIONAL | ❌ | ✔️ | ✔️ | xs:boolean | +| IFCSTRUCTURALCURVEACTIVITYTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSTRUCTURALCURVEMEMBERTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSTRUCTURALCURVETYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCSTRUCTURALSURFACEACTIVITYTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSTRUCTURALSURFACEMEMBERTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSTRUCTURALSURFACETYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCSUBCONTRACTRESOURCETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSURFACEFEATURETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCSURFACETEXTUREENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCSWITCHINGDEVICETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCSYSTEMFURNITUREELEMENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCTANKTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTASKDURATIONENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCTASKTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCTEMPERATUREGRADIENTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTEMPERATURERATEOFCHANGEMEASURE | ❌ | ✔️ | ✔️ | xs:double | +| IFCTENDONANCHORTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCTENDONCONDUITTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCTENDONTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTEXT | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTEXTALIGNMENT | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTEXTDECORATION | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTEXTFONTNAME | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTEXTTRANSFORMATION | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTHERMALADMITTANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTHERMALCONDUCTIVITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTHERMALEXPANSIONCOEFFICIENTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTHERMALLOADSOURCEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCTHERMALLOADTYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCTHERMALRESISTANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTHERMALTRANSMITTANCEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTHERMODYNAMICTEMPERATUREMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTIME | ❌ | ✔️ | ✔️ | xs:time | +| IFCTIMEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTIMESERIESDATATYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTIMESERIESSCHEDULETYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCTIMESTAMP | ✔️ | ✔️ | ✔️ | xs:integer | +| IFCTORQUEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCTRACKELEMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCTRANSFORMERTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTRANSPORTELEMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCTUBEBUNDLETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCUNITARYCONTROLELEMENTTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCUNITARYEQUIPMENTTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCUNITENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCURIREFERENCE | ❌ | ✔️ | ✔️ | xs:string | +| IFCVALVETYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCVAPORPERMEABILITYMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCVEHICLETYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCVIBRATIONDAMPERTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCVIBRATIONISOLATORTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCVIRTUALELEMENTTYPEENUM | ❌ | ❌ | ✔️ | xs:string | +| IFCVOIDINGFEATURETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCVOLUMEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCVOLUMETRICFLOWRATEMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCWALLTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCWARPINGCONSTANTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCWARPINGMOMENTMEASURE | ✔️ | ✔️ | ✔️ | xs:double | +| IFCWASTETERMINALTYPEENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCWELLKNOWNTEXTLITERAL | ❌ | ❌ | ✔️ | xs:string | +| IFCWINDOWPANELOPERATIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCWINDOWPANELPOSITIONENUM | ✔️ | ✔️ | ✔️ | xs:string | +| IFCWINDOWSTYLECONSTRUCTIONENUM | ✔️ | ✔️ | ❌ | xs:string | +| IFCWINDOWSTYLEOPERATIONENUM | ✔️ | ✔️ | ❌ | xs:string | +| IFCWINDOWTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCWINDOWTYPEPARTITIONINGENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCWORKCALENDARTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCWORKCONTROLTYPEENUM | ✔️ | ❌ | ❌ | xs:string | +| IFCWORKPLANTYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCWORKSCHEDULETYPEENUM | ❌ | ✔️ | ✔️ | xs:string | +| IFCYEARNUMBER | ✔️ | ❌ | ❌ | xs:integer | + + +Please note, this document has been automatically generated via the IDS Audit Tool repository, any changes should be initiated there. diff --git a/ids-lib.codegen/ids-lib.codegen.sln b/ids-lib.codegen/ids-lib.codegen.sln new file mode 100644 index 0000000..4ae20e2 --- /dev/null +++ b/ids-lib.codegen/ids-lib.codegen.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.002.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ids-lib.codegen", "ids-lib.codegen.csproj", "{BB27DE57-1763-4F72-8FD6-F61F2E58A410}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BB27DE57-1763-4F72-8FD6-F61F2E58A410}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BB27DE57-1763-4F72-8FD6-F61F2E58A410}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BB27DE57-1763-4F72-8FD6-F61F2E58A410}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BB27DE57-1763-4F72-8FD6-F61F2E58A410}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {DE61674E-6E6D-463C-9551-669F32E7E8A9} + EndGlobalSection +EndGlobal