Skip to content

Latest commit

 

History

History

iges

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

iges

npm version npm downloads Twitter Follow

This project is part of the @thi.ng/umbrella monorepo.

About

IGES 5.3 serializer for (currently only) polygonal geometry, both open & closed.

Mainly intended for exporting geometry to be used in various CAD applications (e.g. Rhino, Houdini, Fusion 360)

houdini

Status

ALPHA - bleeding edge / work-in-progress

Search or submit any issues for this package

Related packages

  • @thi.ng/geom - Functional, polymorphic API for 2D geometry types & SVG generation

Installation

yarn add @thi.ng/iges

ES module import:

<script type="module" src="https://cdn.skypack.dev/@thi.ng/iges"></script>

Skypack documentation

For NodeJS (v14.6+):

node --experimental-specifier-resolution=node --experimental-repl-await

> const iges = await import("@thi.ng/iges");

Package sizes (gzipped, pre-treeshake): ESM: 2.89 KB

Dependencies

API

Generated API docs

import * as iges from "@thi.ng/iges";

const doc = iges.newDocument({
    maxCoord: 100,
    precision: 3,
    author: "toxi",
    authorOrg: "thi.ng",
});

doc.start = [
    "Example file for @thi.ng/iges",
    "Defines single open 2D polyline (type 106)"
];

iges.addPolyline(doc, [
    [0,0],
    [0, 100],
    [50, 150],
    [100, 100],
    [0, 100],
    [100, 0],
    [0, 0],
    [100, 100],
    [100, 0]
]);

console.log(iges.serialize(doc));

Resulting output (IGES is a text file format):

Example file for @thi.ng/iges                                           S      1
Defines single open 2D polyline (type 106)                              S      2
1H,,1H;,,,12H@thi.ng/iges,5H0.0.1,32,38,6,308,15,,1.000,2,2HMM,1,0.254, G      1
15H20180712.212228,0.001,100.000,4Htoxi,6Hthi.ng,11,0,                  G      2
15H20180712.212228;                                                     G      3
     106       1       0       0       0       0       0       000000000D      1
     106       0       0       3      11       0       0               0D      2
106,1,9,0.000,0.000,0.000,0.000,100.000,50.000,150.000,100.000,  0000001P      1
100.000,0.000,100.000,100.000,0.000,0.000,0.000,100.000,100.000, 0000001P      2
100.000,0.000;                                                   0000001P      3
S0000002G0000003D0000002P0000003                                        T      1

Authors

Karsten Schmidt

If this project contributes to an academic publication, please cite it as:

@misc{thing-iges,
  title = "@thi.ng/iges",
  author = "Karsten Schmidt",
  note = "https://thi.ng/iges",
  year = 2016
}

License

© 2016 - 2021 Karsten Schmidt // Apache Software License 2.0