24th ABCM International Congress of Mechanical Engineering December 3-8, 2017, Curitiba, PR, Brazil

COBEM-2017-2435 PROPOSAL OF AN ADVANCED DATA MODEL FOR STEP-NC COMPLIANT ADDITIVE MANUFACTURING

Efrain Rodriguez Department of Mechanical and Mechatronics Engineering, University of Brasilia, GIAI (Grupo de Inovação em Automação Industrial), 70910-900, Campus Universitário Darcy Ribeiro, Asa Norte, PO Box: 04386, Brasilia, Brazil [email protected]

Renan Bonnard SENAI/SC Innovation Institute for laser manufacturing, manufacturing systems and embedded systems, Florianópolis, Brazil [email protected]

Alberto Alvares Department of Mechanical and Mechatronics Engineering, University of Brasilia, GIAI (Grupo de Inovação em Automação Industrial), 70910-900, Campus Universitário Darcy Ribeiro, Asa Norte, PO Box: 04386, Brasilia, Brazil [email protected]

Abstract. Additive Manufacturing (AM) is upheld as one mega-trend from new industrial landscape - Industry 4.0. Mas- sive benefits are promised by AM for development of the new products including reduced time-to-launch, manufacturing design freedom and supply chain improvements. Nevertheless, serious problems persist on AM digital chain with the use of format old styles for data exchange. The STL (1987) format has been used as the "de facto" standard for data exchange between 3D-design softwares and AM systems. Similarly, numerical controllers of AM systems still use the G-code (ISO 6983/1980) standard. But they have drawbacks that make them incompatible with the idea of a high-level digital chain for AM. ISO 14649, known as STEP-NC, is now trusted as a solution for AM data exchange. This paper explores the STEP-NC standard to support the AM high-level digital chain and highlights the advantages of such a digital chain. An application activity model using the nomenclature IDEF0 and an application reference model in EXPRESS are presented. The concept of AM-layer-feature is introduced for referencing AM features within of the EXPRESS model. Finally, the architecture of a indirect STEP-NC AM platform for implementation of the new model also is presented.

Keywords: additive manufacturing, STEP-NC, ISO 14649, direct digital manufacturing, industry 4.0

1. INTRODUCTION

The new industrial revolution, called Industry 4.0, is expected to change the industrialized production systems by integrating intelligent manufacturing systems and, information and communication technologies. This movement is en- couraging the automation of the process chain through Digitization and Networked Production. It involves Cyber-Physical Systems, Internet of Things (IoT) and Cloud Computing to create the "Smart Factory", with lots of data flowing seamlessly from machine-to-machine and machine-to-human (Yu et al., 2015). Meanwhile, Additive Manufacturing is considered as one mega-trend from Industry 4.0. A clear addition is the ability to create a physical object directly from the virtual 3D-model data. Moreover, parts with complex geometries that cannot be easily fabricated through machining processes, can now be achieved by using additive processes without needing of multiple setups and waste of material. Initially, AM was destined exclusively for rapid prototyping of products, but thanks to the immense development that it has experimented in terms of speed, quality, materials and machine resources, has been extended to full-functional and whole parts production directly for end-user. Consequently, this fact has changed the way to produce many products in the industry and it has led to AM to gain more space within a important range of applications including aerospace and automotive industry, biomedical engineering, product development, architecture, electronic devices, etc. (Negi et al., 2013). Despite this enormous progress, there are still drawbacks on digital chain that involve both AM and machining pro- cesses, with the lack of a standard format for data exchange. This undesirable destandardization has been for a long time the major issue faced by manufacturer industry (Brunnermeier and Martin, 1999). With the advent of smart factories, manufacturing systems are being forced to migrate to more collaborative and interoperable environments, where large amounts of data are generated, stored, exchanged and used to produce the new products. In this scenario, full integrity E. Rodriguez, R. Bonnard and A. Alvares Proposal of an Advanced Data Model for STEP-NC Compliant Additive Manufacturing and transparency of data must be provided by appropriate management through standardization. Therefore, an integrated digital chain with a single format containing high-level information of the product is required (Bonnard et al., 2010). In an international effort, the ISO 14649 (ISO 14649-1, 2003) standard, informally known as STEP-NC (STandard for the Exchange of Product model data - Numerical Control), emerges to solve the problems of the digital chain of ad- vanced manufacturing systems. STEP-NC proposes a hierarchical data structure for engineering and manufacturing data exchange. Integration of digital chain based on STEP-NC have been gradually developed so far for machining processes (turning, milling...) (Suh et al., 2003; Rosso et al., 2004; Rauch et al., 2012). In AM, the subject is still in an early stage and has to be challenged with a new STEP-NC AM model and a STEP-NC platform proposition. That is why this work proposes a concept of STEP-NC compliant AM data exchange model aimed at new industrial landscape. The outline of this paper is: first, to analyze the current situation of the digital chain in AM and identify its weaknesses; second, highlights new possibilities for a integrated and standardized AM digital chain with the STEP-NC. Then, the new STEP-NC compliant AM data model proposition is presented, and finally, the architecture of an indirect STEP-NC AM platform is described.

2. CURRENT STATUS OF THE AM PROCESSES

Seen holistically, the AM process can be basically considered as a sequence of four main stages: part design; process planning; fabrication; and, post-processing. The sequential organization of these stages is known as the digital chain or "digital thread" of the AM. The typical digital chain currently used in AM process is illustrated in Fig. 1. In the first stage, the part design is generated as a solid 3D-model through the use of Computer-Aided Design (CAD) software. The CAD model is then passed onto the Computer-Aided Process Planning/Manufacturing (CAPP/CAM) software by using most of the time the Standard Triangulation Language (STL) file format. In the CAPP/CAM software (second stage), the optimal part orientation is selected and the support structure is provided for the part’s surfaces that are fully suspended. After the part model is sliced in layers of a defined thickness and additional fabrication parameters such as fill density of each layer, number of perimeters and external infill pattern, may also be specified by the manufacturing engineering. The CAPP/CAM software automatically determines the tool-paths necessary for each layer and a post-processor is responsible for generating optimized instructions (G-code) based on a pre-defined Computerized Numerical Control (CNC) machine. In the third stage, the part is then manufactured through the sequential execution of the instructions contained into machine specific CAM file. Finally, the manufactured part can be tested and validated (fourth stage) before being addressed for end-user. It is notable that to manufacture a product with an AM system, it is necessary to use many files and many conversions process. Firstly, the STL format has been used as the de facto standard for the transfer of 3D-design data for almost all AM systems. However, it is known that the STL format is only an approximation of the exact geometry of the part model represented by discrete triangular elements (Szilvsi-Nagy´ and Mátyási, 2003). Each triangle is defined by twelve floating point numbers corresponding to its unit normal and vertices (direction and order given by the right-hand rule). Already, this introduces geometric gaps since one vertex can be shared for two or more triangles and small rounding errors result in vertices that do not exactly match. Moreover, high-level information such as tolerances, roughness, material, color, etc., are not present in this format. Also, the STL format presents problems such as information redundancy, poor scalability, loss of geometric elements, no defined dimensional units, among others. On the other hand, CNC controllers of AM systems still use the G-code (ISO 6983-1, 1982) standard. The language of ISO 6983 defines alphanumeric commands with information limited mainly to the movement of the axes of the machine, that being unconcerned for process information itself. Already, this mean a waste the capabilities of the CNC systems. In addition, each CNC systems vendor is reluctant to define specific instructions for their controllers. So, it is necessary one post-processor and one expert per machine, which severely limits the flexibility and interoperability of this systems. Besides that, bi-directional data flow and integrated feed-back information from shop-floor are not possibles on this digital chain. So far, this chain has operated acceptably, but demands for a new industry, including Industry 4.0 concept, require more flexibility, traceability and interoperability for manufacturing systems that are impossible with the current digital chain. Therefore, new possibilities for the standardization and integration of the AM digital chain should be explored.

3. NEW POSSIBILITIES FOR A COMPLETE STANDARDIZED AM DIGITAL CHAIN

As outlined above, both STL and G-code are incompatible with the concept of a AM high-level digital chain. This problem is solved by making changes in the current AM digital chain (Bonnard et al., 2010), which means adopting a new standard file format to carry design and manufacturing data in AM systems. Over the years, several research (Kumar and Dutta, 1997; Pratt et al., 2002) evaluated the data requirements in AM processes and concerned about the shortcomings of the STL format for transferring data between CAD softwares and AM systems. In response, alternative file formats have been evaluated in order to overcome such limitations of the STL. Some of the considered formats include RPI (Rensselaer Polytechnic Institute) (Rock and Wozny, 1991), LMI (Layer Manufacturing Interface) (Kai et al., 1997), CLI (Common Layer Interface) (Zeng et al., 2013), STH (Surface Triangles Hinted), CLF (Cubital Facet List) and, recently, the AMF Measuring Results Design Features Library AM Technology Database Data Model for Computarized Modeling Operations Library AM Resource Database Numericall Controller CAIP/CAI Coordinate-Measuring ISO 10303-(203, 214, 242) ISO 10303-21 Physical File Format Machine Kinematic Model System Machine Data-Base AM Resource Data Model STEP 203, 214, 242 [ISO13399-ISO14649] Physical File P 21 AM Process Data Model ID Part Part 2D and 3D Model AM Machine i Manufactured CAD Module STEP-NC Part Part Specifications A1 STEP-NC File P 21 Part Design CAD High-level Design Engineer System information Design Features Library CAPP/CAM Process Plan Modeling Operations Library Module ISO 10303-(AP203, AP214, AP242) A2 Software Resource AM Machine j Manufactured ISO 10303-21 AM Machine Resources Part Production Rules Kinematic and Dynamic STEP 203, 214, 242 AM Technologies Manufactured Part Physical File - P 21 Models Manufacturing CAPP/CAM CNC Module Optimization Algorithms Engineer System Physical Material NC-Program ISO 14649-17 A3 ID Part Part 2D and 3D Model CAD Module Part Specifications A1 Design Engineer Manufacturing Engineer CNC Operator CAD System CAM System AM Machine CAPP/CAM Process Plan Lack of 24th ABCM International Congress of Mechanical Engineering (COBEM 2017) Lack of Module Information December 3-8, 2017, Curitiba, PR, Brazil Information Sliced 3D-Model Visualization A2 CAM MPF File STEP-NC File - P 21 CAPP/CAM Post Machine Simulation AM Machine i Manufactured Loss of Loss of System Processor i specific CNC Module CAM file Part Information Information Physical Material Lack of A3 Manufactured Part Information CAM G-code File A0 CAD Lack of Part Additive Manufacturing Digital Chain with STEP-NC File CAPP/CAM Post Machine Manufacturing Information Specifications AM Machine i Manufactured End-User System Processor i specific Engineer Loss of Part CAD STL, AMF CAM file Part Data-Base Information Ok Specifications System MPF Design Engineer Manufacturing Engineer Machine Operator Part CAD System CAPP/CAM System AM CNC System Lack of Post Machine CAD validated? AM Machine j Manufactured Information Processor j specific File CAM file Part Design CAD Manufacturing CAM STL Design Engineer System Engineer Loss of Loss of Engineer File Lack of Information Information Drawbacks CAPP/CAM Information System CAM G-code File MPF CAPP/CAM Machine Post AM Machine j Post Machine System Processor j specific Manufactured Manufacturing Processor k specific AM Machine k CAM file Part Engineer CAM file Manufactured Part Part Design Process Planning Fabrication Manufacturing Engineer Part Design Process Planning Fabrication Post-Processing Figure 1. Current situation of the AM digital chain.

