top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

    Get Free Article Updates

Facebook Login
Site Registration
Print Preview

Discussion About ShapeJS?

+2 votes

What is ShapeJS?

ShapeJS is a language designed to make creating and sharing 3D printable objects easy. Based on Javascript, it provides a rich set of solid modeling primitives over top a powerful voxel engine. 

The combination enables control of 3d printed objects down to printer resolution levels. The voxel approach has many advantages over typical triangle systems and aligns well with how 3d printers actually manufacture items.

Scripts include a parameter definition to allow interactive exploration of interesting variants via an automatically generated user interface

ShapeJS provides assistance in generating correct wall-thickness and manifold objects through per-voxel level control.

  • Supports use of 2D Image data to be mapped onto 3D objects without compromising functional design.
  • Per-voxel level control enables generation of printable products at printer native resolutions.
It used to be hard to create applications that generate 3D printable geometry.With ShapeJS it's as simple as a few lines of code!

ShapeJS Scripts are Javascript programs over top the AbFab3D Voxel library. All standard Javascript functionality is supported.

Video for Shape.Js

posted Jan 11 by Manish Tiwari

  Promote This Article
Facebook Share Button Twitter Share Button Google+ Share Button LinkedIn Share Button Multiple Social Share Button

Related Articles

What is OpenUI5?

OpenUI5 is an open source JavaScript UI library, maintained by SAP and available under the Apache 2.0 license. OpenUI5 lets you build enterprise-ready web applications, responsive to all devices, running on almost any browser of your choice. It’s based on JavaScript, using JQuery as its foundation, and follows web standards. It eases your development with a client-side HTML5 rendering library including a rich set of controls, and supports data binding to different models (JSON, XML and OData).


  • Enterprise-Ready Web Toolkit
  • Powerful Development Concepts
  • Feature-Rich UI Controls
  • Consistent User Experience
  • Free and Open Source
  • Responsive Across Browsers and Devices

OpenUI5 offers powerful development concepts:

  • One consistent user experience for your apps
  • Responsive across browsers and devices - smartphones, tablets, desktops
  • Built-in extensibility concepts at code and application level
  • Data binding types and Model-View-Controller (MVC)
  • Feature-rich UI controls for handling complex UI patterns and predefined layouts for typical use cases.
  • UI controls automatically adapt themselves to the capabilities of each device.
  • Full translation support
  • Keyboard interaction support and accessibility features

Video for Openui5 


What is Agility.Js?

Agility.js is an MVC library for Javascript that lets you write maintainable and reusable browser code without the verbose or infrastructural overhead found in other MVC libraries. The goal is to enable developers to write web apps at least as quickly as with jQuery, while simplifying long-term maintainability through MVC objects.

Agility supports (but does not require) writing your entire code in Javascript, that is, content (HTML), style (CSS), and behavior (JS) can all be contained within Javascript objects.

Agility works with a single object type that contains a full model-view-controller stack. These MVC objects are built by passing initializers to the factory function $$(), which takes care of setting up default bindings, auto-proxying, etc. 

