@jscad/x3d-serializer

2.4.9 • Public • Published

@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.

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

Package Sidebar

Install

npm i @jscad/x3d-serializer

Weekly Downloads

286

Version

2.4.9

License

MIT

Unpacked Size

36.7 kB

Total Files

8

Last publish

Collaborators

  • platypii
  • z3dev
  • mister-jscad
  • simon_clark