Skip to content

Latest commit

 

History

History
75 lines (54 loc) · 1.64 KB

README.md

File metadata and controls

75 lines (54 loc) · 1.64 KB

IxMilia.Iges

A portable .NET library for reading and writing IGES files.

Usage

Open an IGES file:

using System.IO;
using IxMilia.Iges;
using IxMilia.Iges.Entities;
// ...

IgesFile igesFile;
using (FileStream fs = new FileStream(@"C:\Path\To\File.iges", FileMode.Open))
{
    igesFile = IgesFile.Load(fs);
}

// if on >= NETStandard1.3 you can use:
// IgesFile igesFile = IgesFile.Load(@"C:\Path\To\File.iges");

foreach (IgesEntity entity in igesFile.Entities)
{
    switch (entity.EntityType)
    {
        case IgesEntityType.Line:
            IgesLine line = (IgesLine)entity;
            // ...
            break;
        // ...
    }
}

Save a IGES file:

using System.IO;
using IxMilia.Iges;
using IxMilia.Iges.Entities;
// ...

IgesFile igesFile = new IgesFile();
igesFile.Entities.Add(new IgesLine() { P1 = new IgesPoint(0, 0, 0), P2 = new IgesPoint(50, 50, 0) });
// ...

using (FileStream fs = new FileStream(@"C:\Path\To\File.iges", FileMode.Create))
{
    igesFile.Save(fs);
}

// if on >= .NETStandard1.3 you can use:
// igesFile.Save(@"C:\Path\To\File.iges");

Building locally

To build locally, install the latest .NET Core 3.0 SDK.

IGES reference

Full specification (from uspro.org)

Sample files

Sample files can be found here. Of particular note are the following categories: