Applying STEP Principles to Product Models in High Energy Physics Research
|
|
- Gerald Barker
- 6 years ago
- Views:
Transcription
1 Applying STEP Principles to Product Models in High Energy Physics Research Miroslaw Dach, Nils Høimyr CERN, Geneva Janne Saarela Helsinki University of Technology Jouko Vuoskoski Institute of Particle Physics Technology, Espoo and CERN, Geneva March 1, 1994 Report TKK-F-A724 ABSTRACT STEP is a new International Standard to exchange and represent product model data. It uses an object-flavoured data specification language to specify the representation of the data. This report describes how the STEP principles can be applied to product models in high energy physics research. We present the design and implementation of a program where STEP principles were applied to detector models used by the GEANT detector simulation package. The design and implementation of the program were carried out using object-oriented tecnology. Possible applications which can profit from this program are discussed briefly. ISSN ISBN TKK OFFSET
2
3 Contents 1.0 Introduction STEP GEANT Principle of the Program Design of the Class Library Implementation of the Program Implementation of he Class Library Implementation of the Conversions Conversions from GEANT into the Class Library Conversions from the Class Library into GEANT Possible Applications for Detector Models Conclusions 12 Acknowledgments 12 References 13
4
5 Introduction 1.0 Introduction STEP [1, 2] (STandard for the Exchange of Product model data) is a new International Standard for representing and exchanging product model information. It includes an object-flavoured data specification language, EXPRESS [3], to describe the representation of the data. STEP defines also a physical transfer file [4]. STEP provides a systemindependent way of implementation. These features offered a possibility to apply the STEP principles to product models using modern object-oriented design and implementation. The object-oriented methodology is a style of thinking about given problems. The fundamental construct is the object. In object-oriented methodology a software is organized as a collection of discrete objects that incorporate both data structure and behavior. This is in contrast to conventional way of programming where data and behavior are separated. This report describes the design and implementation of a program where STEP principles were applied to detector models used by the GEANT [5] detector simulation package. The design of the program was carried out using the Object Modeling Technique (OMT) [6]. The C++ programming language [7] and the NIST STEP Toolkit [8] were used in the implementation. The program consists of the file I/O and the class library. It provides routines to access the class library. It includes routines to convert detector models between the program and GEANT. STEP physical files can be used to store or transfer GEANT detector models. The physical files are written according to the GEANT geometric representation. The file is a human-readable ASCII-file. The program is to be used as a basis to implement different applications. The class library access routines offer an environment to implement different applications within the program in order to manipulate or use GEANT detector models. 1.1 STEP STEP is a collection of standards to represent and exchange product information. The objective of STEP is to offer a system-independent mechanism to describe the product information in computer aided systems throughout its lifetime. It separates the representation of product information from the implementation methods. Implementation meth- Applying STEP Principles to Product Models in High Energy Physics Research 1 of 14
6 Introduction ods are used for data exchange. The representation offers a definition of product information to many applications. STEP provides also a basis for archiving product information and a methodology for the conformance testing of implementations. EXPRESS is a formal data specification language used to specify the representation of product information. The use of a formal data specification language facilitates development of implementation. It also enables consistency of representation. STEP specifies the implementation methods used for data exchange that support the representation of product information. STEP does not only define the geometric shape of a product it also includes topology, features, tolerance specifications, material properties, etc. necessary to completely define a product for the purposes of design, analysis, manufacture, test, inspection and product support. 1.2 GEANT GEANT is a detector simulation program used in the design of detectors used in High Energy Physics (HEP) experiments. The simulation program has been developed at CERN by the HEP community and it is now in use in more than 600 research institutions in over 50 countries. Its applications are not limited to physics, but range from space science to medical research. The GEANT version 3.20 to be released sometime in the future will have a new geometric modeler [9] which uses a constructive solid geometry (CSG) [10] approach. The internal geometric representation consists of half spaces. In GEANT a solid object composing a part of a detector is called a volume. Internally a volume is represented by a union of caves and a cave is represented by an intersection of half-spaces. The GEANT 3.20 user interface will be FORTRAN 77 code written using a so called Shape Definition Language (SDL) [9]. SDL contains a set of subroutine calls to define shapes. Volumes are parameterized instances of shapes. A shape is constructed by simple entities, operations on and between them, predefined volume primitives and Boolean operations. A volume is created by giving dimensions to a shape. A detector model is created by positioning volumes inside each other by specifying the coordinates and orientation. Special GEANT mechanisms like divisions, etc. [5] are applied to volumes in order to create a detector model which is suitable for fast tracking. GEANT is written in FORTRAN 77 and it uses the ZEBRA [11] memory manager. The current version, GEANT 3.16, offers 16 basic shapes, i.e. volume primitives, to construct a detector model. 2 of 14 Applying STEP Principles to Product Models in High Energy Physics Research
7 Principle of the Program 2.0 Principle of the Program The principle of the program is shown in Figure 1. A detector model is read either from a GEANT database file (RZ-file) using ZEBRA or from a STEP physical file and loaded into the class library. In the case of reading from an RZ-file, the GEANT entities are converted to object instances and loaded into the class library. The relationships between the entities are converted to pointers and loaded as attributes within the classes. The detector model can be written out in a STEP physical file or in a GEANT database file. The implementation of the program was performed in two parts: the class library creation and the actual program. The class library is created by compiling the EXPRESS schema of the GEANT geometric representation with an EXPRESS compiler. RZ-file STEP physical file Model of the GEANT geometric representation ZEBRA Conversions File I/O EXPRESS schema Instance handling routines GEANT class library EXPRESS compiler Figure 1 The principle of the program 3.0 Design of the Class Library In object-oriented design, in general, the leading idea is to identify objects and their relationships in a system. An object model describes the static structure of the objects and their relationships. An object diagram is a graph whose nodes are object classes and whose arcs are relationships among classes. In order to implement the class library for the program, we described the geometric representation of GEANT using object diagrams. The iteration of the diagrams was done with the help of instance diagrams. An instance diagram describes how a particular set of objects relate to each other. Applying STEP Principles to Product Models in High Energy Physics Research 3 of 14
8 Design of the Class Library The object model of GEANT 3.20 geometric representation is described as object diagrams in Figures 3 and 4. The core objects are GEANT_volume and GEANT_shape. The model consists of two different kinds of information: geometric information (shape, volume and volume positioning information); topological information (relationships between geometric components). Geometric information contains the geometry of the shapes and their dimensions. It contains also the coordinates and orientation of the volumes. The topological information contains the links between the geometric components. The links between volumes (i.e. solids) define the mother-daughter relationships; a volume is always positioned inside a mother volume (except the global mother volume). The notations of object and instance diagrams in this report follow the Object Modeling Technique (OMT) [6]. In the Figure 4 some objects are repeated in order to clarify the diagram. The meaning of the symbols used in the diagrams are shown in Figure 2. Object class class class name name Object instance (class name) Association one to n class-1 class-1 nn class-2 class-2 Association one to many (empty ball zero or one) class-1 class-1 class-2 class-2 Aggregation class-1 class-1 class-2 class-2 Inheritance super-class super-class sub-class sub-class Figure 2 The OMT notations used in this report 4 of 14 Applying STEP Principles to Product Models in High Energy Physics Research
9 Design of the Class Library rotation_matrix rotation_matrix_number rotation_angles_array matrix_elements_array material material_name material_number atomic_weight atomic_number density shape shape_name see Fig daughter daughter_index x_coordinate y_coordinate z_coordinate volume volume_name number_of_parameters parameters_array division number_of_divisions step_of_division offset_of_division division_axis_nr volume_normal volume_divided daughter_p number_of_parameters parameters_array axis see Fig. 4 Figure 3 The object model of GEANT 3.20 volume representation Applying STEP Principles to Product Models in High Energy Physics Research 5 of 14
10 Design of the Class Library shape body body of_boolean basic body half-space body of_closed_face body body body of_revolution of_extrusion of_join 1,2 1,2 body point face axis line point face face face face body_of_box body_of_trd1 body_of_trd2 of_closed_line of_revolution of_extrusion of_join 2 1,2 body_of_trap body_of_tube body_of_tubs line axis line point body_of_cone body_of_cons body_of_sphe line line line of_entity of_revolution of_join body_of_para segment axis 2 point 2,3,4,5 line point vector Figure 4 The object model of GEANT 3.20 shape representation 6 of 14 Applying STEP Principles to Product Models in High Energy Physics Research
11 Implementation of the Program 4.0 Implementation of the Program The different parts of software which are used in the program are principally: C++ steering program; GEANT library routines; ZEBRA library routines; NIST STEP toolkit; C++ Binding for OSF/Motif. The C++ steering program is the main program which performs user actions and conversions between GEANT and the class library. The GEANT library routines are linked with the main program. They are needed for creating a detector model in the ZEBRA data structure. The ZEBRA library routines give access to a detector model which is saved in an RZ-file. The NIST STEP toolkit [8] provides routines to manage object instances and file I/O. It contains an EXPRESS compiler in order to create a C++ class library from an EXPRESS schema. A C++ Binding for OSF/Motif [12] is needed in order to create visual interface to the program. The US National Institute of Standards and Technology (NIST) has developed the NIST STEP toolkit to handle objects described in STEP. The toolkit is written in C++. The toolkit can be divided in three parts which are: Fed-X [14] EXPRESS compiler; a library to manage instances, attributes and file I/O; a visual interface to manipulate entities in X-windowing system. The NIST STEP toolkit library is linked with the main program. The library contains the InstanceManager class to manage object instances, the file I/O routines to perform the I/O to STEP physical files, and different Aggregate classes to manipulate attributes within the classes. These allow a conforming access to object instances. The visual interface of the toolkit is not used. Fed-X is a stand-alone program which reads an EXPRESS schema file as an input and creates C++ class definitions and methods in order to access attributes. When transferring data from GEANT to the class library, the C++ main program calls the FORTRAN routines of ZEBRA which transfer the RZ-file into memory. After this we can access the geometric data through ZEBRA banks from C++ and convert and transfer the data into object instances which are derived from the class library. When transferring data from the class library to an RZ-file, the C++ program calls GEANT library routines which transform the geometric information into ZEBRA data structures and create an RZ-file. 5.0 Implementation of he Class Library. EXPRESS is a data specification language. It allows the encapsulation of data, implement constraints and relationships among objects. In the EXPRESS language objects Applying STEP Principles to Product Models in High Energy Physics Research 7 of 14
12 Implementation of the Conversions are called entities. EXPRESS is not a programming language; it does not support input/ output elements, information processing etc. However, the EXPRESS language can be processed by a computer. With the assistance of the object diagrams we wrote the description of the GEANT 3.20 geometric representation in EXPRESS. All the geometric entities and the topology (i.e. relationships between geometric entities) of GEANT 3.20 have been expressed in an EXPRESS schema. By compiling the EXPRESS schema of the GEANT geometric representation, the corresponding class library is created. The Fed-X compiler is used to create C++ class definitions from EXPRESS schemas. The similarity between EXPRESS entities and C++ classes is shown in Figure 5. In addition to class definitions, Fed-X also creates methods to access attributes within the classes and data structures to store attributes. EXPRESS schema SCHEMA test;... ENTITY body_of_extrusion SUBTYPE OF (body); my_guide_line : line; my_face : face; END_ENTITY; END_SCHEMA; C++ class definition class SdaiBody_of_extrusion : public SdaiBody { protected: STEPentity * _my_guide_line ; STEPentity * _my_face ; public: SdaiBody_of_extrusion ( ); SdaiBody_of_ extrusion(sdaibody_of_extrusion& e ); ~SdaiBody_of_extrusion (); char *Name () { return Body_Of_Extrusion ; } int opcode () { return 24 ; } class SdaiLine * my_guide_line(); void my_guide_line (SdaiLine * x); class SdaiFace * my_face(); void my_face (SdaiFace * x); }; Figure 5 A C++ implementation of an EXPRESS schema 6.0 Implementation of the Conversions The NIST toolkit library includes the InstanceManager class which is a data structure manager not only to manipulate multiple instances of one set of class definitions (i.e. instances of one schema) but to manage multiple schemas as well. InstanceManager is a storage handler; it manages the object instances which are located somewhere in physical memory but belong to a specific class library. InstanceManager can either append, get, remove or find instances by name or index. 8 of 14 Applying STEP Principles to Product Models in High Energy Physics Research
13 Implementation of the Conversions The toolkit library includes the STEPfile class which implements the read and write operations to STEP physical files. By deriving an instance from this class, the corresponding InstanceManager and STEPfile can be linked together and file I/O can be implemented. At the code level the read and write operations are implemented by a single call to a member function of the STEPfile class. The toolkit has also routines to check the consistency and validity of the physical file during I/O operations. 6.1 Conversions from GEANT into the Class Library GEANT manages information via the ZEBRA memory management package. In GEANT 3.20 the geometric data is placed into two data structures: 1. shapes (SDL data structure); 2. volumes and their positioning information (JVOLUM data structure). SDL data consist of strings which are the arguments passed to shape creation subroutines. The strings are evaluated only when a corresponding call to volume creation routines is performed. Thus, the conversions of the GEANT geometric data must start from the JVOLUM data. When a volume is encountered, the corresponding shape (SDL data) is evaluated before creating the volume in the class library. The volume topology of GEANT detector models is determined by the mother-daughter relationships. A daughter volume is always placed inside a mother volume and they have links to each other. GEANT provides library routines to retrieve and store information in ZEBRA which is written in FORTRAN. Thus, the linking of C++ and FORTRAN had to be accomplished. 6.2 Conversions from the Class Library into GEANT GEANT detector models are created in three consecutive steps: 1. generating SDL calls (Shape Definition Language); 2. creating volumes by giving parameters to shapes; 3. positioning volumes. SDL is a language in GEANT 3.20 whereby new shapes are defined by the means of CSG. An example structure of a block (solid of extrusion) created by GEANT 3.20 is represented in the instance diagram shown in Figure 6. An SDL call for each entity can then be created from the SDL data of corresponding shape by using a postorder-tree traversal algorithm. The postorder-tree traversal algorithm is used since a shape is created starting from simple entities. This algorithm is easily implemented by using a virtual function [7] which always calls its components before creating its own SDL call. This function is then overridden in each class. A volume for GEANT is created using GEANT volume creation routines which assume that the corresponding shape has already been created. The dimensions and material are supplied as parameters. A special case called a divided volume can be created from an Applying STEP Principles to Product Models in High Energy Physics Research 9 of 14
14 Implementation of the Conversions existing volume by a call to division subroutines which divide the volume along a given axis into a specified number of slices. The volumes (excluding the global mother volume) are positioned inside a mother volume by specifying the mother volume, the coordinates within the mother volume and optionally a rotation matrix as parameters. A rotation matrix is used to rotate the volume in space. The volumes have a mother-daughter relationship. For example, when a block contains two other blocks and one of these two blocks contains two identical cylinders, the relations are as shown in the instance diagram in Figure 7. The volume My_cylinder is positioned twice inside My_block_2. Each item of positioning information contains links to mother and daughter volumes. Volumes have links to their daughters positioning data and to their own positioning data. Position and volume creation calls are performed in the following order: first creating the volume, then defining the possible rotation matrix and finally positioning the volume. (shape) My_shape_block (body_of_extrusion) My_body_of_extrusion (line_of_entity) My_guide_line (face_of_closed_line) My_face (point) P1 (point) P2 (line_of_entity) My_close_line (point) (point) (point) (point) P3 P4 P5 P6 Figure 6 An example of constructing a block in GEANT of 14 Applying STEP Principles to Product Models in High Energy Physics Research
15 Possible Applications for Detector Models (volume_normal) My_global_block (daughter) x 1,y 1,z 1 (daughter) x 2,y 2,z 2 (volume_normal) My_block_1 ( volume_normal) My_block_2 (daughter) x 3,y 3,z 3 (daughter) x 4,y 4,z 4 (volume_normal) My_cylinder Figure 7 The relationships between GEANT volumes 7.0 Possible Applications for Detector Models The program provides a framework to implement different applications. The program itself is capable to transfer detector models via STEP physical files which are written according GEANT schema. Different applications in order to manipulate or use GEANT detector models might be implemented within the program. For example, a detector model might be created from scratch and transferred to GEANT. Detector models might also be changed or they can be listed and checked. This kind of application could be easily implemented within the program. An application where graphical navigation through a detector model is possible could be implemented as well. Some existing STEP toolkits provide already these kinds of functions [14]. It is also possible to use the program for a geometry engine. A geometric modeler can make use of the instance handling routines, data structure and file I/O. The program can be used for implementing an interface between GEANT and CAD systems. This work is already under development at CERN. The interface application, Applying STEP Principles to Product Models in High Energy Physics Research 11 of 14
16 Conclusions called CADGE [15], will convert detector models between GEANT and CAD systems using STEP physical file as an exchange format. The conversions will be performed between GEANT and STEP Part 42 [16]. 8.0 Conclusions The design and implementation of a program where STEP principles were applied for detector models used by GEANT detector simulation program have been described. Possible applications which can profit from the program where discussed briefly. The program is linked with GEANT 3.16 since the version 3.20 is still under development. However, the both class libraries have been implemented. The conversions between GEANT and the class library are implemented for version 3.16 and only partly for version GEANT 3.16 has 16 basic volume primitives (i.e. shapes) to describe detector models. The current version of the program runs on SunOS and is compiled with g++ v The implementation of the program was a part of the GEANT-CAD interface project. The program serves as a basis for the project. The interface is still under development and the prototype version is expected to be ready in the summer The work on GEANT is specific to the High Energy Physics community, but the problem of the transfer of large engineering products from one CAD package to another is general and it is receiving a great deal of attention in various standards committees. The exchange format to be used, STEP, is now an ISO standard. The GEANT-CAD interface project will result in a real application whose target is the integrated management of data concerning the detectors throughout their lifetime. Nevertheless the project will give experience in the transfer of information via STEP in a very demanding application domain. At a moment where use of computer-based tools in the design and simulation of complex systems in industry is expanding, smooth exchange of complex product data in a heterogeneous environment is of ever-increasing importance. 9.0 Acknowledgments We are grateful to our colleagues at European Laboratory for Particle Research (CERN) for their help. In particular we would like to thank Federico Carminati and Mik Ferran. We are also grateful to the staff of US National Institute of Standards and Technology (NIST) and many others for their help in this project. Financial support is acknowledged from the Finnish Ministry of Trade and Education, Institute of Particle Physics Technology (HTI) in Espoo, Finland and from the European Laboratory for Particle Physics (CERN) in Geneva, Switzerland. 12 of 14 Applying STEP Principles to Product Models in High Energy Physics Research
17 References 10.0 References [1] International Organization for Standardization: ISO Industrial Automation Systems and Integration - Product Data Representation and Exchange - Overview and Fundamental Principles (ISO TC 184/SC4, 1992) [2] Bradford M. Smith: The STEP Project (ISO bulletin, June 1992) [3] International Organization for Standardization: ISO Industrial Automation Systems and Integration - Product Data Representation and Exchange - Clear Text Encoding of the Exchange Structure (ISO TC 184/SC4, 1992) [4] International Organization for Standardization: ISO Industrial Automation Systems and Integration - Product Data Representation and Exchange - Description Methods: The EXPRESS Language Reference Manual (ISO TC 184/SC4, 1992) [5] R. Brun and F. Carminati: GEANT Detector Description and Simulation Tool (CERN Program Library, W5013, 1993) [6] J. Rumbaugh et. al.: Object-Oriented Modeling and Design (Prentice-Hall, Inc., 1991) [7] K. Weiskamp and B. Flaming: The Complete C++ Primer (Academic Press, Inc., 1992) [8] K.C. Morris, D. Sauder, S. Ressler: Validation Testing System: Reusable Software Component Design (National Institute of Standards and Technology, Gaithersburg, MD, NISTIR 4937, 1992) [9] J. Vuoskoski: The New Geometrical Modeller of GEANT 3.20 (1993, unpublished) [10] M. Mäntylä: An Introduction to Solid Modeling (Computer Science Press, 1988) [11] R. Brun, M. Goossens and J. Zoll: ZEBRA - Data Structure Management System (CERN Program Library, Q100, 1991) [12] K. Seetharaman, C. F. Rei, B. R. Montague: A C++ Binding for OSF/Motif (Univ. of Lowell, 1990) [13] Clark, S.N., Libes, D.: Fed-X: The NIST Express Translator (National Institute of Standards and Technology, Gaithersburg, MD, NISTIR 4822, 1992) [14] Peter R. Wilson: Processing Tools for EXPRESS (Rensselaer Polytechnic Institute, CII 7015, 1992) [15] J. Vuoskoski: CADGE - A Proposal for a General CAD-GEANT Interface Application (Helsinki University of Technology, Report TKK-F-A715, 1993) [16] International Organization for Standardization: ISO Industrial Automation Applying STEP Principles to Product Models in High Energy Physics Research 13 of 14
18 References Systems and Integration - Product Data Representation and Exchange - Geometric and Topological Representation (ISO TC 184/SC4, 1992) 14 of 14 Applying STEP Principles to Product Models in High Energy Physics Research
REPORT SERIES HU - SEFT RD U3. The CADIN T Interface in GEANT. N. Hsbimyr, J. Vuoskoski. CERN. Geneva. Switzerland ISSN
Ln U RESEARCH INSTITUTE FOR HIGH ENERGY PHYSICS REPORT SERIES HU - SEFT RD 1994 - U3 The CADIN T Interface in GEANT N. Hsbimyr, J. Vuoskoski CERN. Geneva. Switzerland \. x'.. KL (3 ISSN 0788-3587 UNIVERSITY
More informationIntroduction to Geant4
Introduction to Geant4 Release 10.4 Geant4 Collaboration Rev1.0: Dec 8th, 2017 CONTENTS: 1 Geant4 Scope of Application 3 2 History of Geant4 5 3 Overview of Geant4 Functionality 7 4 Geant4 User Support
More informationA Geometrical Modeller for HEP
A Geometrical Modeller for HEP R. Brun, A. Gheata CERN, CH 1211, Geneva 23, Switzerland M. Gheata ISS, RO 76900, Bucharest MG23, Romania For ALICE off-line collaboration Geometrical modelling generally
More informationChapter 12 Solid Modeling. Disadvantages of wireframe representations
Chapter 12 Solid Modeling Wireframe, surface, solid modeling Solid modeling gives a complete and unambiguous definition of an object, describing not only the shape of the boundaries but also the object
More informationUsing STEP in exchange of digital product information.
Using STEP in exchange of digital product information. Authors Department of Electro-Technology Faculty of Electrical Engineering Czech Technical University in Prague Technická 2, 166 27 PRAHA 6, Dejvice
More informationGeneralized Document Data Model for Integrating Autonomous Applications
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Generalized Document Data Model for Integrating Autonomous Applications Zsolt Hernáth, Zoltán Vincellér Abstract
More informationTGeoCad: an Interface between ROOT and CAD Systems
TGeoCad: an Interface between ROOT and CAD Systems C Luzzi 1 2 and F Carminati 2 1 University of Ferrara, Via Giuseppe Saragat, 1, 44020 FE, Italy 2 CERN, 1211 Geneva 23, Switzerland E-mail: cluzzi@cern.ch
More informationFundamentals of STEP Implementation
Fundamentals of STEP Implementation David Loffredo loffredo@steptools.com STEP Tools, Inc., Rensselaer Technology Park, Troy, New York 12180 A) Introduction The STEP standard documents contain such a large
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationSolids as point set. Solid models. Solid representation schemes (cont d) Solid representation schemes. Solid representation schemes (cont d)
Solid models Solid models developed to address limitations of wireframe modeling. Attempt was to create systems which create only complete representations. Modelers would support direct creation of 3D
More informationUNIT - V DHARANI KUMAR.S/AP/MECH
UNIT - V DHARANI KUMAR.S/AP/MECH CAD Standards are a set of guidelines for the way Computer-aided design (CAD) drawings should appear, to improve productivity and interchange of CAD documents between different
More informationImplementing manufacturing feature based design in CAD/CAM
Implementing manufacturing feature based design in CAD/CAM T. Szecsi School of Mechanical and Manufacturing Engineering, Materials Processing Research Centre, Dublin City University, Dublin 9, Ireland
More informationAn Introduction to Subtyping
An Introduction to Subtyping Type systems are to me the most interesting aspect of modern programming languages. Subtyping is an important notion that is helpful for describing and reasoning about type
More informationData structures for electronic product catalogues for building services. Part 2: Geometry
INTERNATIONAL STANDARD ISO 16757-2 First edition 2016-11-15 Data structures for electronic product catalogues for building services Part 2: Geometry Structures de données pour catalogues électroniques
More informationVALLIAMMAI ENGINEERING COLLEGE
VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF MECHANICAL ENGINEERING QUESTION BANK M.E: CAD/CAM I SEMESTER ED5151 COMPUTER APPLICATIONS IN DESIGN Regulation 2017 Academic
More informationDesigning Procedural 4GL Applications through UML Modeling
Designing Procedural 4GL Applications through UML Modeling Shiri Davidson Mila Keren Sara Porat Gabi Zodik IBM Haifa Research Lab Matam - Advanced Technology Center Haifa 31905, Israel (shiri, keren, porat,
More informationLABORATORY 1 REVISION
UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the
More informationGeometric Modeling. Introduction
Geometric Modeling Introduction Geometric modeling is as important to CAD as governing equilibrium equations to classical engineering fields as mechanics and thermal fluids. intelligent decision on the
More informationISO INTERNATIONAL STANDARD. Language resource management Feature structures Part 1: Feature structure representation
INTERNATIONAL STANDARD ISO 24610-1 FIrst edition 2006-04-15 Language resource management Feature structures Part 1: Feature structure representation Gestion des ressources linguistiques Structures de traits
More informationOverview of Product Information Interoperability Using STEP (ISO 10303)
Overview of Product Information Interoperability Using STEP (ISO 10303) Diego Tamburini 1997 For Georgia Tech ME6754 et al. 5/98 Updates - M. C. Ramesh 11/00 Updates - R. Peak 1 Product Information Interoperability
More informationL1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming
L1 - Introduction Contents Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming 1 Definitions Computer-Aided Design (CAD) The technology concerned with the
More informationSTEP-based feature modeller for computer-aided process planning
International Journal of Production Research, Vol. 43, No. 15, 1 August 2005, 3087 3101 STEP-based feature modeller for computer-aided process planning S. M. AMAITIK* and S. E. KILIC Department of Mechanical
More informationLesson 5 Solid Modeling - Constructive Solid Geometry
AutoCAD 2000i Tutorial 5-1 Lesson 5 Solid Modeling - Constructive Solid Geometry Understand the Constructive Solid Geometry Concept. Create a Binary Tree. Understand the basic Boolean Operations. Create
More informationIntroduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types. Record Types. Pointer and Reference Types
Chapter 6 Topics WEEK E FOUR Data Types Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative Arrays Record Types Union Types Pointer and Reference
More informationSolid Modelling. Graphics Systems / Computer Graphics and Interfaces COLLEGE OF ENGINEERING UNIVERSITY OF PORTO
Solid Modelling Graphics Systems / Computer Graphics and Interfaces 1 Solid Modelling In 2D, one set 2D line segments or curves does not necessarily form a closed area. In 3D, a collection of surfaces
More informationTOWARDS STEP-BASED CAD/CAPP/CAM SYSTEMS
6th International DAAAM Baltic Conference INDUSTRIAL ENGINEERING 24-26 April 2008, Tallinn, Estonia TOWARDS STEP-BASED CAD/CAPP/CAM SYSTEMS Amaitik, S.M. Abstract: This paper presents an overview of standard
More informationSOME 024: Computer Aided Design. E. Rozos
SOME 024: Computer Aided Design E. Rozos Introduction to CAD theory part 2 Lesson structure Why Solid modelling Solid modelling methods Representation based Manufacturing based Solid modelling storage
More informationGUIMesh: a tool to import STEP geometries into Geant4 via GDML
GUIMesh: a tool to import STEP geometries into Geant4 via GDML Abstract M. Pinto a *, P. Gonçalves a a LIP-Lisboa, Av. Gama Pinto, n.2, piso 3, 1649-003 Lisboa, Portugal Detailed radiation analysis of
More informationB.Sc. Final B.SC. PART-III PAPER I COMPUTER ORGANIZATION II
TEACHING & EXAMINATION SCHEME For the Examination - 2015 COMPUTER SCIENCE B.Sc. Final THEORY Pd/W Exam. Max. (45mts.) Hours Marks 150 CS.301 Paper I Computer Organisation II 2 3 50 CS.302 Paper II Programming
More informationFundamentals of Programming Languages. Data Types Lecture 07 sl. dr. ing. Ciprian-Bogdan Chirila
Fundamentals of Programming Languages Data Types Lecture 07 sl. dr. ing. Ciprian-Bogdan Chirila Predefined types Programmer defined types Scalar types Structured data types Cartesian product Finite projection
More informationIntegration of Parametric Geometry into IFC-Bridge
Integration of Parametric Geometry into IFC-Bridge Yang Ji 1, Jakob Beetz 2, Nicholas Nisbet 3, Peter Bonsma 4, Casimir Katz 5, André Borrmann 1 1 Computational Modelling and Simulation Group, Technische
More informationStandard Component Library Design and Implementation for Plastic Injection Mold Design with a CAD Tool
Standard Component Library Design and Implementation for Plastic Injection Mold Design with a CAD Tool Y. S. Ma* G. A. Britton, S. B. Tor, E. Gunawan C. H. Lee School of Mechanical and Production Engineering,
More informationCAD/CAPP Integration using Feature Ontology
CAD/CAPP Integration using Feature Ontology Christel Dartigues *, Parisa Ghodous **, Michael Gruninger ***, Denis Pallez**, Ram Sriram*** *I3S UNSA-CNRS - 2000, route des lucioles, Les Algorithmes - bât.
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationWeiss Chapter 1 terminology (parenthesized numbers are page numbers)
Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement
More informationObject oriented data analysis in ALEPH
EPS-HEP99 Abstract # 5-707 Parallel sessions: 6 Plenary sessions: 5 ALEPH 99-056 CONF 99-03 June 30, 999 PRELIMINARY OPEN-99-250 30/06/99 Object oriented data analysis in ALEPH The ALEPH Collaboration
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationThree-Dimensional Reconstruction from Projections Based On Incidence Matrices of Patterns
Available online at www.sciencedirect.com ScienceDirect AASRI Procedia 9 (2014 ) 72 77 2014 AASRI Conference on Circuit and Signal Processing (CSP 2014) Three-Dimensional Reconstruction from Projections
More informationCSG obj. oper3. obj1 obj2 obj3. obj5. obj4
Solid Modeling Solid: Boundary + Interior Volume occupied by geometry Solid representation schemes Constructive Solid Geometry (CSG) Boundary representations (B-reps) Space-partition representations Operations
More informationFundamentals of Programming Languages
Fundamentals of Programming Languages 1. DEFINITIONS... 2 2. BUILT-IN TYPES AND PRIMITIVE TYPES... 3 TYPE COMPATIBILITY... 9 GENERIC TYPES... 14 MONOMORPHIC VERSUS POLYMORPHIC... 16 TYPE IMPLEMENTATION
More informationGEOMETRIC OBJECTS AND TRANSFORMATIONS I
Computer UNIT Graphics - 4 and Visualization 6 Hrs GEOMETRIC OBJECTS AND TRANSFORMATIONS I Scalars Points, and vectors Three-dimensional primitives Coordinate systems and frames Modelling a colored cube
More informationIJCSI International Journal of Computer Science Issues, Vol. 9, Issue 5, No 2, September 2012 ISSN (Online):
www.ijcsi.org 126 Automatic Part Primitive Feature Identification Based on Faceted Models Gandjar Kiswanto 1 and Muizuddin Azka 2 1 Department of Mechanical Engineering, Universitas Indonesia Depok, 16424,
More informationINSTITUTE OF AERONAUTICAL ENGINEERING
INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad -500 043 INFORMATION TECHNOLOGY TUTORIAL QUESTION BANK Name : PRINCIPLES OF PROGRAMMING LANGUAGES Code : A40511 Class : II B. Tech
More informationVirtual Plant for Control Program Verification
2011 International Conference on Circuits, System and Simulation IPCSIT vol.7 (2011) (2011) IACSIT Press, Singapore Virtual Plant for Control Program Verification Sangchul Park 1 + and June S. Jang 2 1
More informationAutodesk Conceptual Design Curriculum 2011 Student Workbook Unit 2: Parametric Exploration Lesson 1: Parametric Modeling
Autodesk Conceptual Design Curriculum 2011 Student Workbook Unit 2: Parametric Exploration Lesson 1: Parametric Modeling Overview: Parametric Modeling In this lesson, you learn the basic principles of
More informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2015 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationChapter 9 3D Modeling
Chapter 9 3D Modeling Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3D Modeling Snapshot Since Mid 1980 s become common place in industry Software Types Wireframe
More informationFRAMEWORK OF THE EXTENDED PROCESS TO PRODUCT MODELING (XPPM) FOR EFFICIENT IDM DEVELOPMENT
FRAMEWORK OF THE EXTENDED PROCESS TO PRODUCT MODELING (XPPM) FOR EFFICIENT IDM DEVELOPMENT Ghang Lee, Ph.D. Associate Professor, glee@yonsei.ac.kr, Corresponding Author Sungil Ham, Ph.D. / Postdoctoral
More informationCS6301 PROGRAMMING AND DATA STRUCTURES II QUESTION BANK UNIT-I 2-marks ) Give some characteristics of procedure-oriented language. Emphasis is on doing things (algorithms). Larger programs are divided
More informationIntroduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.
Introduction to Solid Modeling Parametric Modeling 1 Why draw 3D Models? 3D models are easier to interpret. Simulation under real-life conditions. Less expensive than building a physical model. 3D models
More informationChapter 6 Introduction to Defining Classes
Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of
More information3D Modeling: Solid Models
CS 430/536 Computer Graphics I 3D Modeling: Solid Models Week 9, Lecture 18 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science
More informationSoftware Paradigms (Lesson 3) Object-Oriented Paradigm (2)
Software Paradigms (Lesson 3) Object-Oriented Paradigm (2) Table of Contents 1 Reusing Classes... 2 1.1 Composition... 2 1.2 Inheritance... 4 1.2.1 Extending Classes... 5 1.2.2 Method Overriding... 7 1.2.3
More informationETSI ETR 346 TECHNICAL December 1996 REPORT
ETSI ETR 346 TECHNICAL December 1996 REPORT Source: ETSI TC-RES Reference: DTR/RES-06013-1 ICS: 33.020 Key words: Testing, TTCN, abstract test suite, validation Radio Equipment and Systems (RES); Trans-European
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1
More informationSolid Modeling Lecture Series. Prof. Gary Wang Department of Mechanical and Manufacturing Engineering The University of Manitoba
Solid Modeling 25.353 Lecture Series Prof. Gary Wang Department of Mechanical and Manufacturing Engineering The University of Manitoba Information complete, unambiguous, accurate solid model Solid Modeling
More informationPro/ENGINEER Concepts
1 Pro/ENGINEER Concepts Becoming a Pro/ENGINEER user means learning to think in terms of how the components of a design interact, and to think ahead to how those interactions may change. At the simplest
More informationCPSC 3740 Programming Languages University of Lethbridge. Data Types
Data Types A data type defines a collection of data values and a set of predefined operations on those values Some languages allow user to define additional types Useful for error detection through type
More informationJava How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.
Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;
More information1. Write two major differences between Object-oriented programming and procedural programming?
1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:
More informationOn 17 June 2006, the editor provided the following list via an to the convener:
ISO/IEC JTC 1/SC 22/WG 9 N 471 List of AIs Approved per Resolution 50-8 James W. Moore, Convener 23 June 2006 Resolution 50-8 reads as follows: "Noting WG9's approval of the amendment to ISO/IEC 8652 and
More informationJava- and CORBA-Based Network Management. Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen
Project Reports Java- and CORBA-Based Network Management Mika Leppinen, Pekka Pulkkinen, and Aapo Rautiainen Nokia Research Center Nokia developed the Distributed Computing Platform prototype to support
More informationAutomated Drill Design Software
Automated Drill Design Software Athulan Vijayaraghavan March 19, 2006 Abstract This section of the report discusses a tool which can create automated 3D CAD drill models based on geometric as well as manufacturing
More informationThis document is a preview generated by EVS
INTERNATIONAL STANDARD ISO 10161-1 Third edition 2014-11-01 Information and documentation Open Systems Interconnection Interlibrary Loan Application Protocol Specification Part 1: Protocol specification
More informationDistributed Engineering Data Management (EDM) using HyperText
Distributed Engineering Data Management (EDM) using HyperText Nils Høimyr CERN/CN Computer Support for Engineering (CE) group Juha Lappalainen CERN/PPE, Institute of Particle Physics Technology, Helsinki
More informationGeographic Information Fundamentals Overview
CEN TC 287 Date: 1998-07 CR 287002:1998 CEN TC 287 Secretariat: AFNOR Geographic Information Fundamentals Overview Geoinformation Übersicht Information géographique Vue d'ensemble ICS: Descriptors: Document
More informationIntroduction to Computer Graphics
Introduction to 1.1 What is computer graphics? it would be difficult to overstate the importance of computer and communication technologies in our lives. Activities as wide-ranging as film making, publishing,
More informationWhite Paper 3D Geometry Visualization Capability for MCNP
White Paper 3D Geometry Visualization Capability for MCNP J. B. Spencer, J. A. Kulesza, A. Sood Los Alamos National Laboratory Monte Carlo Methods, Codes, and Applications Group June 12, 2017 1 Introduction
More informationLAB # 2 3D Modeling, Properties Commands & Attributes
COMSATS Institute of Information Technology Electrical Engineering Department (Islamabad Campus) LAB # 2 3D Modeling, Properties Commands & Attributes Designed by Syed Muzahir Abbas 1 1. Overview of the
More informationUnit 7. Functions. Need of User Defined Functions
Unit 7 Functions Functions are the building blocks where every program activity occurs. They are self contained program segments that carry out some specific, well defined task. Every C program must have
More information2. The object-oriented paradigm
2. The object-oriented paradigm Plan for this section: Look at things we have to be able to do with a programming language Look at Java and how it is done there Note: I will make a lot of use of the fact
More informationNew software library of geometrical primitives for modeling of solids used in Monte Carlo detector simulations
Journal of Physics: Conference Series New software library of geometrical primitives for modeling of solids used in Monte Carlo detector simulations To cite this article: Marek Gayer et al 2012 J. Phys.:
More informationSOFTWARE ENGINEERING. Software Specification Software Design and Implementation Software Validation. Peter Mileff PhD
Peter Mileff PhD SOFTWARE ENGINEERING Software Specification Software Design and Implementation Software Validation University of Miskolc Department of Information Technology Software Specification...
More informationIntroduction to Solid Modeling
Introduction to Solid Modeling Hongxin Zhang and Jieqing Feng 2007-01-15 State Key Lab of CAD&CG Zhejiang University Contents Solid Representations: An Introduction Wireframe Models Boundary Representations
More informationIntroduction to ANSYS DesignModeler
Lecture 5 Modeling 14. 5 Release Introduction to ANSYS DesignModeler 2012 ANSYS, Inc. November 20, 2012 1 Release 14.5 Preprocessing Workflow Geometry Creation OR Geometry Import Geometry Operations Meshing
More informationG Programming Languages - Fall 2012
G22.2110-003 Programming Languages - Fall 2012 Lecture 3 Thomas Wies New York University Review Last week Names and Bindings Lifetimes and Allocation Garbage Collection Scope Outline Control Flow Sequencing
More informationINTEGRATED BUILDING SIMULATION TOOL - RIUSKA
INTEGRATED BUILDING SIMULATION TOOL - Jokela M, Keinänen A, Lahtela H, Lassila K Insinööritoimisto Olof Granlund Oy BOX 59, 00701 Helsinki, Finland ABSTRACT A new integrated simulation system for the building
More informationClass diagrams. Modeling with UML Chapter 2, part 2. Class Diagrams: details. Class diagram for a simple watch
Class diagrams Modeling with UML Chapter 2, part 2 CS 4354 Summer II 2014 Jill Seaman Used to describe the internal structure of the system. Also used to describe the application domain. They describe
More informationStylus Studio Case Study: FIXML Working with Complex Message Sets Defined Using XML Schema
Stylus Studio Case Study: FIXML Working with Complex Message Sets Defined Using XML Schema Introduction The advanced XML Schema handling and presentation capabilities of Stylus Studio have valuable implications
More informationBellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP
Class Session: TTh 6:00 pm 8:00 pm Credit Hours: Two (2) Location: A262 Door Code: 349499 (through A254) Instructor: Greg Wharton Office: by appointment Hours: by appointment or email email: gwharton@gmail.com
More informationTable 2 1. F90/95 Data Types and Pointer Attributes. Data Option. (Default Precision) Selected-Int-Kind
Chapter 2 Data Types Any computer program is going to have to operate on the available data. The valid data types that are available will vary from one language to another. Here we will examine the intrinsic
More informationExperiences with Open Inventor. 1 Introduction. 2 HEP Visualization in an Object-Oriented Environment
Experiences with Open Inventor Joseph Boudreau University of Pittsburgh, Pittsburgh, PA, 15260 USA Abstract The Open Inventor(OI) library is a toolkit for constructing, rendering and interacting with a
More informationChapter 1: Object-Oriented Programming Using C++
Chapter 1: Object-Oriented Programming Using C++ Objectives Looking ahead in this chapter, we ll consider: Abstract Data Types Encapsulation Inheritance Pointers Polymorphism Data Structures and Algorithms
More informationPhysically-Based Modeling and Animation. University of Missouri at Columbia
Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting
More informationA System for Managing the CLEO III Detector Geometry
A System for Managing the CLEO III Detector Geometry Christopher D. Jones University of Florida Abstract A description of the detector's geometry is needed for several software tasks, e.g. Monte Carlo
More informationProgramming Languages Third Edition. Chapter 7 Basic Semantics
Programming Languages Third Edition Chapter 7 Basic Semantics Objectives Understand attributes, binding, and semantic functions Understand declarations, blocks, and scope Learn how to construct a symbol
More informationEDMS. Architecture and Concepts
EDMS Engineering Data Management System Architecture and Concepts Hannu Peltonen Helsinki University of Technology Department of Computer Science Laboratory of Information Processing Science Abstract
More informationThe ITAPS Mesh Interface
The ITAPS Mesh Interface Carl Ollivier-Gooch Advanced Numerical Simulation Laboratory, University of British Columbia Needs and Challenges for Unstructured Mesh Usage Application PDE Discretization Mesh
More informationCS112 Lecture: Primitive Types, Operators, Strings
CS112 Lecture: Primitive Types, Operators, Strings Last revised 1/24/06 Objectives: 1. To explain the fundamental distinction between primitive types and reference types, and to introduce the Java primitive
More informationIntroduction. Primitive Data Types: Integer. Primitive Data Types. ICOM 4036 Programming Languages
ICOM 4036 Programming Languages Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative Arrays Record Types Union Types Pointer and Reference Types Data Types This
More informationLecture 7. Neutral File. Lecture 7 1
Lecture 7 Neutral File Lecture 7 1 What is neutral file? Without neutral file, we requires 2 N number of translator for N numbers of software. Translator Computer Computer Computer Computer Computer Neutral
More information2D1358 Object Oriented Program Construction in C++ Exercises & Labs. Course Registration / Accounts. Course Literature
2D1358 Object Oriented Program Construction in C++ Exercises & Labs Lecturer: Frank Hoffmann hoffmann@nada.kth.se Assistents: Danica Kragic danik @nada.kth.se Anders Orebäck oreback @nada.kth.se Peter
More informationDesigning Procedural 4GL Applications through UML Modeling
Designing Procedural 4GL Applications through UML Modeling Shiri Davidson, Mila Keren, Sara Porat, Gabi Zodik IBM Haifa Research Lab Matam - Advanced Technology Center Haifa 31905, Israel {shiri, keren,
More informationModeling Basics for 3D Printing Using AutoCAD
Modeling Basics for 3D Printing Using AutoCAD William Work CAD Manager Join us on Twitter: #AU2014 Who am I? Architect CAD Manager I am an architect and CAD manager with a firm of more than three hundred
More informationGeometric Modeling Systems
Geometric Modeling Systems Wireframe Modeling use lines/curves and points for 2D or 3D largely replaced by surface and solid models Surface Modeling wireframe information plus surface definitions supports
More informationINTERNATIONAL STANDARD
INTERNATIONAL STANDARD IEC 61360-2 Edition 2.1 2004-02 Edition 2:2002 consolidated with amendment 1:2003 Standard data element types with associated classification scheme for electric components Part 2:
More informationComputer Aided Design. Solid models and B-REP
Solid models and B-REP 1 Classical modelling problem : the intersection 3 independent representations of the intersection : - a 3D NURBS curve (giving points in the global XYZ coordinate system) - a 2D
More information«Computer Science» Requirements for applicants by Innopolis University
«Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly
More information