codessentials.CGM
1.2.0
dotnet add package codessentials.CGM --version 1.2.0
NuGet\Install-Package codessentials.CGM -Version 1.2.0
<PackageReference Include="codessentials.CGM" Version="1.2.0" />
<PackageVersion Include="codessentials.CGM" Version="1.2.0" />
<PackageReference Include="codessentials.CGM" />
paket add codessentials.CGM --version 1.2.0
#r "nuget: codessentials.CGM, 1.2.0"
#:package codessentials.CGM@1.2.0
#addin nuget:?package=codessentials.CGM&version=1.2.0
#tool nuget:?package=codessentials.CGM&version=1.2.0
codessentials.CGM
This library reads CGM (Computer Graphics Metafile) in binary and clear text format. Read graphics can be modified, analyzed and exported. Creating new graphics is also supported.
It implements the ISO/IEC 8632-3:1999 and ISO/IEC 8632-4:1999 specification.
Some additional functions for reading technical documentation items (Figures, Names) etc are also implemented.
Install
Add the NuGet package codessentials.CGM to any project supporting .NET Standard 2.0 or higher.
> dotnet add package codessentials.CGM
Usage
Write new CGM files
var writer = new CgmWriter(FileFormat.Binary);
writer.SetDescription("Created By UnitTest");
writer.SetElementList("DRAWINGPLUS");
writer.SetFontList(new[] { "Arial", "Arial Bold" });
writer.SetCharacterSetList(new[] { new KeyValuePair<CharacterSetList.Type, string>(CharacterSetList.Type._94_CHAR_G_SET, "B"), new KeyValuePair<CharacterSetList.Type, string>(CharacterSetList.Type._96_CHAR_G_SET, "A"), new KeyValuePair<CharacterSetList.Type, string>(CharacterSetList.Type.COMPLETE_CODE, "I"), new KeyValuePair<CharacterSetList.Type, string>(CharacterSetList.Type.COMPLETE_CODE, "L") });
writer.SetVDCType(VDCType.Type.Real);
// add several "drawing" commands
writer.AddCommand(...)
//
writer.Finish();
var data = writer.GetContent();
Read & write binary CGM
var cgm = new BinaryCgmFile("corvette.cgm");
// modify graphic
cgm.WriteFile();
Convert binary to clear text format
var binaryFile = new BinaryCgmFile("corvette.cgm");
var cleanTextFile = new ClearTextCgmFile(binaryFile);
var content = cleanTextFile.GetContent();
CGMFile Helper functions
| Name | Description |
|---|---|
| ContainsTextElement | Determines whether any text element equals the specified text. |
| GetMetaTitle | Gets the meta data title. |
| GetGraphicName | Gets the title of the illustration. |
| GetFigureItemTexts | Gets all texts of the figure items. |
| ContainsFigureItemText | Determines whether CGM contains a specific figure item text. |
| GetRectangles | Gets all found rectangles. |
Geometry Recognition Engine
The class GeometryRecognitionEngine provides several functions to find rectangles.
| Name | Description |
|---|---|
| GetRectangles | Gets all rectangles of the given file. |
| IsNearBy | Determines whether point A is near point b. |
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Drawing.Common (>= 10.0.0)
- System.Text.Encoding.CodePages (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.