Giter Club home page Giter Club logo

bom_oop_python's Introduction

BOM_OOP_Python

Graphical BOM Processor using Python OOP

Description

The engineering design process consists of 5 stages: Need Assessment, Problem Formulation, Abstraction and Synthesis, Analysis, and Implementation. In the Abstraction and Synthesis phase, it is common and useful to decompose the product into its constituent parts in a hierarchical manner in a table called the Bill of Materials (BOM). A fictitious and unrealistic example of this table can be seen in the figure below and in the "MySampleData.xlsx" file in the repository.

image

As can be seen in the table above, each component has a level that specifies its hierarchy. For example, the 'body' is at level 1, and 'Front body', 'Back body', and 'Polymer handle' are its first sub-assemblies and are at level 2. The 'Front body' itself has two sub-assemblies called 'Nozzle' and 'Power cable', which are at level 3, and the 'Power cable' itself has one more sub-assembly called 'The end of the cable', which is at level 4. The same can be extracted from the table above for other components.

In addition to the level, each component in the table above has other information such as id, unit, Quantity, and also Labor Cost (LC), Machine Cost (MC), Other Cost (OC), and Purchase Cost (PC). Therefore, to find the cost required for each component, one must use the different costs of itself and its sub-assemblies in the number that exists from them, and reach the desired results of these diagrams. Doing this manually or with the Excel file itself is very time-consuming and inefficient, so here a graphical program is written in Python in an Object-Oriented manner so that these tables can be easily used.

How to use

1. Open the program:

Run the program to open the following window.

image

2. Select the BOM file:

In this window, after selecting the desired Excel file and filling in the information above, click on "Confirm". If there is no error in entering the information, the "Confirm" button will change to the "Start" button.

image

3. Start the analysis:

Clicking on this button opens the following window where you can request and receive the desired information from the program.

image

4. Select the component and information:

After selecting the desired component, you can open the second Combobox which will be as follows and will show the desired information by selecting each one.

image

5. Get the results:

For example, by selecting "body" and "Children", it shows us the first sub-assemblies of it along with the required number of each one as follows.

image

Further development:

Other features can also be added to this program and make it more complete. I would be happy if someone could develop this program. [email protected]

Acknowledgements

This program was developed as a course project under the supervision of Dr. Mehrdad Kazerooni. I would like to thank my friend Mohammad Zolfaghari for his valuable contributions to this project.

bom_oop_python's People

Contributors

sina-taghizadeh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.