Repository navigation
Conversation
The CLI printed every adapter diagnostic other than Info with the prefix "Warning:". Diagnostics are now grouped by severity and code, and a group of Error severity is printed with "Error:".
The OpenMcdf 3.4.0 package names github.com/openmcdf/openmcdf as its repository; the notices pointed to the former location.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes and why
The
ioviewertool reads IFC (.ifc,.ifczip) and Revit (.rvt) models through the engine adaptersIfcIO.Scene0.11.0 andRvtIO.Scene0.4.0, so a model becomes a viewer without writing code. TheIOViewerlibrary is unchanged (nothing undersrc/IOViewer) and still depends only onIOScene; only theIOViewer.Clitool package references the engines.CLI
.ifc/.ifczipare read withIfcSceneReader.Read,.rvtwithRvtSceneReader.Read; the resultingSceneDocumentis wrapped in aViewerDocument. The usage line,--helpand the unsupported-extension message list the new inputs.Error: read-cut: ... (1 more)). Info entries are not printed. Error severity is printed asError:, but the exit code stays 0.WarningsNotAsErrorsNU1901-NU1904 inIOViewer.Cli.csproj: withTreatWarningsAsErrorsand NuGet audit on, an advisory against a dependency of an engine would otherwise fail the tool build and the release.Repository
Directory.Packages.props:IfcIO.Scene0.11.0 andRvtIO.Scene0.4.0.THIRD-PARTY-NOTICES.md: a section for the tool package listing IfcIO, RvtIO, the .NET DeflateManaged sources compiled into RvtIO, OpenMcdf 3.4.0 (MPL-2.0) and SharpZipLib 1.4.2, plus buildingSMART and Autodesk trademark lines.docs/getting-started.md,docs/index.mdand the CHANGELOG[Unreleased]section describe IFC and RVT input.IOVIEWER_RVT_FILE,--filter Cli_ConvertRvtToHtml), which CI does not have.Tests
Added to
ModelAndCliIntegrationTests:Cli_ConvertIfcToHtml_ReadsTheModelThroughIfcIO: an IFC2X3 model built in code (wall withPset_WallCommon, unstyled window, proxy with hostile name and property strings) converted to HTML and JSON. Checks exit code 0, empty standard error, model key, title, 3 instances, the wall's properties and GlobalId assourceId, the window's half opacity, and that the hostile string is not written raw into the page.Cli_AdapterDiagnostics_AreReportedOncePerSeverityAndKind: grouping, counts and theError:/Warning:prefixes.Cli_ConvertRvtToHtml_ReadsTheModelThroughRvtIO: runs only whenIOVIEWER_RVT_FILEnames a Revit 2022 file, skipped otherwise; no Revit file is committed.CliTests: the help assertion follows the new usage line.Run with
IfcIO.Scene0.11.0 andRvtIO.Scene0.4.0 packed from their branches into a local package folder (RvtIO.Scenefromfeat/rvtio-sceneatae61489, with the fixes of IOExtend/RvtIO#197 and IOExtend/RvtIO#198):dotnet build IOViewer.slnx -c Releasehas no warnings: 0 warnings, 0 errors.dotnet test IOViewer.slnx -c Releasepasses: 118 tests on each of net8.0 and net10.0, 117 passed, 1 skipped (the RVT test withoutIOVIEWER_RVT_FILE). WithIOVIEWER_RVT_FILEset to a private Revit 2022 sample the RVT test passes on both TFMs: 731 meshes, about 9.8 MB of HTML, oneno-geometrywarning line on standard error.THIRD-PARTY-NOTICES.mdCI cannot restore this branch yet:
IfcIO.Scene0.11.0 andRvtIO.Scene0.4.0 are not on nuget.org.Notes
main; its diff is the CLI change only. It stays a draft until IOScene 0.1.0 is published andIfcIO.Scene0.11.0 andRvtIO.Scene0.4.0 are released on top of it, because the engines' release scripts refuse an adapter on a preview IOScene.IfcIO.Scene0.11.0 andRvtIO.Scene0.4.0 releases on nuget.org. Until both exist, restore and CI fail; the PR stays a draft until they are published and CI passes.ioviewerexit non-zero?