Skip to content
3PS Node
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.editorconfig
.eslintignore
.eslintrc
.gitignore
.npmignore
README.md
package.json

README.md

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}`)

})
You can’t perform that action at this time.