// Hello World
var message = $$({
  model: {},
  view: {
    format: '<div>Hello World</div>'
  controller: {}


Agility comes with a simple and flexible peristance plugin that allows Agility objects to be loaded from and saved to a server. 


Video for Agility.js


What is Sequelize ?

Sequelize.js is an ORM (Object/Relational Mapper) which provides easy access to MySQL, MariaDB, SQLite or PostgreSQL databases by mapping database entries to objects and vice versa. It has very powerful migrations mechanism that can transform existing database schema into a new version. It also provides database synchronization mechanisms that can create database structure by specifying the model structure.

Although Sequelize.js is new library, it have been battle tested. Currently web sites like Shutterstock, Clevertech, Metamarkets and Innofluence have announced that they are using Sequelize.js as ORM of their website.

Sequelize is available via NPM.

$ npm install --save sequelize

# And one of the following:
$ npm install --save pg pg-hstore
$ npm install --save mysql // For both mysql and mariadb dialects
$ npm install --save sqlite3
$ npm install --save tedious // MSSQL

For Setup a Connection

Sequelize will setup a connection pool on initialization so you should ideally only ever create one instance per database. 

Example Code :

var sequelize = new Sequelize('database', 'username', 'password', {
  host: 'localhost',
  dialect: 'mysql'|'mariadb'|'sqlite'|'postgres'|'mssql',

  pool: {
    max: 5,
    min: 0,
    idle: 10000

  // SQLite only
  storage: 'path/to/database.sqlite'

// Or you can simply use a connection uri
var sequelize = new Sequelize('postgres://');


Video for Sequelize Introduction


What is Dimple ?
The aim of dimple is to open up the power and flexibility of d3 to analysts. It aims to give a gentle learning curve and minimal code to achieve something productive. It also exposes the d3 objects so you can pick them up and run to create some really cool stuff.

Dimple is a library to aid in the creation of standard business visualisations based on d3.js.

The dimple api uses a handful of fundamental objects for chart creation. This is a deviation from the functional chaining pattern of d3, however it should be familiar to those of you coming from many other commercial charting applications.

To allow you to tinker with the inner workings, dimple exposes all its methods and properties. However it is highly recommended that you stick to the stuff that's supposed to be public, therefore any properties or methods which do not form part of the official public API will be prefixed with an underscore (_).

Example Code

var chart = new dimple.chart(svg, data);
chart.addCategoryAxis("x", "Region");
chart.addMeasureAxis("y", "Volume");


Video for Dimple.Js​


What is MetricsGraphics.js ?

MetricsGraphics.js is a library built on top of D3 that is optimized for visualizing and laying out time-series data. It provides a simple way to produce common types of graphics in a principled, consistent and responsive way. The library currently supports line charts, scatterplots, histograms, bar charts and data tables as well as features like rug plots and basic linear regression.
The API is simple. All that's needed to create a graphic is to specify a few default parameters and then, if desired, override one or more of the optional parameters on offer. We don't maintain state. To update a graphic, one would call MG.data_graphic on the same target element.

Complete List Of Options

    title: "Downloads",
    description: "This graphic shows a time-series of downloads.",
    data: [{'date':new Date('2014-11-01'),'value':12},
           {'date':new Date('2014-11-02'),'value':18}],
    width: 600,
    height: 250,
    target: '#downloads',
    x_accessor: 'date',
    y_accessor: 'value',

The library is data-source agnostic. While it provides a number of convenience functions and options that allow for graphics to better handle things like missing observations, it doesn't care where the data comes from.



What is Chart.Js

Chart.js is a JavaScript library that allows you to draw different types of charts by using the HTML5 canvas element. Since it uses canvas , you have to include a polyfill to support older browsers.

The library doesn’t have dependencies and its weight is very low as it’s ~11kb in size when minified, concatenated, and served gzipped. However, you’re able to reduce the size even further, if you don’t use all six of the core chart types, by including only the modules you need. So, let’s say that you only need to draw a bar chart in your website, you can include the core and the bar module and save bandwidth for your users.

Another cool feature of Chart.js is that the charts are responsive, so they will adapt based on the space available. Finally, unlike many libraries you can find on the web, it provides extensive and clear documentation that makes using its basic features as well as its advanced options very easy.

Installation Steps


npm install chart.js --save


bower install chart.js --save

For Getting Started

<script src="Chart.js"></script>
    var myChart = new Chart({...})

Video for Chart.js Introduction



What is Browserify ?

Browserify (in the simplest use case) looks at a single JavaScript file, and follows the require dependency tree, and bundles them into a new file. It does this using the Common JS require pattern, just like Node, and enables you to require packages installed via NPM

Browserify allows us to use node.js style modules in the browser. We define dependencies and then Browserify bundles it all up into a single neat and tidy JavaScript file. You include your required JavaScript files using require('./yourfancyJSfile.js') statements and can also import publicly available modules from npm.

Browserify will recursively analyze all the require() calls in your app in order to build a bundle you can serve up to the browser in a single <script> tag.

Browserify lets you require('modules') in the browser by bundling up all of your dependencies.

Npm Install Syntax:

npm install -g browserify

View more about browserify -

Video for Browserify

Contact Us
+91 9880187415
#470/147, 3rd Floor, 5th Main,
HSR Layout Sector 7,
Bangalore - 560102,
Karnataka INDIA.