@jscad/x3d-serializer
v2.4.9
Published
X3D Serializer for JSCAD
Downloads
1,560
Readme
@jscad/x3d-serializer
Serializer of JSCAD geometries to X3D shapes
Overview
This serializer outputs a 'blobable' array of data from one or more JSCAD geometries.
The array of data can either be used to create a Blob (new Blob(blobable)
), or converted to a Node.js buffer.
The serialization of the following geometries are possible.
- serialization of 3D geometries (geom3) to X3D IndexedTriangleSet (a unique mesh containing coordinates)
- serialization of 2D geometries (geom2) to X3D Polyline2D
- serialization of 2D paths (path2) to X3D Polyline2D
The id attribute is used as the DEF name for the generated X3D shape when found on a geometry.
Material (color) is added to X3D shapes when found on a geometry.
All shapes are wrapped in a rotation transform to align the positive Z direction of JSCAD with the vertical up direction in X3D.
Table of Contents
Installation
npm install @jscad/x3d-serializer
Usage
const x3dSerializer = require('@jscad/x3d-serializer')
const rawData = x3dSerializer.serialize({unit: 'inch'}, geometry)
//in browser (with browserify etc)
const blob = new Blob(rawData)
Contributing
The various JSCAD packages and all source code are part of the JSCAD Organization, and maintained by a group of volunteers. We welcome and encourage anyone to pitch in but please take a moment to read the following guidelines.
If you want to submit a bug report please make sure to follow the Reporting Issues guide. Bug reports are accepted as Issues via GitHub.
If you want to submit a change or a patch, please read the Contributing Guide. New contributions are accepted as Pull Requests via GitHub.
We only accept bug reports and pull requests on GitHub.
If you have a question about how to use JSCAD, then please start a conversation at the JSCAD User Group. You might find the answer in the JSCAD User Guide.
If you have a change or new feature in mind, please start a conversation with the Core Developers and start contributing changes.
Small Note: If editing this README, please conform to the standard-readme specification.
License
The MIT License (MIT) (unless specified otherwise)