3ps-node

Node.js SDK for 3PS

Usage no npm install needed!

<script type="module">
  import psNode from 'https://cdn.skypack.dev/3ps-node';
</script>

README

3PS


3PS   |   Ideea.io   |   Full Documentation   |   NPM


3PS Node SDK

The 3PS API represents an abstraction of a 3D printer, with this API you can upload a .STL file and receive a tangible object just hours later. With this API you can print in any material, at any size, shipped anywhere in the world. Add 3D printing to your app, product or service in a matter of minutes with 3PS.

Installation

$ npm install 3ps-node

Getting Started

const TPS = require('3ps-node')
const fs = require('fs')

var tps = new TPS('API_KEY')

var component = {
    name: 'Dice',
    is_public: false,
    group_id: '00ffedbb-ff29-5138-9b5d-cd1f6ae3bc6b',

    // .stl File
    stl: fs.readFileSync('./dice.stl'),

    // Default Print Settings
    material: 'PLA',
    process: 'FDM',
    resolution: '200',
    infill: '20',
    color: 'Red',
}


// Create Component
tps.components.create(component).then(function(newComponent) {

    // Print Component
    tps.jobs.create({
        group_id: '00ffedbb-ff29-5138-9b5d-cd1f6ae3bc6b',
        fulfillment_type: 'standard',
        components: [{
            id: newComponent.id
        }]
    }).then(function(job) {
        console.log(`Printing ${job.id}`)
    })
})

Methods

Please refer to the full documentation for the full list of methods.

TPS.components.create(component)

In 3PS a component represents a single .STL file and an object is a collection of multiple components. Your component can be public or private, public components are accessible by all users and can be printed by anyone. You can also set your component’s default print settings for easy replication.

tps.components.create({
    name: 'Dice',
    is_public: false,
    group_id: '00ffedbb-ff29-5138-9b5d-cd1f6ae3bc6b',

    // .stl File
    stl: fs.readFileSync('./dice.stl'),

    // Default Print Settings
    material: 'PLA',
    process: 'FDM',
    resolution: '200',
    infill: '20',
    color: 'Red',
}).then((component) => {

    console.log(component)

})

TPS.jobs.create(job)

A job reprsents a request from a customer to print one or more componets. To create a job send an array of objects and compoents using method TPS.job.create().

tps.jobs.create({
    group_id: '00ffedbb-ff29-5138-9b5d-cd1f6ae3bc6b',
    components: [{
        id: 'cead04bc-cf4f-402a-8e90-1f33669efa03'
    }]
}).then((job) => {

    console.log(`Printing Job: ${job.id}`)

})