E N D
A MODULE FOR PERFORMANCE IMPROVEMENT OF SPOT WELD FEATUREan Industrial Project Reportsubmitted to the International Institute of Information Technology in partial fulfilment of the requirements for the award of the degree ofMASTER OF TECHNOLOGYinIT in BUILDING SCIENCEbyAMIT KUMAR SARAN(Roll No. - 200110001)Under the guidance ofMr. Subhash A. Upadhyaya Dr. Pradeep Kumar RamancharlaProject Leader(TCS) Assistant Professor(IIIT)
Project Details Duration : October 2002 to February 2003 Location : EDS PLM Solutions Center TCS, Secunderabad Guide : Dr. Pradeep K. Ramancharla Assistant Professor, IIIT Hyderabad. Mr. Subhash A. Upadhyaya Project Leader, TCS Hyderabad Domain of Project: CAD/CAE Prog. Languages : UniGraphics Open API, UI Styler & ‘C’
Brief Description of The Project The project work includes two modules: Development of a GUI for the existing Plug/Slot Weld A module for performance enhancement of the Spot Weld Feature The modules are developed in HP-UX environment using UniGraphics Open API, UI Styler and 'C' programing Language. The project work also includes extensive work in Solid Modeling, Assembly Modeling and Study of UniGraphics Knowledge Fusion Due to the strict guidelines of Tata Consultancy Services (EDS PLM Solutions Center), Secunderabad the complete details of the work is not provided.
Design & Development of a GUI for the existing PLUG/SLOT Weld in Unigraphics using UFUNC(MODULE – I)
Requirements • Provision to select faces in two separate face sets • Provision for selection of hole/slot edges only • Dialog items and Navigation button Sensitivity issues • Face Selection and Edges Highlighting Issues (Simultaneous Selection of Edges belong to slot feature) • Geometry Selection Issues • Provision for display of cue and status messages
Methodology • The Structure used is :- typedef struct WELD_plug_slot_data_s { tag_t face; /* Top face of top plate */ tag_t opp_face; /* Top face of bottom plate */ int num_edges; /* Number of edges selected */ tag_t *edges; /* List of edges selected */ } WELD_plug_slot_data_t, *WELD_plug_slot_data_p_t;
Methodology continued… • Selection CallBack a) Dialog items and Navigation button Sensitivity issues are taken care of b) Face Selection and Edges Highlighting issues are taken care of. c) Display of cue and status messages are also taken care of. d) After selecting relevant faces/edges, they are put to respective list/tag pointer.
Methodology continued…. • Filter Procedure a) Geometry Selection issues are taken care of
Performance Improvement of the existing SPOT WELD (MODULE – II)
Problem Statement In huge assemblies, if number of spot weld points are more and user requires to create new spot points, it slows down the performance
Problem Description • It takes a significant amount of time to assign 'ID' on each weld point. • If we observe carefully, the weld points are created first and then spot ID's are assigned. It takes more time to assign the Weld ID's
Requirements • Weld ID's should be unique (No duplicate ID's are allowed) • Weld ID's should be within the preference minimum/maximum range • If some of the weld points are deleted, there will be a 'gap' in ID's and these gaps need to be filled when we assign ID's for newly created spot welds
Scope of Improvement • Reduce the 'feature cycling' time • Reduce the number of time the whole assembly is cycled
Possible Solution • Using a static List pointer • Creating a Weld ID Manager
Final Solution • We have created a Weld ID Manager typedef struct id_manager_s{ tag_t object_tag; /* tag of weld feature */ char *ind_id; /* assigned ID for the weld feature */ struct id_manager_s *next; /* next pointer */ } id_manager_t, *id_manager_p_t;
Solution continued… Once the user creates some new spot features • ID Manager is initialized by cycling thewhole part only once • While assigning the individual ID’s we’ll search the Weld ID Manager • Lowest possible ID is assigned and pushed into the ID Manager along with its tag
Testing We have tested it with an existing part file having 693 spot features. Then we tried to create 15 new spot features. • The old program takes 56 minutes to assign ID‘s to it • new program takes less than 30 seconds to assign the ID's • satisfy all the required conditions mentioned in the previous slide
What is Assembly Modeling? Assembly is an integrated Unigraphics application that facilitates: • The construction of assemblies of parts • The modeling of individual parts within the context of the assembly • The production of parts lists for assembly drawings.
Assembly Modeling Philosophy • Object-oriented data management architecture is used to support the team- oriented assembly modeling environment • The goal is to produce a product modeling system for real-life products, typically designed by teams working concurrently on assemblies of thousands of parts
Types of Assembly Model Design • Bottom-Up Design • Top-Down Design
Reducing Complex Assembly Displays • Using Reference Sets • Erasing an Entire Component or Sub-assembly • Suppressing Features and Components
What is UG/KF Unigraphics Knowledge Fusion(UG/KF) is the integration of Unigraphics CAD/CAM/CAE software and Knowledge Based. UG/KF fully complements Unigraphics' traditional strengths in interactive design of complex geometric models and assemblies, and the tools for user customization that have been available with UG/Open.
What is UG/KFcontinued … UG/KF enables the user to develop applications and control Unigraphics objects via engineering rules thatextend beyond a purely geometric nature. These engineering rules may involve engineering calculations such as non-geometric physical properties, analysis results, sensitivity, optimization plan, goal seeking iterations, aesthetics, product, process and work breakdown structures, etc. For example, requirements based on physical properties such as force, torque, heat, etc. may be captured as part of a UG model.
How UG/KF can help Engineers and Designers With UG/KF, engineers and designers will be able to construct a reusable knowledge base. They will be able to: • Utilize user knowledge bases that already exist in external databases, spreadsheets, handbooks, custom software etc, during the engineering process. • Use rules to enable model definition, checking, advising, optimization, enforcement of design rules , etc.
How UG/KF can help Engineers and Designers Continued…….. • Make external (non-UG) software tools available to the engineering process, i.e., optimization and analysis. • Capture and enforce company best practices. • Virtual Model Development i.e. Extend the Unigraphics data model by easily creating custom modeling features that are controlled by rules
Conclusion Performance enhancement for the existing spot weld feature of UG Weld finds great relevance in engineering as it reduces the consumption of computing resources as well as the time involved for computations significantly. The module developed for performance enhancement as part of this project reduces the time for creating the spot weld feature by almost 56 times and the CPU usage significantly. Tests for the same were conducted and the results were validated under technical supervision.
FURTHER WORK Presently the IDs are stored as Strings in the Weld ID manager. This increases the complexity in retrieving the lowest possible ID from the ID manager. As further work ID’s can be stored as integers in ascending order and while assigning the attributes to the spots the same can be converted to Strings. The current module creates the ID Manager and deletes it once ‘Apply’ or ‘OK’ is pressed. As future development the ID Manager can be created by invoking the Spot Weld Dialog and deleted as soon as the Dialog is exited.