(Additive Manufacturing Format) (Nassar and Reutzel, 2013) and 3MF (3D Manufacturing Format) formats, but were not totally suitable to all the data requirementsSistema of the industrial AM processes, and much less they allow to transfer Arquivo con CAIP/CAI Máquina de manufacturing dataCorr up theecciones CNC de level. Inspección por Since the late 1980s,Inspección a unifying effort was started by internationalCoordenadas community to development a powerful set of

standards, all under ISO 10303 (Pratt,STEP- 2001)-well known as STEP. The goal of STEP is to provide a common language to describe all aspects technical productNC data throughout the life-cycle of a product. The neutral nature of this standard make it suitable for transferring data betweenInformación CAD and CAMInformación programs independentlyInterpretador of a particular system. The new STEP Parte de Alto Nivel de Alto Nivel STEP-NC Máquina i compliant NC standard, known as STEP-NC, extends the ISO 10303 STEP models to includeManufacturada manufacturing process

and machine tool data. STEP-NC isArchivo intended to facilitateSTEP- the seamless dataCommunicación exchange between CAPP/CAM and CNC STEP NC entre sistemas systems and provide a high-level object oriented data model for a next generationAM - CNC of intelligent controllers with advanced functions. Nowadays,Design withinSistema of ISOArchivo there CAD areSistema two versionsPlano de of STEP-NC under development: ISO 14649 (ISO 14649- CAD Basado en CAPP/CAM Proceso 1, 2003)-Application Reference ModelFeatures (ARM) by ISO ISO TC184/SC4 committee and the other ISO 10303-238 (ISO [STEP203, 10303-238, 2011)-Application InterpretedSTEP214 Model by ISO TC184/SC4 committee. ISO 10303-238 links everything in Pérdida de Pérdida de ARM within an AIM to achieve betterSTEP242] integration with other resources of STEP (Xu et al., 2005). Kramer et al. (Kramer Interpretador Información Información et al., 2006) demonstrated that both versions of STEP-NC can be implementedSTEP-NC successfully.Máquina j Then,Parte the development of Diseñador Ingeniero de Manufacturada Archivo AME STEP-NC data models has been carried out mainlyManufactura for machining processes (Suh et al., 2003; Rosso et al., 2004; Rauch CAM et al., 2012). Archivo CAM Sistema Post Parte para Máquina Máquina i STEP-NC is now championed as great challenger of the weaknesses of the AM digital thread. New possibilities for CAPP/CAM Procesador i Manufacturada Específica support a standardized high-level digital chain of the additive manufacturing systems are given by STEP-NC standard. Pérdida de Información Figure 2 illustrates the concept of an integratedMeasuring and standardizedResults STEP-NC compliant AM high-level digital chain, which Archivo Pérdida de is support on a single file formatCAIP/CAI for AM data exchange from design to NC controller. Thus, the AM STEP-NC file is CAD STEP-NC Program Ingeniero de Información System Coordinate-Measuring therefore enrichedwith Measuring with AM high-level data from each CAx system. Potential possibilities can be achieved by adopting Manufactura Machine Diseño Sistema STL, AMF this digital chainResults model. For example, bidirectional data flow between CAD-CAPP-CAM and CNC systems is possible, CAD Data-Base AME allowing modifications in product design throughout manufacturing cycle without any information loss. High-level infor- Pérdida de STEP- Tape Post Archivo CAM Parte Información Máquina j mation of product such as geometry,NC process parameters and workplan are incorporatedfile within an unique AM STEP-NC Procesador j para Máquina Manufacturada Específica file thanks to feature concept.High-level The need for post-processorsHigh-level isSTEP-NC eliminated and interoperability between AM systems is AM Machine i Manufactured Archivo information information Interpreter CAM enabled. This concept of chain also allows to include integrated feed-back information from shop-floorPart for part inspection Pérdida de Sistema task form CAIP/CAI (ComputerSTEP Aided InspectionSTEP- Planning/Inspection) systemCommunication (Jaimes et al., 2017). All information Información file NC between CAPP/CAM contained in STEP-NC file is stored on a cloud database. AM-CNC systems Part CAD Feature CAPP/CAM Process AME Design System based System Plan 3.1 MOTIVATION FOR THECAD file NEW STEP-NC COMPLIANT AM DATA MODEL Post Archivo CAM Parte [STEP203, Procesador k para Máquina Máquina k Manufacturada Tape Ingeniero de Específica STEP214 file Manufactura With the increase in complexitySTEP242] of the part and digital processes, linking the geometric data and high-level information STEP-NC is becoming moreDesign and more importantManufacturing to achieve higher qualityInterpreter products and processAM efficient.Machine j TheManufactured usage of a standard format for exchangingEngineer of data contributesEngineer to significantly improves data quality and reduce the time forPart product develop- ment. Carleberg (Carleberg, 1994) was the first to propose the use of a STEP based format for representing of data in AM Design Features Library AM Technology Database Data Model for Computarized Modeling Operations Library AM Resource Database Numericall Controller ISO 10303-(203, 214, 242) ISO 10303-21 Physical File Format Machine Kinematic Model

AM Resource Data Model STEP 203, 214, 242 [ISO13399-ISO14649] Physical File P 21 AM Process Data Model ID Part Part 2D and 3D Model CAD Module Part Specifications A1 STEP-NC File P 21

Design Features Library CAPP/CAM Process Plan Modeling Operations Library Module ISO 10303-(AP203, AP214, AP242) A2 Software Resource ISO 10303-21 AM Machine Resources Production Rules Kinematic and Dynamic STEP 203, 214, 242 AM Technologies Manufactured Part Physical File - P 21 Models CNC Module Optimization Algorithms Physical Material NC-Program ISO 14649-17 A3 ID Part Part 2D and 3D Model CAD Module Part Specifications A1 Design Engineer Manufacturing Engineer CNC Operator CAD System CAM System AM Machine CAPP/CAM Process Plan Lack of Lack of Module Information Information Sliced 3D-Model Visualization A2 E. Rodriguez, R. Bonnard and A. Alvares CAM MPF File Proposal of an Advanced Data Model for STEP-NC Compliant Additive Manufacturing STEP-NC File - P 21 CAPP/CAM Post Machine Simulation AM Machine i Manufactured System Processor i specific CNC Module CAM file Part Physical Material Lack of A3 Manufactured Part Information Measuring Results A0 CAD Lack of Additive Manufacturing Digital Chain with STEP-NC File Information Manufacturing CAIP/CAI Coordinate-Measuring Engineer Part CAD STL, AMF System Machine Data-Base Data-Base Post-Processing Specifications System MPF Design Engineer Manufacturing Engineer Machine Operator CAD System CAPP/CAM System AM CNC System Lack of Post Machine AM Machine j Manufactured Information Processor j specific CAM file Part Design CAM Engineer File AM Machine i Manufactured Lack of STEP-NC Part CAPP/CAM Information System Part Design CAD High-level information MPF Specifications Engineer System

Post Machine Part Design Manufactured Manufacturing Processor k specific AM Machine k AM Machine j Manufactured Part Engineer CAM file Part Process Planning Fabrication Part Design Process Planning Fabrication Manufacturing CAPP/CAM Engineer System Figure 2. New concept of STEP-NC compliant AM digital chain.

process. Dutta et al. (Dutta et al., 1998) stressed that the STL format puts limitations to integration of geometry data and additional types of information required, and they proposed the utilization of STEP resources to carry additional data such as material specification, process parameters, tolerances and roughness requirements. Others research (Pratt et al., 2002; Danjou and Koehler, 2008; Lipman and McFarlane, 2015) also highlighted the advantages of STEP for connecting part geometry data and high-level informationSistema in AM systems. Ryou et al. (Ryou et al., 2006) proposed an information model of AM part designArquivo seekingcon toCAIP/CAI include the AM process in the ISO 14649Máquina standard. de The methodology used by Ryou et al. (Ryou etCorr al.,ecciones 2006) consistde of dividing the part design data in four categoriesInspección por representing entities within a EXPRESS Inspección Coordenadas model. The first category refers to detailed geometry design data of the part; the second category contains non-geometry design data of the part such asSTEP- tolerances, roughness, material... the third category provides information about process Loss of Loss of history of the AM system; and inNC the fourth category (optional) contains a data representation of multicolor parts. They Information Information also developed a ISO 14649-based preprocessor for implementation of the models contains high-level design information Información Información Interpretador Parte of a test part. de Alto Nivel de Alto Nivel STEP-NC Máquina i CAM G-code Manufacturada File In France, the Professor Hascoët’s team (Bonnard et al., 2010) concerned about the need for a global approach with Communicación Part a AM digital chain involving theArchivo representation of manufacturingSTEP- data at the NC controller level. Therefore, they have CAPP/CAM Post Machine entre sistemas Specifications AM Machine i Manufactured End-User STEP NC System Processor i specific proposed a methodology to achieve a complete integrated AM digital chainAM with - CNC the use of an unique STEP-NC file Loss of CAM file Part format.Design Such a chainSistema enablesArchivo a bidirectional CAD Sistema exchangePlano of AM de high-level data between CAD-CAM-CNC systems and Ok CAD CAPP/CAM Information Basado en Proceso et al. Part offers potentials opportunitiesFeatur for thees development of new advanced and flexible AM systems (Bonnard , 2009, 2010). CAD validated? This proposal of the Professor[STEP203, Hascoët’s team was done in accordance with the ISO TC 184/SC 1 committee’s intention File to include the AM processes withinSTEP214 ISO 14649 standard. Actually, the Additive Manufacturing has been proposed as Part Pérdida de Pérdida de STEP242] Design CAD STL Manufacturing 17 of ISO 14649 (ISO/AWI 14649-17, 2016), which is a project still under development. This stage creates opportunity Información Información Loss of Interpretador Engineer System Engineer Loss of for proposition of both new STEP-NC AM data models and for the developmentSTEP-NC of an implementationMáquina j STEP-NCParte AM Information Diseñador Ingeniero de Manufacturada Information Drawbacks Archivo AME platform to validate the proposed models.Manufactura CAM CAM STEP-NC promises huge benefits for the AM digital chain, but at the same time its implementation becomes quite G-code Archivo CAM Sistema Post Parte File complex. This is an important point, as not only it is enough to highlight the capabilities of STEP-NC, but also to para Máquina Máquina i CAPP/CAM Procesador i Manufacturada CAPP/CAM Machine demonstrate that the models can be applied on a real system. Rauch et al. (Rauch et al., 2012) propose a method to Específica Post AM Machine j Pérdida de System specific gradually overcome such complexity and achieve STEP-NC programming. This method is based on three levels of Processor j Measuring Results Información CAM file implementation: 1) Indirect STEP-NC programming, where a interpreter is used to translate the STEP-NC program to Manufactured G-code commands, which are easily understood by existing controllers; 2) Interpreted STEP-NC programming, where Archivo Pérdida de Part CAIP/CAI CAD tool-pathSTEP-NC generationProgram and operation execution is perform directly form the STEP-NC program; 3) Adaptive STEP-NC Ingeniero de Información System Coordinate-Measuring with Measuring Manufactura Manufacturing programming, in which NC controller is able to perform the machiningMachine task in a way intelligent and make decisions Diseño Sistema STL, AMF Results CAD Engineer about the process in real time. This last levelD isata the-Ba goalse to be achieved for all advanced manufacturing systems. However, AME Part Design Process Planning Fabrication Post-Processing STEP-NC programming has only been partially developed for machining processes such as milling, turning and EDM (Xu Pérdida de STEP- Tape Post Archivo CAM Parte et al. NC Información Máquina j , 2005). Now, AM with STEP-NC is less developed in comparison to machiningfile processes due to the lack of Procesador j para Máquina Manufacturada Específica implementation AMHigh-level STEP-NC programmingHigh-level platforms. To changeSTEP-NC the situation must start with the development of AM Machine i Manufactured Archivo STEP-NC AM platforminformation prototypes from theinformation first level and goInterpreter up to match the level of machining systems. Hence, CAM Part Pérdida de Sistema STEP STEP- Communication Información file NC between CAPP/CAM AM-CNC systems Part CAD Feature CAPP/CAM Process AME Design System based System Plan CAD file Post Archivo CAM Parte [STEP203, Procesador k para Máquina Máquina k Manufacturada Tape Ingeniero de Específica STEP214 file Manufactura STEP242] STEP-NC Design Manufacturing Interpreter AM Machine j Manufactured Engineer Engineer Part Loss of Loss of Python OCC Tools ISO 10303-AP 10 Information Information ISO 10303-224 AM Technologies Database JSDAI[ISO 10303 Part 22, 27] CAM G-code File Part Part Design Features ISO 10303-Part 21 CAPP/CAM Post Machine Specifications AM Machine i Manufactured End-User System Processor i specific STEP 203, 214, 242 Geometric and Loss of Part CAM file Ok Physical File - Part 21 Topological Information Information Part Recognition Layers List – SVG File CAD validated? File A21 Slicing 3D- Sliced 3D-Model Visualization Design CAD STL Manufacturing Model Engineer System Engineer Loss of Loss of Part Specifications Information Information Drawbacks A22 AM-Workingsteps

