0.0.2 • Public • Published

A simple tool for exporting meshes to ZIP archives


Mesh Exporter is available through the npm registry:

$ npm install @oneisland/mesh-exporter


After installing Mesh Exporter you can use the package like so:

// Import the mesh package
import { Mesh } from '@oneisland/mesh';

// Import the mesh exporter package
import { MeshExporter } from '@oneisland/mesh-exporter';

// Create a cube mesh
const cube = new Mesh({

  // Add the label
  label: `Cube`,
  // Add the vertices
  vertices: [
    [-0.5, -0.5,  0.5],
    [ 0.5, -0.5,  0.5],
    [ 0.5, -0.5, -0.5],
    [-0.5, -0.5, -0.5],
    [-0.5,  0.5,  0.5],
    [ 0.5,  0.5,  0.5],
    [ 0.5,  0.5, -0.5],
    [-0.5,  0.5, -0.5]
  // Add the faces
  faces: [
    [2, 3, 0],
    [2, 1, 0],
    [7, 3, 0],
    [0, 4, 7],
    [4, 0, 1],
    [1, 5, 4],
    [6, 2, 3],
    [3, 7, 6],
    [5, 1, 2],
    [2, 6, 5],
    [7, 4, 5],
    [5, 6, 7]

// Create an exporter
const example = new MeshExporter('example');

// Add the cube to the root folder of the archive

// Save / export the archive (example.zip)

Running the following code with Node:

$ node simple-example.js

The script will create a ZIP archive which includes an STL and OBJ for the cube mesh.

Please read the documentation below for more details on how to configure Mesh Exporter.

You can check out the tests or the source code of our Structure library for more complex usage.



class MeshExporter {

  constructor(filepath) {}

  addMesh(mesh) {}

  addMeshes(meshes) {}

MeshExporter is a class which is instantiated for usage within a Class or Object.

Once instantiated, a Mesh Exporter ex0.5es two functions for use:

  • addMesh - Add a singular mesh to the archive for exporting
  • addMeshes - Add a number of arrays of meshes to the archive for exporting



The filename parameter defines the filename (with or without .zip extension) for the archive of exports.

The filepath parameter can include the relative filepath for the archive of exports (from the current working direction).

The filepath should be a String.

// Example filepath (with filename) 

// Example filepath (with folder and filename) 

// Example filepath (with folder and filename and extension) 


The addMesh function accepts one argument mesh which must be a Mesh.

The addMesh function will generate an STL and OBJ of the mesh within the root directory of the archive.

See the usage example above.


The addMeshes function accepts one argument meshes which must be an Object, of which each property must be an Array of Mesh.

The addMeshes function will generate a folder for each property of meshes by the same name.

The addMeshes function will generate an STL and OBJ of each mesh within each of the meshes properties in the respective directory of the archive.

See the usage example above.


The save function is called to export the archive.

The save function is asyncronous and can be awaited.

The save function will save the archive to the respective filename (and filepath) if running from Node.js, or download if running from the browser.



Copyright (c) 2019-present, OneIsland Limited

Package Sidebar


npm i @oneisland/mesh-exporter

Weekly Downloads






Unpacked Size

24.2 kB

Total Files


Last publish


  • danzlarkin