This project is part of the @thi.ng/umbrella monorepo.
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)
ALPHA - bleeding edge / work-in-progress
yarn add @thi.ng/iges
// ES module
<script type="module" src="https://unpkg.com/@thi.ng/iges?module" crossorigin></script>
// UMD
<script src="https://unpkg.com/@thi.ng/iges/lib/index.umd.js" crossorigin></script>
Package sizes (gzipped, pre-treeshake): ESM: 2.82 KB / CJS: 2.86 KB / UMD: 2.79 KB
- @thi.ng/api
- @thi.ng/checks
- @thi.ng/defmulti
- @thi.ng/strings
- @thi.ng/transducers
- @thi.ng/vectors
- tslib
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
Karsten Schmidt
© 2016 - 2020 Karsten Schmidt // Apache Software License 2.0