CAM G-code Process Plan File Workplan Generation CAPP/CAM Machine Post AM Machine j System Processor j specific A23 CAM file STEP-NC STEP-NC Manufactured Part Program Physical Fie - Part 21 Part 24th ABCM International Congress of Mechanical Engineering (COBEM 2017) Generation December 3-8, 2017, Curitiba, PR, Brazil Manufacturing A24 Engineer Part Design Process Planning Fabrication Post-Processing a research work (Rodriguez et al., 2017a) is underway at LaDPRER (Laboratorio de Desenvolvimento de ProdutoDatabas e Manufacturing Engineer Engenharia Reversa) laboratory from University of Brasilia, with the objective of developing a new STEP-NCCAPP/CA compliantM System AM data model aimed at implementation on a layer-by-layer based AM open platform. The methodology for new model proposition is well described in next section.

4.External STEP-NC Contour COMPLIANTInternal Contours AM DATA MODEL PROPOSITION

4.1 Application Activities Model

An Application Activities Model (AAM) can be built in order to inform about activities to be implemented in the process digital chain. The AAM is formalized in ISO 14649-1 (ISO 14649-1, 2003) and it uses the IDEF0 nomenclature Layer i to describe the flow of information between activities in the life-cycle of a product. From this representation model, each activity transforms an input data into an output data through mechanisms and controls. Such a representation results in CAD Model Sliced Model multi-layer diagrams where an activity may contain sub-activities and in turn each sub-activities can contain others sub- Layer Thickness Lack of Lack of activities. Figure 3 shows the upper level of the IDEF0 representation for a AM digital chain with STEP-NC. This level Information Information represents the activity A0 according to the nomenclature IDEF0, which is decomposed in three sub-levels or sub-activities corresponding to the CAD, CAPP/CAM and CNC modules. Each module is explained in detail. CAM MPF File CAPP/CAM Post Machine Design Features Library Python OCC Tools AM Machine Resources AM Machine i Manufactured System Processor i specific Modeling Operations Library ISO 10303-Part 21 Kinematic Model CAM file Part ISO 10303-AP 10 Lack of ISO 10303-(AP203, ISO 6983 Information AP214, AP242) AM Technologies Database ISO 10303-224 SDAI[ISO 10303 Part 22, 27] CAD Lack of File Manufacturing Information ID Part Part CAD Engineer Part 2D and 3D Model STL, AMF CAD Module Specifications System MPF Part Specifications Sistema A1 STEP-NC File - Part 21 Lack of Post Machine Arquivo con CAIP/CAI Máquina de AM Machine j Manufactured Information Processor j specific Correcciones de Inspección por CAM file Part CAPP/CAM Process Plan Inspección Coordenadas Design CAM Engineer File Module Lack of Sliced 3D-Model Visualization STEP- CAPP/CAM Information A2 NC System STEP 203, 214, 242 Información Información Interpretador Parte MPF Physical File - Part 21 de Alto Nivel de Alto Nivel STEP-NC Máquina i Simulation Manufacturada CNC Module Post Machine Physical Material Communicación AM Machine k Manufactured Archivo STEP- Manufacturing Processor k specific STEP NC entre sistemas Part A3 Manufactured Part Engineer CAM file AM - CNC Design Sistema Archivo CAD Sistema Plano de Part Design Process Planning Fabrication CAD Basado en CAPP/CAM Proceso Additive Manufacturing Digital Chain with STEP-NC A0 Features [STEP203, Database STEP214 Design Engineer Manufacturing Engineer Machine Operator STEP242] Interpretador CAD System CAPP/CAM System AM CNC System Parte Ingeniero de STEP-NC Máquina j Figure 3. Upper level of IDEF0 representation of the AM digital chain with STEP-NC. Diseñador Manufacturada Design Features Library AM Technology Database Data Model for Computarized Manufactura Modeling Operations Library AM Resource Database Numericall Controller ISO 10303-(203, 214, 242) ISO 10303-21 Physical File Format Machine Kinematic Model In the CAD module (A1), the part is modeled from a input data with design specifications (geometric and non- STEP-NC geometric informations) by using any commercial modeler software with support for ISO 10303 resources (e.g. Solid- AM Resource Data Model works, Catia, etc.). The CAD module’s output is a STEP file containing all design data of the part described in some STEP 203, 214, 242 [ISO13399-ISO14649] Compiler Physical File P 21 AM Process Data Model of the Application Protocols (APs) of ISO 10303 intended for description of product design data. The APs of STEP commonly used in the CAD domain are: AP203-configuration controlled 3D designs of mechanical parts and assemblies; ID Part Part 2D and 3D Model AM-Workinsteps AP214-core data for automotive mechanical design processes; and, AP242 managed model-based 3D engineering. The CAD Module STEP physical file will be as the starting information in the CAPP/CAM module. Part Specifications Process planning and preparation for production are essential pre-manufacturing tasks in life-cycle of a AM product. A1 STEP-NC File P 21 STEP-NC/G-code These tasks are carried out in the CAPP/CAM module (Activity A2). This module is decomposed in four sub-activities Process Plan ISO-14649-21; Adapter showed in Fig. 4. This module receives the STEP file with the geometrical and topological information of the part being CAPP/CAM HEADER; Module ... manufactured. In STEP, the part data is represented by design features that include contour representation data such as DATA; #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); shells, faces, edge loops and vertices; geometric surface data such as planes, cylinders, cones, toroids and spheres; and, A2 #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); G-code #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); ... curve geometry data such as lines, circles, B-splines and ellipses. Such design features are recognized in activity A21 #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); by using PythonOCC (Paviot, 2014) tools to define the finished geometry of the AM-workpiece. Immediately after, in ... Modelo Original Manufactured Part #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);...... the activity A22, the workpiece is sliced in layers with a certain thickness. Each layer is treated as a feature of AM CNC Module #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);... Physical Material NC-Program ... Controlador Modelo STL #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); (concept to be explained later). The list of layers goes to the next activity (A23) in SVG (Consortium World Wide Web, #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); AM machine A3 #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Pérdida de Pérdida de ... #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); Información Información ... #80 = AM_STRUCTURE(#81,#87,#95,#101); Device ... Archivo #200 = AM_TOOL(‘AMT1’,#201,#202); AME #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); CAM #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); commands Execution ... Design Engineer Manufacturing Engineer ENDSEC; Archivo CAM CNC Operator Sistema Post Parte para Máquina Máquina i CAD System CAM System AM Machine CAPP/CAM Procesador i Manufacturada Específica STEP-NC file- Part 21 PérdidaSerial de comunication,Pérdida de Pérdida de Información motor drivers,Información Measuring Results Información Archivo G-code Archivo Pérdida de CAM CAIP/CAI CAD sensors STEP-NC Program Ingeniero de Información Especificaciones System Coordinate-Measuring Sistema Post Archivo Manufactured part with Measuring Diseño Sistema Manufactura de la Parte CAM Parte Usuario Final Results Machine STL, AMF CAPP/CAM Máquina de AM i CAD AME Pérdida de Procesador i Manufacturada Data-Base para Ok string its_status Información Máquina Pérdida de identifier approval STEP- Tape Post Archivo CAM Parte Específica Información Máquina j its_release ISO-14649-21; Parte NC file Procesador j para Máquina Manufacturada its_id date_and_time HEADER; Archivo Específica project CAD validada? STEP-NC ... High-level High-level Archivo its_owner Interpreter AM Machine i Manufactured date_and_time Ingeniero de Sistema Ingeniero de information information CAM its_workpiece STL Part Pérdida de main_workplan DATA; Diseño CAD Manufactura Pérdida de Pérdida de Sistema STEP- Communication Información #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); Información Información Drawbacks STEP CAPP/CAM AM_workpiece workplan #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); file NC between #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); AM-CNC systems Archivo Feature AME S[0:?] L[0:?] G-code Part CAD CAPP/CAM Process ... CAM based its_operation #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); Design System System Plan AM_feature AM_workingstep CAD file Post Archivo CAM Parte its_strategy #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); Sistema Post Archivo Máquina de AM j Parte Procesador k para Máquina Máquina k ... [STEP203, Ingeniero de Manufacturada CAPP/CAM Procesador j CAM Manufacturada Tape Específica AM_operation AM_strategy #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... STEP214 file Manufactura its_operation S[0:?] ... para STEP242] its_technology Máquina STEP-NC #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);... AM Machine j Manufactured AM_technology ... Específica Design Manufacturing Interpreter AM_structure Engineer Part its_structure #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Ingeniero de Engineer its_machine_functions AM_machine_functions #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Manufactura manufacturing_feature AM_tool ... Diseño Planeamiento de Proceso Fabricación Post-Procesador its_tool #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); ... Contorno Externo Contornos Internos AM_layer_feature contour_list polyline #80 = AM_STRUCTURE(#81,#87,#95,#101); its_contour_list L[1:?] ... points L[2:?] plane_layer 1 #200 = AM_TOOL(‘AMT1’,#201,#202); #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); bounded_curve cartesian_point contour_curve #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); layer_thickness thickness ... contour_direction ENDSEC; layer_direction direction its_contour_direction Capa i

