logo
Rollup Application

Rollup Application

Introduction

Using the 3rd party web-services, created a rollup full stack MERN (MongoDB, Express, React, Node) application that was in integration with a CAD based application that calculated mass of parts and created a bill of materials for rolled up mass

The Mass and Cost Rollup tool provides a tool for Engineers and other business areas to consume the mass and cost information relating to a bill of materials that resides within the 3DEXPERIENCE platform. Data can be viewed, tracked and edited depending on the users’ granted role within the tool.

Tech Stack used

React To build the frontend using React 17 with hooks and Material UI

Node.js To build the backend REST API using Node.js and Express

MongoDB To store the data and showing metrics for mass changed over the time

Why is it Needed

  • Product structures, or ‘Bills of Materials’ (BOMs) are used to logically represent how a collection of parts come together to form a finished product. There are several types of product structure depending on what information is being represented – as built, as supplied, as manufactured etc.

  • For this POC, the focus is on engineering BOM structures, which are typically representative of how a product is put together. Complex products can have thousands of parts but the product structure used to manage them can make the data easier to handle and help in extracting useful business information.

  • Information that companies may wish to extract includes ‘total / best available mass’ or ‘total cost’ for example.

Functions

  • Configurable columns to show additional data as well as the mass attributes

  • Separate web page to be able to show mass / cost data

  • Analytics page to be able to show the data in other forms and show the tracking of mass data in time

  • Configurable tolerance bands for target, calculated and declared masses

  • Cell coloring to show the various states of the masses across all objects

  • Web page interactivity to be able to open up any sub object from the original structure to be able to analyze any area of the CAD structure

  • Configurable editability of attributes to be able to read and/or write back data to 3DX

  • Export data in various formats (xml, csv or xls)

Calculations

Mass Calculations

Mass-rollup mainly represents vertical calculation i.e., summation from child level to parent level

  • Attributes :

    • Actual Mass : must sum up objects where End Item = true (should ignore End Item = False) NEW

    • Estimated Mass : must sum up objects where End Item = true (should ignore End Item = False) NEW

    • Calculated Mass : must sum up objects where End Item = true (should ignore End Item = False) NEW

  • Best Available :

    • Calculation considers Actual Mass, Estimated Mass, and Calculated Mass for each part.

    • Actual Mass has highest priority; however should it have a value of 0 it will use Estimated Mass. If Estimated Mass also has a value of 0 it will use Calculated Mass

  • Tolerance Bound : Percentages for the upper and lower bounds of the mass's should be set as follows:

    • Actual Mass +/- 0.5 %

    • Estimated Mass +/- 1 %

    • Calculated Mass +/- 5 %

Cost Calculations

Cost-rollup represents both horizontal & vertical calculation i.e., summation from left to right and from child level to parent level

  • Attributes :

    • Design and R&D cost : must sum up objects where End Item = true (should ignore End Item = False) NEW

    • Tooling cost : must sum up objects where End Item = true (should ignore End Item = False) NEW

    • Total Piece cost (Design and R&D cost + Tooling cost) : must sum up objects where End Item = true (should ignore End Item = False) NEW

  • Tolerance Bound : Percentages for the upper and lower bounds of the cost's should be set as follows:

    • Design and R&D cost +/- 0.5 %

    • Tooling cost +/- 1 %

    • Total Piece cost +/- 5 %

Demonstration

Support

Support this blog by giving a star on Github, sharing your own blog and giving a shoutout on Twitter or be a project sponsor.

Licence

MIT © Pallav Gupta