@jscad/x3d-serializer

X3D Serializer for JSCAD

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@jscad/x3d-serializer
2,5241332.4.62 months ago7 years agoMinified + gzip package size for @jscad/x3d-serializer in KB

Readme

@jscad/x3d-serializer
Serializer of JSCAD geometries to X3D shapes

NPM version NPM downloads Build Status Stability License
User Group Lerna JavaScript Style Guide
Backers Sponsors
Open Collective

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.


  • We only accept bug reports and pull requests on GitHub.


  • 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)