Parte Original Parte Rebanada en Capas Espesor de la Capa

Measuring Resultados de Results Medición CAIP/CAI Coordinate-Measuring Sistema Máquina de Medición System Machine Data-Base CAIP/CAI por Coordenadas Post-Processing Data-Base Post-Proceso

AM Machine i Manufactured Máquina de AM i Parte STEP-NC Part STEP-NC Manufacturada Part Design CAD High-level information Especificaciones Ingeniero de Sistema Información de Specifications Engineer System de la Parte Diseño CAD alto nivel Cyber-Seguridad Part Design Diseño AM Machine j Manufactured

Internet of Realidad Máquina de AM j Parte Part Things (IoT) Aumentada Manufacturada Process Planning Fabrication Planeamiento de Fabricación Manufacturing CAPP/CAM Proceso Ingeniero de Sistema Engineer System Manufactura CAPP/CAM Comandos con información limitada N05 G54 principalmente a la descripción Información en la Big-Data N10 G00 Z10.000 Nube de movimientos de los ejes de la N15 G91 G0 Z200 Manufactura Aditiva máquina (AM-Additive Manufacturing) Sistemas Robots N20 T5 D1 WW Integrados Autónomos N25 G90 M5 Simulación Manufactura Vendedores de máquinas CNC Aditiva N30 G00 X0.000 Y-150.000 son reluctantes de definir Sistema CAM códigos específicos N35 G00 Z5.000 N40 M08 N45 S3600.000 Compilador Comandos primitivos para N50 M03 STEP-NC funciones encender/apagar N55 F1400.000 N60 G00 X60.000 Y-150.000 AM-Workinsteps Sin soporte para descripción N65 G00 Z5.000 ISO-14649-21; HEADER; N70 G00 X60.000 Y-160.000 ... de movimientos spline y DATA; #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); N75 G01 Z-0.500 #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); Controlador funciones NC sofisticadas Máquina CNC #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); ... #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); ... #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); ... #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... Señales ... #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);...... Digitales y #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Ejecución #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Análogas ... #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); ... #80 = AM_STRUCTURE(#81,#87,#95,#101); ... #200 = AM_TOOL(‘AMT1’,#201,#202); Comunicación con #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Parte Final #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); ... ENDSEC; drivers de motores Archivo STEP-NC - Parte 21 y sensores Máquina de AM Loss of Loss of Information Information

CAM G-code File Part CAPP/CAM Post Machine Specifications AM Machine i Manufactured End-User System Processor i specific Loss of CAM file Part Information Ok Part CAD validated? File Design CAD STL Manufacturing Engineer System Engineer Loss of Loss of Information Information Drawbacks

CAM G-code File CAPP/CAM Machine Post AM Machine j System Processor j specific CAM file Manufactured Part Manufacturing Engineer Part Design Process Planning Fabrication Post-Processing

External Contour Internal Contours E. Rodriguez, R. Bonnard and A. Alvares Proposal of an Advanced Data Model for STEP-NC Compliant Additive Manufacturing

1999) format to generate the process plan (workplan). In this activity, the AM-workingsteps are created by associating an additionLayer material i operation for each AM-feature. In addition, the type of AM technology used, machine utilities and optimized process parameters are selected from design requirements of the part (such as tolerance, roughness, material, CAD Model Sliced Model etc.) by using a specialized knowledge-database. Tool-paths are also generated for each layer (AM-feature). Then, in activityLayer A24, Thickness the STEP-NC program is automatically generated with the sequence of the AM-workingsteps, referencing Lack of Lack of Information Information ISO 10303-Part 21 and JSDAI (ISO 10303-Part 22, 27). The output of this activity is the physical file STEP-NC in Part 21 with the program of the part to be manufactured. CAM MPF File Design Features Library Python OCC Tools AM Machine Resources Machine Python OCC Tools ISO 10303-AP 10 Modeling Operations Library CAPP/CAM Post ISO 10303-224 ISO 10303-Part 21 Kinematic Model specific AM Machine i Manufactured AM Technologies Database ISO 10303-AP 10 System Processor i ISO 10303-(AP203, ISO 6983 CAM file Part JSDAI[ISO 10303 Part 22, 27] AM Technologies Database Lack of AP214, AP242) ISO 10303-224 Information Part Design Features ISO 10303-Part 21 SDAI[ISO 10303 Part 22, 27] CAD Lack of Geometric and ID Part File STEP 203, 214, 242 Manufacturing Information Topological Part 2D and 3D Model Physical File - Part 21 CAD Module Engineer Information Part CAD STL, AMF Specifications System MPF Recognition Layers List – SVG File Part Specifications A1 STEP-NC File - P 21 A21 Lack of Post Machine Slicing 3D- Sliced 3D-Model Visualization AM Machine j Manufactured Information Processor j specific Model CAPP/CAM Process Plan Part CAM file Part Specifications Module Design CAM A22 AM-Workingsteps Sliced 3D-Model Visualization Engineer File A2 Lack of CAPP/CAM Information Workplan Process Plan STEP 203, 214, 242 System Generation Physical File - P 21 Simulation MPF A23 CNC Module Physical Material STEP-NC STEP-NC Post Machine Manufactured Part Program Physical Fie - Part 21 A3 Manufactured Part Manufacturing Processor k specific AM Machine k Part Generation Engineer CAM file A24 Additive Manufacturing Digital Chain with STEP-NC A0 Part Design Process Planning Fabrication Database Manufacturing Engineer Machine Operator Database Design Engineer AM CNC System Manufacturing Engineer CAD System CAPP/CAM System CAPP/CAM System

Design Features Library AM Technology Database Data Model for Computarized Figure 4. Activity 2: CAPP/CAM module decomposition. Modeling Operations Library AM Resource Database Numericall Controller ISO 10303-(203, 214, 242) ISO 10303-21 Physical File Format Machine Kinematic Model The STEP-NC file passes to the CNC module (Activity A3 - Fig.3) where there is an AM CNC system with indirect control for implementation. The associated information to each AM-workingstep in the STEP-NC file is converted to AM Resource Data Model STEP 203, 214, 242 G-code instructions through an adapter software application. The generated G-code is easily understood by existing [ISO13399-ISO14649] Sistema Physical File P 21 AM Process Data Model controllers in theAr currentquivo con AM machines.CAIP/CAI The interpretation of the G-codeMáquina commands de is done through a firmware embedded into controller, which generates digital signals on the motor-drivers toInspección perform movementspor in the machine axes. The use ID Part Correcciones de Part 2D and 3D Model of a indirect controlInspección allows a quick implementation of the process planningCoor schemadenadas generated in CAPP/CAM module. To CAD Module the end, it is possible to obtain a part manufactured with an AM process, whose planning stage has been carried out based Part Specifications STEP- A1 STEP-NC File P 21 on a STEP-NC model. NC So far, the functional architecture of the global system has been described. However, to be able to move to the Información Información Interpretador Parte CAPP/CAM Process Plan implementation it is necessaryde to Alto build Nivel an Applicationde ReferenceAlto Nivel ModelSTEP-NC (ARM) in EXPRESSMáquina i language, but before a Manufacturada Module concept of AM-feature is introduced. Archivo STEP- Communicación A2 STEP NC entre sistemas 4.2 Defining a concept of feature for AM AM - CNC Design Sistema Archivo CAD Sistema Plano de STEP-NC standardCAD uses theBasado concept en ofCAPP/CAM feature-basedPr programmingoceso for representing of process plan that incorporates Modelo Original Manufactured Part Features CNC Module Physical Material NC-Program information about manufacturing[STEP203, features, tool and technology description and operations to execute. Within the STEP- Modelo STL STEP214 NC ARM the part being manufactured (workpiece) is described by manufacturing features that are defined in according to Pérdida de Pérdida de A3 STEP242] type of process. So, for machining processes have been defined machining-featuresInterpretador (such as holes, pockets, slot...) based Información Información on manufacturing features of ISO 10303-AP224 (Mechanical product definitionSTEP-NC for processMáquina planning j usingParte machining Diseñador Ingeniero de Manufacturada Archivo AME features). But machining-features are not adaptedManufactura for additive processes and in fact, a concept of feature for AM has not CAM Design Engineer Manufacturing Engineer yet been formally established. Therefore, defining the concept of AM feature is an essential step toward the development Archivo CAM CNC Operator Sistema Post Parte of a new data model. From the authors’ understanding, the AM-feature corresponds to each layer of the sliced 3D-model para Máquina Máquina i CAD System CAM System AM Machine CAPP/CAM Procesador i Manufacturada Específica Pérdida de Pérdida de of the part being manufactured by using planar layer-based additive processes. That is, one AM-feature is with one layer, Pérdida de Información Información where each layer is geometrically definedMeasuring by external Results and internal contours and the layer-thickness. This concept of Información AM-layer-feature is illustrated in Fig. 5. Then, the new feature-AM-layer must be modeled within the ARM for AM. Archivo G-code Archivo Pérdida de CAM CAIP/CAI CAD STEP-NC Program Ingeniero de Información Especificaciones System Coordinate-Measuring Sistema Post Archivo with Measuring Diseño Sistema Manufactura de la Parte CAM Parte Usuario Final Results Machine STL, AMF CAPP/CAM Máquina de AM i CAD AME Pérdida de Procesador i Manufacturada Data-Base para Ok Información Máquina Pérdida de STEP- Tape Post Archivo CAM Parte Específica Información Máquina j Parte NC file Procesador j para Máquina Manufacturada Archivo Específica CAD validada? High-level High-level STEP-NC Archivo Interpreter AM Machine i Manufactured Ingeniero de Sistema Ingeniero de information information CAM STL Part Pérdida de Diseño CAD Manufactura Pérdida de Pérdida de Communication Sistema Drawbacks STEP STEP- Información Información Información file NC between CAPP/CAM AM-CNC systems Archivo Part CAD Feature CAPP/CAM Process AME CAM G-code Design System based System Plan CAD file Post Archivo CAM Parte Sistema Post Archivo Máquina de AM j Parte para Máquina Máquina k [STEP203, Ingeniero de Procesador k Manufacturada CAPP/CAM Procesador j CAM Manufacturada Tape Específica STEP214 file Manufactura para STEP242] Máquina STEP-NC AM Machine j Manufactured ISO-14649-21; Específica Design Manufacturing Interpreter Engineer Part HEADER; Ingeniero de Engineer ... Manufactura string its_status identifier approval DATA; Diseño Planeamiento de Proceso Fabricación Post-Procesador its_release #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); its_id project date_and_time #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); Contorno Externo Contornos Internos its_owner #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); date_and_time ... its_workpiece main_workplan #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); AM_workpiece workplan ... #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... S[0:?] L[0:?] ... its_operation #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);... Capa i AM_feature AM_workingstep ... its_strategy #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); AM_operation AM_strategy #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); its_operation S[0:?] #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); its_technology Parte Original Parte Rebanada en Capas Espesor de la Capa ... AM_technology AM_structure #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); its_structure ... #80 = AM_STRUCTURE(#81,#87,#95,#101); its_machine_functions AM_machine_functions ... manufacturing_feature AM_tool #200 = AM_TOOL(‘AMT1’,#201,#202); its_tool #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Measuring #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); Resultados de Results ... Medición ENDSEC; CAIP/CAI Coordinate-Measuring Sistema Máquina de Medición System Machine Data-Base CAIP/CAI por Coordenadas Post-Processing Data-Base Post-Proceso

