Editing User:Konrado DJ/GSoc2015/Proposal/STEP Multiple Protocol Parsing
From BRL-CAD
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 13: | Line 13: | ||
Standard for the Exchange of Product model data (STEP) is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information which can be used to represent 3D objects in Computer-aided design (CAD) and related information. BRL-CAD makes use of the STEPcode project to implement its step-g importer, which is currently adapted to a specific STEP application protocol (AP).Some examples of commonly encountered application protocol includes AP203(Configuration Controlled Design) which defines the geometry, topology, and configuration management data of solid models for mechanical parts and assemblies, AP214(Automotive Design) which had everything an AP203 file includes, but adds colors, layers, geometric dimensioning and tolerance, and design intent, and AP242(Managed Model-based 3D Engineering) which has everything an AP203 and AP214 file includes, but adds updated kinematics support.The goal of the project is to make it possible for STEPcode to generate a parser, which supports multiple application protocols simultaneously. | Standard for the Exchange of Product model data (STEP) is an ISO standard for the computer-interpretable representation and exchange of product manufacturing information which can be used to represent 3D objects in Computer-aided design (CAD) and related information. BRL-CAD makes use of the STEPcode project to implement its step-g importer, which is currently adapted to a specific STEP application protocol (AP).Some examples of commonly encountered application protocol includes AP203(Configuration Controlled Design) which defines the geometry, topology, and configuration management data of solid models for mechanical parts and assemblies, AP214(Automotive Design) which had everything an AP203 file includes, but adds colors, layers, geometric dimensioning and tolerance, and design intent, and AP242(Managed Model-based 3D Engineering) which has everything an AP203 and AP214 file includes, but adds updated kinematics support.The goal of the project is to make it possible for STEPcode to generate a parser, which supports multiple application protocols simultaneously. | ||
− | ==Detailed description | + | ==Detailed description== |
===Introduction=== | ===Introduction=== | ||
− | STEPcode has the ability to generate c++ classes for the various STEP application protocols which are used for parsing STEP files. Developing a step-g parser that would have the ability to parse various STEP files could be achieved by determining the file schema using the | + | STEPcode has the ability to generate c++ classes for the various STEP application protocols which are used for parsing STEP files. Developing a step-g parser that would have the ability to parse various STEP files could be achieved by determining the file schema using the FILE_SHEMA instance within the file header and then switching to appropriate parser but this would not be efficient as there would be so much repeated code generated and it would also lead to an increase in compile and build time of BRL-CAD thus the need for a unified parser. |
− | The ability to support many protocols within one framework is one of the key strengths of STEP. All the protocols are all built on the same set of Integrated | + | The ability to support many protocols within one framework is one of the key strengths of STEP. All the protocols are all built on the same set of Integrated Resource |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Reference== | ==Reference== | ||
Line 86: | Line 26: | ||
==Previous Related work (patch)== | ==Previous Related work (patch)== | ||
− | + | #vrml-g converter | |
http://sourceforge.net/p/brlcad/patches/320 | http://sourceforge.net/p/brlcad/patches/320 | ||
− | + | #g-stl default top level objects conversion | |
http://sourceforge.net/p/brlcad/patches/301/ | http://sourceforge.net/p/brlcad/patches/301/ | ||
Line 101: | Line 41: | ||
==Time-line== | ==Time-line== | ||
− | ===27 April – 24 May | + | ===27 April – 24 May Community Bonding=== |
Initializing communication with mentor. Do more research on project, get setup and ready to begin coding. Learn more about STEP standards and EPRESS data modeling language. | Initializing communication with mentor. Do more research on project, get setup and ready to begin coding. Learn more about STEP standards and EPRESS data modeling language. | ||
Line 115: | Line 55: | ||
===30 June – 3 July (3 days) Mid term evaluation=== | ===30 June – 3 July (3 days) Mid term evaluation=== | ||
− | === | + | ===3 June – 4 August (4 weeks)=== |
Updating merged file to add support for AP242 and resolving issues involved with this update to ensure C++ classes are properly generated and handled. | Updating merged file to add support for AP242 and resolving issues involved with this update to ensure C++ classes are properly generated and handled. | ||
− | === | + | ===4 August – 11 August (1 week)=== |
Integrating new C++ parser with step-g. | Integrating new C++ parser with step-g. | ||
Line 129: | Line 69: | ||
===24 August – 28 August (4 days) Final Evaluation=== | ===24 August – 28 August (4 days) Final Evaluation=== | ||
− | == | + | ==Availability== |
− | I have no commitment within the Google summer of code period except for my end of semester exams which would run for about two weeks around 24 June– 11 July , but I would make up for the time by putting in more hour before this period guarantying at-least 40 hours a week. | + | I have no commitment within the Google summer of code period except for my end of semester exams which would run for about two weeks around 24 June– 11 July , but I would make up for the time by putting in more hour before this period guarantying of at-least 40 hours a week. |
==About Me== | ==About Me== | ||
* 2013 – 2014: Freshman Computer Engineering [http://www.ubuea.cm University Of Buea Cameroon] | * 2013 – 2014: Freshman Computer Engineering [http://www.ubuea.cm University Of Buea Cameroon] | ||
* 2014 – 2015: Freshman Computer Science and Mathematics [http://www.ubuea.cm University Of Buea Cameroon] | * 2014 – 2015: Freshman Computer Science and Mathematics [http://www.ubuea.cm University Of Buea Cameroon] | ||
− | My change in department was because of my passion for coding and mathematics and also due to my low interest/motivation for | + | My change in department was because of my passion for coding and mathematics and also due to my low interest/motivation for electronic which was a large part of the engineering curriculum. This has given me the time to focus on the thing I am very passionate about and since this is the first year computer science is being offered as a major for the undergraduate level at my university, participating in the Google summer of code would be an encouragement to others who intend to enroll into this department. |
I am primarily a c/c++ programmer with special interest in computer graphics, computer networking, multi-threading and artificial intelligence. | I am primarily a c/c++ programmer with special interest in computer graphics, computer networking, multi-threading and artificial intelligence. | ||