AM Machine i Manufactured Máquina de AM i Parte STEP-NC Part STEP-NC Manufacturada Part Design CAD High-level information Especificaciones Ingeniero de Sistema Información de Specifications Engineer System de la Parte Diseño CAD alto nivel Cyber-Seguridad Part Design Diseño AM Machine j Manufactured

Internet of Realidad Máquina de AM j Parte Part Things (IoT) Aumentada Manufacturada Process Planning Fabrication Planeamiento de Fabricación Manufacturing CAPP/CAM Proceso Ingeniero de Sistema Engineer System Manufactura CAPP/CAM Comandos con información limitada N05 G54 principalmente a la descripción Información en la Big-Data N10 G00 Z10.000 Nube de movimientos de los ejes de la N15 G91 G0 Z200 Manufactura Aditiva máquina (AM-Additive Manufacturing) Sistemas Robots N20 T5 D1 WW Integrados Autónomos N25 G90 M5 Simulación Manufactura Vendedores de máquinas CNC Aditiva N30 G00 X0.000 Y-150.000 son reluctantes de definir Sistema CAM códigos específicos N35 G00 Z5.000 N40 M08 N45 S3600.000 Compilador Comandos primitivos para N50 M03 STEP-NC funciones encender/apagar N55 F1400.000 N60 G00 X60.000 Y-150.000 AM-Workinsteps Sin soporte para descripción N65 G00 Z5.000 ISO-14649-21; HEADER; N70 G00 X60.000 Y-160.000 ... de movimientos spline y DATA; #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); N75 G01 Z-0.500 #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); Controlador funciones NC sofisticadas Máquina CNC #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); ... #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); ... #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); ... #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... Señales ... #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);...... Digitales y #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Ejecución #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Análogas ... #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); ... #80 = AM_STRUCTURE(#81,#87,#95,#101); ... #200 = AM_TOOL(‘AMT1’,#201,#202); Comunicación con #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Parte Final #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); ... ENDSEC; drivers de motores Archivo STEP-NC - Parte 21 y sensores Máquina de AM Loss of Loss of Information Information

CAM G-code File Part CAPP/CAM Post Machine Specifications AM Machine i Manufactured End-User System Processor i specific Loss of CAM file Part Information Ok Part CAD validated? File Design CAD STL Manufacturing Engineer System Engineer Loss of Loss of Information Information Drawbacks

CAM G-code File CAPP/CAM Machine Compilador Post AM Machine j System Processor j specific STEP-NC CAM file Manufactured Part AM-Workinsteps Manufacturing Engineer ISO-14649-21; HEADER; Part Design Process Planning ... Fabrication Post-Processing

DATA; #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); Controlador #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); ... #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); ... #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... Señales ... #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);...... Digitales y #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Ejecución #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Análogas ... #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); ... #80 = AM_STRUCTURE(#81,#87,#95,#101); ... #200 = AM_TOOL(‘AMT1’,#201,#202); Comunicación con #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Parte Final #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); ... ENDSEC; drivers de motores Archivo STEP-NC - Parte 21 y sensores Máquina de AM Lack of Lack of Information Information

CAM MPF File Design Features Library Python OCC Tools AM Machine Resources CAPP/CAM Post Machine Modeling Operations Library ISO 10303-Part 21 Kinematic Model specific AM Machine i Manufactured Production Rules System Processor i ISO 10303-(AP203, ISO 6983 CAM file Part AM Technologies Database Lack of AP214, AP242) 24th ABCM International Congress of Mechanical Engineering (COBEM 2017) ISO 10303-224 Information Loss of Loss of December 3-8, 2017, Curitiba,Python O PR,CC T Brazilools ISO 10303-AP 10 SDAI[ISO 10303 Part 22, 27] Information Information ISO 10303-224 AM Technologies Database CAD Lack of ID JPartSDAI[ISO 10303 Part 22, 27] File CAM Manufacturing Information G-code Part 2D and 3D Model File CAD Module Part CAD Part Engineer Part Design Features ISO 10303-Part 21 STL, AMF CAPP/CAM Post Machine Part Specifications Specifications System Specifications MPF AM Machine i Manufactured End-User External Contour Internal Contours System Processor i specific STEP 203, 214, 242 Geometric and A1 STEP-NC File - P 21 Loss of Part CAM file Ok Physical File - Part 21 Topological InformationLack of Post Machine Information AM Machine j Manufactured Information Processor j specific Part Recognition Layers List – SVG File CAPP/CAM Process Plan CAD CAM file Part validated? A21 Module Design File CAM Sliced 3D-Model Visualization Slicing 3D- Sliced 3D-Model Visualization Engineer Design CAD STL File Manufacturing Model A2 Loss ofLack of Engineer System Engineer Loss of PartLayer Speci fii cations CAPP/CAM InformationInformation Information Drawbacks A22 AM-Workingsteps STEP 203, 214, 242 System Physical File - P 21 CAM G-code CAD Model Sliced Model Workplan Process Plan Simulation File MPF CNC Module Layer Thickness Generation Physical Material CAPP/CAM Post Machine Post Machine AM Machine j A23 System ProcessorAM Machinej specific k Manufactured A3 Manufactured Part Manufacturing Processor k specific CAM file STEP-NC STEP-NC CAM file Part Figure 5. Representation of the concept of AM-layer-feature. Engineer Manufactured Part Program Physical Fie - Part 21 Part Generation Additive Manufacturing Digital Chain with STEP-NC A0 Part Design Process Planning Fabrication Manufacturing A24 Engineer 4.3 Application Reference Model Data-Base Manufacturing Engineer Machine Operator Part Design Process Planning Fabrication Post-Processing Design Engineer The ARM provides a object-oriented data model that uses feature-based programming for representing ofD theataba infor-se CAD System CAPP/CAM System AM CNC System mation to be used by NC controller. Such information, including manufacturing feature, technology and toolManufa beingcturi used,ng Engineer sequence of operations and process plan, is specified through a data description method that facilitates theCA implementation.PP/CAM System Design Features Library AM Technology Database Data Model for Computarized The EXPRESS language is a data description method formalized as Part 11 of STEP, that allows to specify the information Modeling Operations Library Numericall Controller AM Resource Database of the product in a way consistent, precise and compact using a data model style based on an Entity-Attribute relation- ISO 10303-(203, 214, 242) ISO 10303-21 Physical File Format Machine Kinematic Model ship. Thus,External inContour EXPRESSInternal an Contours object is called Entity and the properties of the object are called Attributes. The relationship AM Resource Data Model between entities is given by a degree of kinship (sub-type and super-type). EXPRESS is both computer-interpretable and STEP 203, 214, 242 [ISO13399-ISO14649] human readable, and its way ofSistema representing of the data can be textual with a lexical semantic or graphic with illustrative Physical File P 21 AM Process Data Model diagrams (EXPRESS-GArquivo con also givenCAIP/CAI in Part 11). Máquina de On the leftCorr sideecciones of Fig. de 6 is showed main part of the AM data modelInspección representation por in EXPRESS-G referenced from ID Part Coordenadas Part 2D and 3D Model the general dataLayerInspección i schema of ISO 14649-10 (ISO 14649-10, 2004). This model contains data elements that make up an CAD Module interface between programmingSTEP- software and AM CNC system. An AM Project has associated a main Workplan and Part Specifications CAD Model Sliced Model A1 STEP-NC File P 21 a list of executables. In addition,NC it includes the part geometry description (AM-workpiece). The Workplan contains a Layer Thickness Lack of list with the sequence of AM-workingstep, where each AM-workingstep has associated one AM-operation that is applied Lack of Información Información Interpretador Information Information to one AM-feature. In turn, for each operation is defined the AM technology and tool, machine functionsParte and material CAPP/CAM Process Plan de Alto Nivel de Alto Nivel STEP-NC Máquina i Manufacturada Module CAM addition strategy. MPF Communicación File Archivo STEP- Design Features Library Python OCC Tools AM Machine Resources A2 its_statusSTEP NC entre sistemas CAPP/CAM Post Machine string identifier approval Modeling Operations Library ISO 10303-Part 21 Kinematic Model specific AM Machine i Manufactured AM - CNC ISO 10303-AP 10 System Processor i Design Sistema Archivo CAD Sistema ISO-14649-21; ISO 10303-(AP203, ISO 6983 CAM file Part its_release Plano de AM Technologies Database Lack of its_id CAD Basado endate_and_time CAPP/CAM HEADER; AP214, AP242) project Proceso ISO 10303-224 Modelo Original Manufactured Part Information its_ownerFeatures ... date_and_time SDAI[ISO 10303 Part 22, 27] CNC Module its_workpiece Physical Material NC-Program [STEP203, DATA; Modelo STL CAD Lack of main_workplan ID Part File STEP214 #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); A3 Manufacturing Information Pérdida de Part 2D anPérd 3didaD M odedel AM_workpiece workplanSTEP242] #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); CAD Module Part CAD Engineer #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$);Interpretador Información Información STL, AMF S[0:?] Parte Specifications System MPF L[0:?] Ingeniero de ... STEP-NC Máquina j Part Specifications its_operationDiseñador #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); Manufacturada A1 STEP-NC File - P 21 AM_feature AM_workingstep Manufactura Archivo AME Lack of Post Machine its_strategy #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); CAM AM Machine j Manufactured ... Information Processor j specific CAPP/CAM Process Plan Design Engineer Manufacturing Engineer CNC Operator CAM file Part AM_operation AM_strategy #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... Sistema Post Archivo CAM its_operation S[0:?] Module Máquina i Parte CAD System CAM System AM Machine Design CAM its_technology ... CAPP/CAM Procesador i para Máquina File #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);... Sliced 3D-Model Visualization Manufacturada Engineer AM_technology A2 Específica Pérdida de Pérdida de Lack of AM_structure ... Pérdida de Información CAPP/CAMInformación Information its_structure Measuring Results #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); STEP Información203, 214, 242 System its_machine_functions AM_machine_functions #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); Physical File - P 21 #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Simulation Archivo MPF Archivo G-code manufacturing_feature AM_tool ... CNC Module Pérdida de CAM CAIP/CAIits_tool Physical Material CAD STEP-NC Program System #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); Ingeniero de Información Especificaciones Post Machine Coordinate-Measuring... Archivo AM Machine k Manufactured with Measuring Diseño Manufactura A3 Manufactured Part de la Parte Sistema Post Manufacturing Processor k specific AM_layer_feature contour_list polyline #80 =Machine AM_STRUCTURE(#81,#87,#95,#101); Sistema STL, AMF CAM Máquina de AM i Parte Usuario FinalPart Results CAPP/CAM Procesador iEngineer CAM file its_contour_list L[1:?] D e ... CAD AME Pérdida de para Manufacturada apointsta-Ba L[2:?]s Ok plane_layer 1 #200 = AM_TOOL(‘AMT1’,#201,#202); Additive Manufacturing Digital Chain with STEP-NC A0 Información MáquinaProcess Planning #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Pérdida de Part Design Fabrication STEP- bounded_curve cartesian_point Tape Post Archivo CAM Parte Específica contour_curve #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); Información Máquina j Parte layer_thickness NC file Procesador j para Máquina Archivo thickness ... Database Manufacturada contour_direction Manufacturing Engineer Machine OperatEspecíficaor CAD validada? STEP-NCENDSEC; Design Engineer layer_direction High-level High-level CAPP/CAM System Archivo AM CNC System direction its_contour_direction Interpreter AM Machine i Manufactured CAD System Ingeniero de Sistema Ingeniero de information information CAM STL Part Pérdida de Diseño CAD Manufactura Pérdida de Pérdida de Figure 6. STEP-NC part program generated form AM EXPRESSCommunication data model. Sistema Design Features Library AM Technology Database STEP STEP- Información Data Model for Computarized Información Información Drawbacks between CAPP/CAM Modeling Operations Library Numericall Controller file NC AM Resource Database AM-CNC systems ISO 10303-(203, 214, 242) ISO 10303-21 Physical File Format Machine Kinematic Model Archivo Part The conceptCAD of AM-layer-featureFeature CAPP/CAM has beenProcess modeled and introduced in the ARM of AM. In the EXPRESS-G model of AME CAM G-code DesignFig. 6, theSystem part highlightedbased in red correspondsSystem toPlan concept of AM-layer-feature as an entity sub-type of the manufacturing- AM Resource Data Model CAD file Post Archivo CAM STEP 203, 214, 242 Parte [ISO13399-ISO14649] Sistema Post Archivo Máquina de AM j Parte Sistema Procesador k para Máquina Máquina k Physical File P 21 [STEP203, Tape Ingeniero de Manufacturada AM Process Data Model CAPP/CAM Procesador j CAM Manufacturada ArSTEP214quivo con CAIP/CAI Máquina de Específica Inspección por file Manufactura ID Part para CorrSTEP242]ecciones de Part 2D and 3D Model Máquina Inspección STEP-NCCoordenadas CAD Module Específica Design Manufacturing Interpreter AM Machine j Manufactured ISO-14649-21; STEP- HEADER; Part Specifications Engineer Engineer Part A1 STEP-NC File P 21 Ingeniero de NC ... Manufactura Información Información Interpretador its_status Parte string identifier approval DATA; CAPP/CAM Process Plan de Alto Nivel de Alto Nivel STEP-NC Máquina i Diseño Planeamiento de Proceso Fabricación Post-Procesador Manufacturada #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); Module its_release Communicación its_id date_and_time #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); Archivo STEP- Contorno Externo project A2 STEP NC entre sistemas Contornos Internos its_owner #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); date_and_time ... AM - CNC its_workpiece Design Sistema Archivo CAD Sistema Plano de main_workplan #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); CAD Basado en CAPP/CAM Proceso Modelo Original #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); Manufactured Part Features CNC Module AM_workpiece workplan ... Physical Material NC-Program [STEP203, Modelo STL STEP214 #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... Pérdida de Pérdida de S[0:?] L[0:?] ... A3 STEP242] Interpretador Información Información its_operation #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);... Parte Capa i AM_feature STEP-NC Máquina j AM_workingstep ... Diseñador Ingeniero de Manufacturada Manufactura Archivo AME its_strategy #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); CAM AM_operation AM_strategy #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); Design Engineer Manufacturing Engineer Archivo CAM CNC Operator Sistema Post Parte its_operation S[0:?] #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Parte Original paraParte Máquina RebanadaMáquina en Capas i Espesor de la Capa its_technology CAD System CAM System AM Machine CAPP/CAM Procesador i Manufacturada ... Específica AM_technology Pérdida de Pérdida de Pérdida de AM_structure #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); its_structure ... Información Información Measuring Results Información AM_machine_functions #80 = AM_STRUCTURE(#81,#87,#95,#101); its_machine_functions Archivo G-code Archivo Pérdida de ... CAM CAIP/CAI CAD STEP-NC Program Ingeniero de Información manufacturing_feature AM_tool #200 = AM_TOOL(‘AMT1’,#201,#202); Especificaciones System Coordinate-Measuring its_tool #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Sistema Post Archivo Measuring with Measuring Diseño Sistema Manufactura de la Parte CAM Parte Usuario Final Results Machine STL, AMF CAPP/CAM Máquina de AM i CAD AME #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); Resultados de Pérdida de Procesador i ManufacturadaResults Data-Base para Ok ... Medición Información Máquina Pérdida de STEP- Tape Post Archivo CAM Parte ENDSEC; Específica Información Máquina j Coordinate-MeasuringParte NC file Procesador j para Máquina Manufacturada Archivo CAIP/CAI validada? Específica CAD Machine STEP-NC Sistema Máquina de Medición D System High-level High-level Archivo ata-Base Post-Processing Interpreter AM Machine i Manufactured CAIP/CAI Post-Proceso porIngeniero Coordenadas de Sistema Ingeniero de information information CAM Data-Base STL Part Pérdida de Diseño CAD Manufactura Pérdida de Pérdida de Communication Sistema Drawbacks STEP STEP- Información Información Información file NC between CAPP/CAM AM-CNC systems Archivo Part CAD Feature CAPP/CAM Process AME CAM G-code Design System based System Plan AM Machine i Manufactured CAD file Post Archivo CAM Parte Sistema Post Archivo Máquina de AM j Parte para Máquina Máquina k Máquina de AM i Parte STEP-NC Part [STEP203, Ingeniero de Procesador k Manufacturada CAPP/CAM Procesador j CAM Manufacturada Tape Específica STEP-NC Manufacturada STEP214 file Manufactura Part Design CAD para High-level STEP242] STEP-NC Información de Engineer System Máquina information Especificaciones Ingeniero de Sistema Specifications Específica Design Manufacturing Interpreter AM Machine j Manufactured de la Parte alto nivel Engineer Part Diseño CAD Ingeniero de Engineer Cyber-Seguridad Part Design Diseño Manufactura AM Machine j Manufactured Diseño Planeamiento de Proceso Fabricación Post-Procesador Internet of Realidad Máquina de AM j Parte Part Things (IoT) Aumentada Manufacturada Process Planning Fabrication Contorno Externo Contornos Internos Planeamiento de Fabricación Manufacturing CAPP/CAM Proceso Ingeniero de Sistema Engineer System Manufactura CAPP/CAM Comandos con información limitada N05 G54 principalmente a la descripción Información en la Big-Data N10 G00 Z10.000 Nube Capa i de movimientos de los ejes de la N15 G91 G0 Z200 Manufactura Aditiva máquina Parte Original Parte Rebanada en Capas Espesor de la Capa (AM-Additive Manufacturing) Sistemas Robots N20 T5 D1 WW Integrados Autónomos N25 G90 M5 Simulación Manufactura Vendedores de máquinas CNC Aditiva N30 G00 X0.000 Y-150.000 Measuring son reluctantes de definir Resultados de Results N35 G00 Z5.000 Sistema CAM Medición códigos específicos CAIP/CAI Coordinate-Measuring N40 M08 Sistema Máquina de Medición System Machine Data-Base CAIP/CAI por Coordenadas Post-Processing N45 S3600.000 Data ase Post-Proceso -B Comandos primitivos para N50 M03 funciones encender/apagar N55 F1400.000 AM Machine i Manufactured Máquina de AM i Parte STEP-NC Part STEP-NC Manufacturada N60 G00 X60.000 Y-150.000 Part Design CAD High-level information Especificaciones Ingeniero de Sistema Información de Specifications Engineer System Sin soporte para descripción N65 G00 Z5.000 de la Parte Diseño CAD alto nivel Cyber-Seguridad Part Design N70 G00 X60.000 Y-160.000 Diseño de movimientos spline y AM Machine j Manufactured Internet of Máquina de AM j Parte Part N75 G01 Z-0.500 Realidad Things (IoT) funciones NC sofisticadas Máquina CNC Aumentada Manufacturada Process Planning Fabrication Planeamiento de Fabricación Manufacturing CAPP/CAM ... Proceso Ingeniero de Sistema Engineer System Manufactura CAPP/CAM Comandos con información limitada N05 G54 principalmente a la descripción Información en la Big-Data N10 G00 Z10.000 Nube de movimientos de los ejes de la N15 G91 G0 Z200 Manufactura Aditiva máquina (AM-Additive Manufacturing) Sistemas Robots N20 T5 D1 WW Integrados Autónomos N25 G90 M5 Simulación Manufactura Vendedores de máquinas CNC Aditiva N30 G00 X0.000 Y-150.000 son reluctantes de definir Sistema CAM códigos específicos N35 G00 Z5.000 N40 M08 N45 S3600.000 Compilador Comandos primitivos para N50 M03 STEP-NC funciones encender/apagar N55 F1400.000 N60 G00 X60.000 Y-150.000 AM-Workinsteps Sin soporte para descripción N65 G00 Z5.000 ISO-14649-21; HEADER; N70 G00 X60.000 Y-160.000 ... de movimientos spline y DATA; #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); N75 G01 Z-0.500 #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); Controlador funciones NC sofisticadas Máquina CNC #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); ... #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); ... #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); ... #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... Señales ... #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);...... Digitales y #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Ejecución #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Análogas ... #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); ... #80 = AM_STRUCTURE(#81,#87,#95,#101); ... #200 = AM_TOOL(‘AMT1’,#201,#202); Comunicación con #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Parte Final #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); ... ENDSEC; drivers de motores Archivo STEP-NC - Parte 21 y sensores Máquina de AM E. Rodriguez, R. Bonnard and A. Alvares Proposal of an Advanced Data Model for STEP-NC Compliant Additive Manufacturing

feature entity. AM-layer-feature can be associated a layer-plane with the layer-thickness and a construction direction. Likewise, a AM-layer-feature contains a list of internal and external contours that represent the boundaries of solid mate- rial within a layer. Each contour must be closed and must not intersect itself or another contour. Type of contour (internal or external) is given by its direction. Therefore, internal contours must be clockwise and external contours counter- Loss of Loss of clockwise. In turn, a contour can be called a polygon defined bay polylines with a set ofPyt cartesianhon OCC Tools points. In thisIS approach,O 10303-AP 10 Information Information ISO 10303-224 AM Technologies Database JSDAI[ISO 10303 Part 22, 27] CAM G-code polyline has been chosen as a type of bounded curve for representing of layer contours. File Part Part Design Features ISO 10303-Part 21 CAPP/CAM Post Machine With the logical model of entities in EXPRESS, is required a implementation method to instantiate the entities of Specifications AM Machine i Manufactured End-User System Processor i specific STEP 203, 214, 242 Geometric and Loss of Part CAM file the data modelOk in a physical file that can be read by manufacturing system. Physical File - P Theart 21 clearTopological text encoding of the exchange Information Information Part Recognition Layers List – SVG File CAD structurevalidated?as defined in Part21 of STEP, or simply called physical file Part 21, is topically used for recording and storing File A21 Slicing 3D- Sliced 3D-Model Visualization Manufacturing Design CAD STL instances of entities in computer files. A file in Part 21 is sectioned in HEADER and DATA. HEADERModel section contains Engineer System Engineer Loss of Loss of Part Specifications Information Information generalDrawbacks identifying information about the file, person, organization and date. DATA section include all instantiatedA22 entitiesAM-Workingsteps

CAM G-code Process Plan File corresponding to the part program to be execute. On the right side of Fig. 6 is presented a fragment of theWorkpl programan Generation CAPP/CAM Machine Post AM Machine j System Processor j specific generated to fabricate a part in ABS material through an additive process based on fused material deposition. A23 CAM file STEP-NC STEP-NC Manufactured Part Program Physical Fie - Part 21 Part 4.4 Architecture of the open AM platform using indirect control Generation Manufacturing A24 Engineer Part Design Process Planning Fabrication Post-Processing Figure 7 presents the architecture of an open AM platform using indirect control for implementationDatabase of the developed Manufacturing Engineer data model. This platform uses a adapter software application to convert the STEP-NCCAPP/CA programM System to G-code instructions. Then, the controller of the AM machine based on open technology of Arduino with a embedded firmware easily interprets G-code and it generates theExternal respective Contour Internal actions Contours on the actuators in the AM machine. The LaDPRER team has developed an AM machine with linear delta parallel kinematic (Rodriguez et al., 2017b) to demonstrate in future that STEP-NC is not dependent on the type of CNC machine architecture. In order to validate the STEP-NC program generated from AM EXPRESS model a example partLayer has i been manufactured in ABS through of a AM process based on material deposition. CAD Model Sliced Model The AM machine and manufacturedLayer Thickness part are also presented in Fig. 7. Lack of Lack of Information Information

CAM MPF STEP-NC File Design Features Library Python OCC Tools AM Machine Resources CAPP/CAM Post Machine Compiler Modeling Operations Library ISO 10303-Part 21 Kinematic Model specific AM Machine i Manufactured ISO 10303-AP 10 System Processor i ISO 10303-(AP203, ISO 6983 CAM file Part AM Technologies Database Lack of AP214, AP242) ISO 10303-224 Information AM-Workinsteps SDAI[ISO 10303 Part 22, 27] CAD Lack of ID Part File Manufacturing Information Part 2D and 3D Model CAD Module Engineer STEP-NC/G-code Part CAD STL, AMF Specifications System MPF Part Specifications ISO-14649-21; Adapter A1 STEP-NC File - P 21 HEADER; Sistema ... Lack of Post Machine Arquivo con CAIP/CAI Máquina de Information specific AM Machine j Manufactured DATA; Process Plan Processor j #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); CAPP/CAM Correcciones de Inspección por CAM file Part #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); G-code #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); Module Inspección Coordenadas Design CAM ... File #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); Sliced 3D-Model Visualization Engineer #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); A2 Lack of ... STEP- #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... NC CAPP/CAM Information ... #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);... STEP 203, 214, 242 System ... Controlador Physical File - P 21 #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Información Información Interpretador #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); AM machine Simulation Parte MPF #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); STEP-NC Máquina i ... CNC Module de Alto Nivel de Alto Nivel #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); Physical Material Manufacturada Machine ... Communicación Post #80 = AM_STRUCTURE(#81,#87,#95,#101); Device A3 Manufactured Part Archivo STEP- specific AM Machine k Manufactured ... Manufacturing Processor k #200 = AM_TOOL(‘AMT1’,#201,#202); STEP NC entre sistemas CAM file Part #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Engineer #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); commands Execution AM - CNC ... Design Sistema Archivo CAD Sistema Plano de ENDSEC; Additive Manufacturing Digital Chain with STEP-NC A0 Part Design Process Planning Fabrication CAD Basado en CAPP/CAM Proceso Features STEP-NC file- Part 21 Serial comunication, Database [STEP203, Design Engineer Manufacturing Engineer Machine Operator STEP214 CAD System CAPP/CAM System AM CNC System STEP242] motor drivers, Interpretador STEP-NC Máquina j Parte sensors Diseñador Ingeniero de Manufacturada Design Features Library AM Technology Database Data Model for Computarized Manufactured part Manufactura Modeling Operations Library AM Resource Database Numericall Controller ISO 10303-(203, 214, 242) ISO 10303-21 Physical File Format Machine Kinematic Model Figure 7. Architecture of the open AM platform with indirect control. AM Resource Data Model STEP 203, 214, 242 [ISO13399-ISO14649] Physical File P 21 AM Process Data Model ID Part Part 2D and 3D Model CAD Module 5. CONCLUSIONS Part Specifications A1 STEP-NC File P 21

CAPP/CAM Process Plan This work propose a new advanced data model for STEP-NC compliant additive manufacturing that can be imple- Module A2 mented on a layered AM system. This proposition intervenes in the context of the new industrial landscape-Industry 4.0, where interoperability and transparent flow of data play a preponderant role. In such context, STEP-NC enables interop- Modelo Original Manufactured Part CNC Module Physical Material NC-Program erability between computer manufacturing systems and it allows seamless engineering and manufacturing data exchange Modelo STL A3 Pérdida de Pérdida de of the product throughout the life cycle. Información Información

In this work, the current state of AM digital chain has been well studied. STL format and G-code standard are not Archivo AME CAM Design Engineer Manufacturing Engineer Archivo CAM CNC Operator adapted for a high-level AM digital chain aimed the new challenges imposed by Industry 4.0. It has been demonstrated that Sistema Post Parte para Máquina Máquina i CAD System CAM System AM Machine CAPP/CAM Procesador i Manufacturada Específica Pérdida de Pérdida de an integrated and standardized high-level AM digital chain is possible with the use of STEP-NC and the potential benefits Pérdida de Información Información Información of such chain have been highlighted. However, toMeasuring achieve Results a complete STEP-NC compliant AM digital chain changes Archivo G-code Archivo Pérdida de CAM CAIP/CAI CAD STEP-NC Program Ingeniero de Información Especificaciones System Coordinate-Measuring Sistema Post Archivo must be made gradually. Withwith the Measuring proposed model, design data of the part is transferred from the CAD to CAPP/CAMDiseño Sistema Manufactura de la Parte CAM Parte Usuario Final Results Machine STL, AMF CAPP/CAM Máquina de AM i CAD AME Pérdida de Procesador i Manufacturada Data-Base para softwareOk by using a STEP file and eliminating the need for STL format. The 3D-model of the part is sliced directly form string its_status Información Máquina Pérdida de identifier approval STEP- Tape Post Archivo CAM Parte Específica Parte NC Información Máquina j its_release ISO-14649-21; STEP using python OCC tools. Here, the concept of AM-layer-featurefile is introduced to define the manufacturing features Procesador j para Máquina Manufacturada its_id date_and_time HEADER; Archivo Específica project CAD validada? STEP-NC ... High-level High-level Archivo its_owner Interpreter AM Machine i Manufactured date_and_time Ingeniero de Sistema Ingeniero de of additive process based on planar layerinformation addition. Then,information the EXPRESS model for the AM-layer-feature has been built CAM its_workpiece STL Part Pérdida de main_workplan DATA; Diseño CAD Manufactura Pérdida de Pérdida de Sistema STEP- Communication Información #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); Información Información Drawbacks STEP CAPP/CAM AM_workpiece workplan #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); necessary for obtaining the implementationfile STEP-NCNC program. The newbetween model is applied in an open AM platform based #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); AM-CNC systems Archivo Feature AME S[0:?] L[0:?] G-code Part CAD CAPP/CAM Process ... CAM based its_operation #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); Design System System Plan AM_feature AM_workingstep CAD file Post Archivo CAM Parte its_strategy #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); Sistema Post Archivo Máquina de AM j Parte Procesador k para Máquina Máquina k ... [STEP203, Ingeniero de Manufacturada CAPP/CAM Procesador j CAM Manufacturada Tape Específica AM_operation AM_strategy #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... STEP214 file Manufactura its_operation S[0:?] ... para STEP242] its_technology Máquina STEP-NC #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);... AM Machine j Manufactured AM_technology ... Específica Design Manufacturing Interpreter AM_structure Engineer Part its_structure #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Ingeniero de Engineer its_machine_functions AM_machine_functions #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Manufactura manufacturing_feature AM_tool ... Diseño Planeamiento de Proceso Fabricación Post-Procesador its_tool #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); ... Contorno Externo Contornos Internos AM_layer_feature contour_list polyline #80 = AM_STRUCTURE(#81,#87,#95,#101); its_contour_list L[1:?] ... points L[2:?] plane_layer 1 #200 = AM_TOOL(‘AMT1’,#201,#202); #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); bounded_curve cartesian_point contour_curve #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); layer_thickness thickness ... contour_direction ENDSEC; layer_direction direction its_contour_direction Capa i

Parte Original Parte Rebanada en Capas Espesor de la Capa

Measuring Resultados de Results Medición CAIP/CAI Coordinate-Measuring Sistema Máquina de Medición System Machine Data-Base CAIP/CAI por Coordenadas Post-Processing Data-Base Post-Proceso

AM Machine i Manufactured Máquina de AM i Parte STEP-NC Part STEP-NC Manufacturada Part Design CAD High-level information Especificaciones Ingeniero de Sistema Información de Specifications Engineer System de la Parte Diseño CAD alto nivel Cyber-Seguridad Part Design Diseño AM Machine j Manufactured

Internet of Realidad Máquina de AM j Parte Part Things (IoT) Aumentada Manufacturada Process Planning Fabrication Planeamiento de Fabricación Manufacturing CAPP/CAM Proceso Ingeniero de Sistema Engineer System Manufactura CAPP/CAM Comandos con información limitada N05 G54 principalmente a la descripción Información en la Big-Data N10 G00 Z10.000 Nube de movimientos de los ejes de la N15 G91 G0 Z200 Manufactura Aditiva máquina (AM-Additive Manufacturing) Sistemas Robots N20 T5 D1 WW Integrados Autónomos N25 G90 M5 Simulación Manufactura Vendedores de máquinas CNC Aditiva N30 G00 X0.000 Y-150.000 son reluctantes de definir Sistema CAM códigos específicos N35 G00 Z5.000 N40 M08 N45 S3600.000 Compilador Comandos primitivos para N50 M03 STEP-NC funciones encender/apagar N55 F1400.000 N60 G00 X60.000 Y-150.000 AM-Workinsteps Sin soporte para descripción N65 G00 Z5.000 ISO-14649-21; HEADER; N70 G00 X60.000 Y-160.000 ... de movimientos spline y DATA; #1 = PROJECT(‘AM PART TETS’,#2,(#4),$,$,$); N75 G01 Z-0.500 #2 = WORKPLAN(‘MAIN WORKPLAN’,#10,#11,#12,#13,#14),$,#8,$); Controlador funciones NC sofisticadas Máquina CNC #10 = AM_WORKINSTEP(‘AMWS1’,#5,#21,#24,$); ... #4 = AM_WORKPIECE(‘AMWP1’,#6,0.1,$,$,$,()); ... #6 = MATERIAL(‘ABS’,‘ABS-M30’,(#7)); ... #18 = AM_FEATURE(‘AMF1’,#1,#19,(#20,#21),#194,#198,#200);... Señales ... #20 = AM_OPERATION($,$,‘OPERATION1’,#1,(#21,#22),#194,#200,0.2);...... Digitales y #60 = AM_MACHINE_FUNCTIONS(#65,1,$,$,$); Ejecución #61 = AM_TECHNOLOGY($,150,100,220,80,20,#62); #62 = LIQUID_TECHNOLOGY(‘EXTRUSION’,$,$,#82); Análogas ... #70 = AM_STRATEGY(‘LAYER_BY_LAYER’,#71,#97,#72,#$,$,$); ... #80 = AM_STRUCTURE(#81,#87,#95,#101); ... #200 = AM_TOOL(‘AMT1’,#201,#202); Comunicación con #201 = AM_TRANSFER_TOOL(‘EXTRUDER’,‘PLATFORM’,#207,#209); Parte Final #202 = AM_TRANSFORMATION_TOOL(‘NOZZLE’,#210,#212); ... ENDSEC; drivers de motores Archivo STEP-NC - Parte 21 y sensores Máquina de AM 24th ABCM International Congress of Mechanical Engineering (COBEM 2017) December 3-8, 2017, Curitiba, PR, Brazil

on indirect control and a example part has been manufactured in order to validate the AM STEP-NC program generated form EXPRESS model. In future works, the development of an AM controller that directly interprets the information from STEP-NC program is intended. Likewise, it is intended to extend this approach on hybrid manufacturing platforms (additive with machining) for complemented manufacturing and also, availability of data through MTConnect protocol for AM cloud database.

6. REFERENCES

Bonnard, R., Mognol, P. and Hascoët, J.Y., 2009. “Integration of rapid manufacturing processes in a high-level numerical chain”. In Advanced Research in Virtual and Rapid Prototyping – Proceedings of VRP4. Leiria, Portugal. Bonnard, R., Mognol, P. and Hascoët, J.Y., 2010. “A new digital chain for additive manufacturing processes”. Virtual and Physical Prototyping, Vol. 5, pp. 75–88. doi:10.1080/17452751003696916. Brunnermeier, S.B. and Martin, S.a., 1999. “Interoperability cost analysis of the US automotive supply chain: Final report”. Research Triangle Institute. Carleberg, P., 1994. “Product model driven direct manufacturing”. In The SFF Symposium. University of Texas, USA. Consortium World Wide Web, 1999. “Scalable Vector Graphics - SVG Format”. Danjou, S. and Koehler, P., 2008. “Bridging the Gap between CAD and Rapid Technologies Exigency of Standardized Data Exchange”. 12th European Forum on Rapid Prototyping. Dutta, D., Kumar, V., Pratt, M. and Sriram, R., 1998. “Towards STEP-based data transfer in layered manufacturing”. Proceedings of the tenth international IFIP WG5. 2/5.3 PROLAMAT Conference, pp. 1–13. ISO 10303-238, 2011. “Industrial automation systems and integration - Product data representation and exchange - Part 203: Application protocol: Configuration controlled 3D design of mechanical parts and assemblies.” ISO 14649-1, 2003. “Industrial automation systems and integration - Physical device control - Data model for computer- ized numerical controllers - Part 1: Overview and fundamental principles.” ISO 14649-10, 2004. “Industrial automation systems and integration - Physical device control - Data model for comput- erized numerical controllers-Part 10: General process data”. ISO 6983-1, 1982. “Numerical control of machines - Program format and definition of address words - Part1: Data format for positioning, line motion and contouring control systems.” ISO/AWI 14649-17, 2016. “Automation systems and integration - Physical device control - Data model for com- puterized numerical controllers - Part 17: Process data for additive manufacturing processes.” Retrieved from https://www.din.de/en/getting-involved/standards-committees/nwm/projects/wdc-proj:din21:259391588. Jaimes, C.I.R., Alvares, A., Ferreira, J.C.E. and Benavente, J.C., 2017. “Modelo de integração para inspeção em malha fechada aderente a STEP-NC”. In Anais do IX Congresso Brasileiro de Engenharia de Fabricação. ABCM, Vol. 1. doi:10.26678/ABCM.COBEF2017.COF2017-0290. Kai, C.C., Jacob, G.G.K. and Mei, T., 1997. “Interface between CAD and Rapid Prototyping systems. Part 2: LMI - An improved interface”. The International Journal of Advanced Manufacturing Technology, Vol. 13, pp. 571–576. doi:10.1007/BF01176301. Kramer, T.R., Proctor, F., Xu, X. and Michaloski, J.L., 2006. “Run-time interpretation of step-nc: implementation and performance”. International Journal of Computer Integrated Manufacturing, Vol. 19, No. 6, pp. 495–507. doi: 10.1080/09511920600622056. Kumar, V. and Dutta, D., 1997. “An assessment of data formats for layered manufacturing”. Advances in Engineering Software, Vol. 28, pp. 151–164. Lipman, R.R. and McFarlane, J.S., 2015. “Exploring Model-Based Engineering Concepts for Additive Manufacturing”. Proceedings of the 26th Solid Freeform Fabrication Symposium, pp. 385–400. Nassar, a.R. and Reutzel, E., 2013. “A proposed digital thread for additive manufacturing”. Solid Freeform Fabrication, pp. 19–43. Negi, S., Dhiman, S. and Sharma, R.K., 2013. “Basics, Applications and Future of Additive Manufacturing Technologies: a Review”. Journal of Manufacturing Technology Research, Vol. 5, pp. 75–96. Paviot, T., 2014. “PythonOCC, 3D CAD/CAE/PLM development framework for the Python programming language”. Retrieved from http://www.pythonocc.org/quick-examples/step-ap203-import/. Pratt, M.J., 2001. “Introduction to ISO 10303-the STEP Standard for Product Data Exchange”. Journal of Computing and Information Science in Engineering, Vol. 1, p. 102. doi:10.1115/1.1354995. Pratt, M.J., Bhatt, A.D., Dutta, D., Lyons, K.W., Patil, L. and Sriram, R.D., 2002. “Progress towards an international standard for data transfer in rapid prototyping and layered manufacturing”. CAD Computer Aided Design, Vol. 34, pp. 1111–1121. doi:10.1016/S0010-4485(01)00189-0. Rauch, M., Laguionie, R., Hascoet, J.Y. and Suh, S.H., 2012. “An advanced STEP-NC controller for intelligent machining processes”. Robotics and Computer-Integrated Manufacturing, Vol. 28, pp. 375–384. doi:10.1016/j.rcim.2011.11.001. Rock, S.J. and Wozny, M.J., 1991. “A Flexible File Format for Solid Freeform Fabrication”. Proceedings Solid Freeform E. Rodriguez, R. Bonnard and A. Alvares Proposal of an Advanced Data Model for STEP-NC Compliant Additive Manufacturing

Fabrication Symposium, pp. 1–12. Rodriguez, E., Bonnard, R. and Alvares, A., 2017a. “Propuesta de un nuevo modelo de información para manufactura aditiva basado en STEP-NC”. In XIII Congresso Ibero-Americano de Engenharia Mecânica - CIBEM. Lisboa, Vol. 1. Rodriguez, E., Jaimes, C.I.R. and Alvares, A., 2017b. “Projeto Mecatrônico de um Robô com Cinemática Paralela Delta Linear para Manufatura Aditiva”. In Anais do IX Congresso Brasileiro de Engenharia de Fabricação. ABCM. doi: 10.26678/ABCM.COBEF2017.COF2017-0282. Rosso, R.S.U., Newman, S.T. and Rahimifard, S., 2004. “The adoption of STEP-NC for the manufacture of asymmetric rotational components”. Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture, Vol. 218, pp. 1639–1644. doi:10.1243/0954405042418554. Ryou, M.S., Jee, H.S., Kwon, W.H. and Bang, Y.B., 2006. “Development of a data interface for rapid prototyping in STEP-NC”. International Journal of Computer Integrated Manufacturing, Vol. 19, No. 6, pp. 614–626. doi: 10.1080/09511920600623666. Suh, S., Lee, B., Chung, D. and Cheon, S., 2003. “Architecture and implementation of a shop-floor programming system for STEP-compliant CNC”. Computer-Aided Design, Vol. 35, No. 12, pp. 1069–1083. doi:10.1016/S0010- 4485(02)00179-3. Szilvsi-Nagy,´ M. and Mátyási, G., 2003. “Analysis of STL files”. Mathematical and Computer Modelling, Vol. 38, pp. 945–960. doi:10.1016/S0895-7177(03)90079-3. Xu, X.W., Wang, H., Mao, J., Newman, S.T., Kramer, T.R., Proctor, F.M. and Michaloski, J.L., 2005. “STEP-compliant NC research: The search for intelligent CAD/CAPP/CAM/CNC integration”. International Journal of Production Research, Vol. 43, pp. 3703–3743. doi:10.1080/00207540500137530. Yu, C., Xu, X. and Lu, Y., 2015. “Computer-Integrated Manufacturing, Cyber-Physical Systems and Cloud Manufacturing - Concepts and relationships”. Manufacturing Letters, Vol. 6, pp. 5–9. doi:10.1016/j.mfglet.2015.11.005. Zeng, K., Patil, N., Gu, H. and Gong, H., 2013. “Layer by Layer Validation of Geometrical Accuracy in Additive Man- ufacturing processes”. Proceedings of Twenty Forth Annual International Solid Freeform Fabrication SymposiumAn Additive Manufacturing Conference, pp. 76–87.

7. RESPONSIBILITY NOTICE

The authors are the only responsible for the printed material included in this paper.