1 Development of STEP (ISO 10303)

CNC system uses minicomputers or microcomputers to generate, parse, and execute the sequential control that describes the end effector behavior. The first-ever CNC machine was developed in the 1970s, where the electronic hardware and punch card of the previous NC systems were replaced by computers [1]. In further evolution towards modern systems, the need to produce a wide range of parts arose during the 1970s and 1980s, which created the requirement of a flexible manufacturing system (FMS). In order to achieve a flexible environment for manufacturing systems, the CNC machines play a critical role because of their ability to be reprogrammed for the manufacturing of different and complex parts in bulk quantities [2]. The development of these types of parts requires sophisticated programs. Therefore, CAD and CAM systems were used to generate CNC part programs [3]. The output of the CAM system is in .NC file that translates the job information from drawing to computer-controlled machine unit. That specific language was initially known as the Automatically Programmed Tool (APT), and currently, it has been recognized as ISO 6983, RS-274D, or G M codes. In this standard, the operator tells the computerized machine unit “how to make,” which defines the instructions of where, how, and what path to move. However, in the development of a flexible manufacturing environment, the programming tasks became more complex and challenging [3]. In order to fulfill these requirements, the ISO 6983 data interface model was found to have limited capabilities. There are a number of problems that were found in ISO 6983 such as:

  • The ISO 6983 language is focused on programming the path of the cutter center location with respect to the machine axis, rather than the machining tasks with respect to the part [4,5,6].

  • The standard defines the syntax of program statements, but in most cases leaves the semantics unclear, together with limited low-level control over program execution. These programs become machine-dependent when processed in a CAM system by machine-specific post-processor [5,6,7].

  • The vendor usually enhances the language with further extension commands to provide new features, while these extensions are not covered by ISO 6983. Hence, it becomes a machine-specific language, and programs are not exchangeable between other machine tools [5, 6, 8].

  • The flow of information from design to manufacturing is uni-directional. There is no feedback on data in ISO 6983. Therefore, the last minute changes and modifications of machining problems on the shop floor are hardly possible [5, 9].

  • The CAD data is not directly used on the machine tool. It is processed by means of a machine-specific post-processor in terms of low-level data. This incomplete dataset makes verification and simulations very difficult [5].

  • This standard does not support today’s demand in the area of five-axis milling or high-speed machining because it is incapable of processing Spline data [5, 9].

From these limitations, it is clear that there are two significant issues: interoperability and adaptability of CNC machines that need to be addressed. However, in reality, these GM code programs are still precious because they integrate the micro-process plan with operator experience [10]. But in order to meet the challenges of future manufacturing, the new data interface model is required. The initial challenge towards the development of a new data model was the enabling of seamless geometrical data flow between CAD and CAM systems. During the 1980s, different data formats were proposed, but none of them was able to satisfy the needs of developers and users [11]. Then, in the mid-1980s, the international community decided to develop a better standard for geometrical data exchange between CAD and CAM systems. The result was the ISO 10303 standard, commonly known as STEP.

ISO 10303 was developed to cover all the aspects of CAD/CAM data exchange with the implementation and acceptance by industry. The objective of STEP is “to provide a means of describing the product data throughout the life cycle of a product, which is independent of any particular computer system” [12]. The evolution towards STEP was started in 1979 with the development of Initial Graphics Exchange Specification (IGES). IGES was the first standard format for the CAD information exchange. The major drawback of IGES was the incapability of exchanging data among free form surfaces [2]. Later, VDA, a German company, developed Verband der Automobilindustri Flachenschnittstelle (VDAFS) to focus on free-form surface information translation [13]. During 1984, the initial development of ISO 10303 was started to overcome the drawbacks of IGES and VDA-FS. In 1988, the first major release of STEP was published, in which a large set of models had been assembled into a single model called Integrated Product Information Model (IPIM) [14]. By the following year, STEP was diverted to use the Application Protocol (AP) as a subset. The architecture of APs was developed in the following few years. Then finally, in 1994, the first version of STEP was adopted as an ISO standard. Soon after release, the established companies like General Motors, and Boeing also committed to using STEP. During 1994/1995, ISO published the initial release of STEP as an international standard. In that stage, STEP Parts 1, 11, 21, 31, 42, 43, 44, 46, 101, AP201, and AP 203 were introduced. The next significant development in STEP occurred during the year 2002. Where the capabilities of STEP were expanded in different industries (automotive, electronic manufacturing, aerospace and electrical, etc.) with the introduction of AP 202, AP 209, AP 210, AP 212, AP 214, AP 224, AP 225, AP 227, and AP 232, after that, the next development in the STEP was the introduction of STEP modular architecture. Modular architecture solved the problems emerging from large data structures. Later, a new AP 242 was introduced for geometric dimensions and tolerance in combination with AP 203 and AP 214 [2]. The implementation of STEP has been carried out by three methods: ISO 10303-21, STEP Data Access Interface (SDAI), and ISO 10303-28. Among all these methods, the most popular are STEP Part 21 for offline manufacturing and STEP Part 28 for online manufacturing or e-manufacturing. STEP significantly improves the interoperability between CAD systems, but in the meantime, it also creates the requirement of the new standard to exchange the information between CNC machines as well as CAM systems. Accordingly, in 1999, an international project was started to bring the benefits of STEP to CAM and CNC, known as STEP-NC (ISO 14649) [4].

2 Establishment of STEP-NC (ISO 14649)

ISO 10303 standard resolves the problems relating to the product data exchange between CAD, CAPP, and CAM systems. Therefore, for establishing a seamless data flow between CAM and CNC, a new standard, ISO 14649, was introduced commonly known as STEP-Compliant Numerical Control or STEP-NC in short. This standard offers the possibility of seamless data integration of applications throughout the design to the manufacturing cycle [15]. The attention of ISO is on the development of the STEP manufacturing environment, which includes STEP in, STEP out, and STEP throughout. The aim of STEP-NC is to provide remedies for the shortcomings of ISO 6983 by specifying machining processes rather than tool motion. It is done by using the object and feature-oriented concept of working steps, which provides a seamless link in computer-aided systems (CAx) to make CNC more open, interoperable, portable, adaptable, flexible, and intelligent. The significant benefit of STEP-NC is that it uses existing data models of ISO 10303 for enabling smooth and seamless information exchange in CAx [16]. ISO 14649 contains a high degree of information sets, which includes “What-to-make” (geometry) and “How-to-make” (process plan) [10].

2.1 Versions of STEP-NC

At the moment, there are two versions of STEP-NC that are under development by two different Sub-Committees (SC) of Technical Committee (TC) 184 under ISO: ISO 14649 and ISO 10303-238. The ISO 14649 is being developed by SC1 of TC 184 under ISO, whose preliminary focus is on machine control. The models of this version were written in EXPRESS language and are of Application Reference Model (ARM) type [17]. The second version (ISO 10303-238) is basically an upgradation of ISO 14649 standard. The development of this version is carried out under SC4 of TC 184, whose focus is on industrial data [17]. This is an Application Interpreted Model (AIM) because, it combines all the parts of ISO 14649 (except Part 1) into a single model with some modifications and also mapped them into STEP integrated resources to obtain an implementation AIM model [18]. The main aim of ISO 13030-238 is to enable total integration between CAD, CAM and CNC, or in other words, an integration of STEP and STEP-NC [12]. The main difference of ISO 10303-238 in comparison with ISO 14649 is that it includes 3D model and Geometric and Dimensioning and Tolerancing (GD&T) models [17]. This version is composed of three main parts: 3D representation, working plan for manufacturing, and technological parameters for manufacturing [12]. This version has overcome the issues of ISO 14649, namely, contain full CAD data including 3D, employed full tradition of EXPRESS and planned to integrate ISO 14649 and STEP.

2.2 Benefits of STEP-NC

STEP-NC is an object and feature-oriented data model, which provides new opportunities to support high-level and standardized information from design to manufacturing [19]. The development and implementation of STEP-NC will benefit the manufacturing world in various aspects. Some of the significant benefits are discussed in this section, which is a summary of the benefits highlighted by [2, 5,6,7, 10, 12, 17, 19, 20]

  • In current CAx, the information can be lost in a pipeline because of the incomplete data transfer from CAD to CAM. In this situation, the fixes to the geometry are made in CAM and are not communicated back to the CAD, which causes limited data flow to the post. Another reason for information loss is the use of different standards, whereas STEP-NC addressed these issues by providing a complete and structured data model linked with geometrical and technical information. Also, it provides a single standard for data integration between different systems. Hence, no information is lost in design to the manufacturing cycle.

  • In current systems, the information flow is uni-directional. There is no feedback on information between CAx. The last-minute changes are almost impossible due to the uni-directional data flow in the current CAx, whereas STEP-NC standard feature description and model structure are synchronized with ISO 10303; therefore, they support bi-directional information flow in CAx. Due to this, the shop floor modification in machining and technological data is possible.

  • Current CNC machines are working on ISO 6983 data interface model, which contains low-level information based on “how-to-make” instructions, whereas STEP-NC standard contains high-level information based on “what-to-make” and “how-to-make” instructions. This high-level information can enable optimization, simulation, inspection, and other facilities in the CNC controller. Therefore, we can say that the data elements of STEP-NC are adequate enough to describe task-oriented NC data.

  • Today’s systems use post-processor for the generation of ISO 6983 standard, which makes ISO 6983 more machine-specific and vendor-dependent. Hence, generated code cannot be used on different systems without modifications. Alternatively, the STEP-NC standard is composed of a neutral format, which is free from vendor dependency and machine specifications. Hence, it eliminates the need for post-processor and also saves time by reducing CAx chain. STEP-NC file is not machine-specific and can be operated on any machine that meets tooling requirements.

  • The data model of STEP-NC is extendable to further technologies and is also scalable with Conformance Classes (CC) to match the ability of specific CAM Shop Floor Programming (SFP) in NC systems.

  • The STEP-NC provides enough information for the enabling of intelligent optimization facility that helps in reducing machining time for small- to medium-sized jobs.

  • STEP-NC file contains all the information required to produce a job. Therefore, manufacturing operations may be adjusted to maximize production efficiency.

  • STEP-NC provides complete safety and adaptability of machine tools because it is vendor-independent and defines safety areas for fixtures as part of the setup.

  • There will be a significant reduction in the number of drawings sent from CAD to CAM, as STEP-NC data is self-documented.

  • STEP-NC enables e-manufacturing or Web-based manufacturing with the help of XML (ISO 14649-28) information transfer.

2.3 Structure of STEP-NC

The STEP-NC file contains high-level information in object-oriented view of programming in terms of manufacturing features. The structure of the STEP-NC data model is divided into two sections: HEADER and DATA. The HEADER section contains general information such as file name, author, date, and organization. This section starts with the particular token HEADER and ends with the ENDSEC token, whereas the other, DATA, section is considered to be an essential section of the STEP-NC. This section is the main section of the STEP-NC data model, which begins with the DATA token and ends with the ENDSEC token. This section contains all the information regarding manufacturing tasks and geometries. The contents of this section are further divided into three parts: workplan or executables, technology description, and geometry description. Each STEP-NC program contains a PROJECT entity in the DATA section that indicates the starting point of the NC functions. This entity indicates the workplan to be executed and the workpiece upon which operations have to be performed [21]. The workplan describes the series of manufacturing tasks or commands in a pre-established order. This part may also include workpiece data information. The executables can be of three types: workingsteps, NC functions, and program structures. The workingsteps are the necessary executables of the workplan that define manufacturing features in two-and-a-half-dimensional (2.5D) and 3D regions. Each workingstep also contains sub-features (pocket, slot, round hole, etc.) with cutting condition environment [8] [22]. The technology description part of the DATA section contains a detailed and complete description of all the workingsteps data such as a tool, machining strategy, definitions of the workpiece, depth of a hole, feed rate, spindle speed, and tool diameter [21]. However, the geometry description part includes all the geometry data used in the components, and it is described in the ISO 10303 format [8].

3 Implementation of STEP-NC (ISO 14649)

The STEP implementation on CNC was carried out from over the years in various research projects. Among them, only a few major projects that were funded by industries, companies, and institutes such as Intelligent Manufacturing System (IMS) STEP-NC [23], European Strategic Program on Research in Information Technology (ESPRIT) STEP-NC [24], Super Model, STEP Manufacturing Suite (SMS), Rapid Acquisition of Manufactured Parts (RAMP), and Intelligent Manufacture for STEP-NC Compliant Machining and Inspection [11]. The outcomes of these projects make STEP-NC an active industrial standard by providing new opportunities to CNC system controllers [17]. The implementation of STEP-NC was initiated on current commercially available CNC controller by translating STEP-NC data into G codes. This implementation failed to provide all the features of STEP-NC in CNC because the translation was in low-level language and another major problem was of the CNCs’ machine vendor dependence [7]. The problem of vendors’ specification dependence makes CNCs less adaptable. Various efforts had been made to address this problem, in particular, the trend towards Open Architecture Control (OAC) was initiated in 1980s [25].

3.1 Open Architecture Control (OAC)

The aim of OAC technology is to develop a neutral vendor control system interface and provide interoperability, interaction, portability, and scalability specifications to the system [26]. The ability to use the same component for working with different systems is enabled by interoperability. Interaction ensures the communication of standard data semantics. The natural transformation of application software from one environment to another is enabled by portability. The incremental and detrimental abilities of the system as per customer demands are described by scalability specifications [27, 28]. These specifications can also be used for the estimation of the openness of the system. The design philosophy of OAC gained wide attention all around the world. The USA was the first nation that rose the concept of OAC by introducing first OAC system MOSAIC in the year 1998. Since last two decades, OAC had made great progress and became an important field of research to achieve the goal of modern manufacturing. There are many research works that had been carried out on OAC in the shape of significant projects such as Open System Architecture for Controls within Automation Systems (OSACA), Open System Environment for Controllers (OSEC), Open Modular Architecture Controller (OMAC), Japanese Open Promotion Group (JOP), Global HMI, Organic Reconfigurable Operating System (ORCOS), and Openness, Conscientiousness, Extroversion, Agreeableness, and Neuroticism (OCEAN) [29]. These systems had enhanced the openness in the control environment, capabilities, advantages, and benefits of the OAC by allowing the changes in both hardware and software configurations, provides a plug and play compatibility in real-time, able to integrate, and share data among the third-party developed hardware and software components, able to cooperate with other systems at a systematic level and others. These facilities of OAC make CNC more flexible by allowing the system to be adjusted easily. The OAC system has more advantages over the current commercial closed systems because its primary focus is on reusable software technology, unlike hardware, as in the current system of closed architecture. The adaptation of OAC technology enables more intelligence, monitoring, inspection, openness, flexibility, adaptability, and portability facilities to CNC controllers [30].

The evolution of STEP-NC in CNC controllers is categorized into three steps in terms of STEP-NC programming: Indirect, Interpreted, and Adaptive [20].

3.2 Indirect STEP-NC Programming Implementation Approach

The main focus of this approach was on the development of “interpreters/translators” that translates STEP-NC (AP 203 and AP 224) information to commercial G code controllers [31]. The first two stages of the Super Model and European STEP-NC project ESPRIT falls into this category of work. In the first stage of the Super Model, a range of software tools were developed (i-e; ST-Plan, ST-Machine, STIX [11]) with the involvement of Gibbs CAM and various third-party software tools. In the second stage, Gibbs CAM STEP-NC adapter plugins were developed to read the AP 238 file [20]. All of these software tools were developed by a small private company (STEP Tools Inc) specialized in the field of STEP-NC development and support. Apart from those, STEP Tools Inc also introduced some other software solutions for testing and using the STEP-NC data model in real-life applications. The STEP-NC Explorer is a tool used for opening and reading of STEP-NC files. This tool also converts the NC file into the STEP-NC file. The ST-Developer tool contains Dynamic Link Library (DLL) for reading, writing, and manipulation of STEP-NC files. It contains tools for AP 203, AP 209, and AP 214 file readings. It also shows the graphical view of the STEP-NC file in ST-Viewer [12].

Within the In-Direct STEP-NC programming approach, one of the first STEP-based prototype was developed within the contents of the ESPRIT project, which utilized CATIA and Open Mind CAD software for STEP-NC file generation and modified Siemens 840D controller for interpretation [32]. Similarly, an Agent-Based Computer-Aided Manufacturing (AB-CAM) system was developed at the AMST Centre in the Wolfson School of Mechanical and Manufacturing Engineering, Loughborough University, UK. The system generates the ISO 14649 part program and translates it into G code for operation [33]. The system is composed of multi-agents where each agent is charged with the responsibility. It defines both simple and combined manufacturing features by Manufacturing Feature Agents (MFAs) that can acquire corresponding features information from the component and manufacturing resource models. After that, the process planning tasks are carried out, and the operation-related information is written into a corresponding workingsteps. From these workingsteps data, the complete workplan is then generated by optimizer agents via re-arrangement of workingsteps. The demonstration platform of the system was developed in JAVA, known as the Integrated Platform for Process Planning and Control (IP3AC) [34]. A similar approach was introduced by University of Auckland that interprets STEP-NC part code and translates it into G code for operations. In that work, firstly, an interpreter was developed that translates ISO 14649 instructions [35] and secondly, an open nature prototype system was developed [36] for performing the tasks of the developed STEP-NC interpreter. Generally, the In-Direct STEP-NC programming approach had focused on the popular CNCs and open architecture controllers. Within this approach, the vision of intelligent CNC could not be achieved because of the translation of data from a high-level to low-level information. In order to perform high-level activities, a new controller is needed to be developed that is able to directly interpret STEP-NC data.

3.3 Interpreted STEP-NC Programming Implementation Approach

The aim of this approach was to execute axis commands directly from STEP-NC data interface model [31]. Based on this approach, the first prototype was developed at the National Research Laboratory for STEP-NC Technology (NRL-SNT) at PosTECH University Korea [4]. The system is composed of STEP-NC file generator, Tool Path Generator (PosTPG), Tool Path Viewer (PosTPV), Shop Floor Programming System (PosSFP), Man-Machine Interface (PosMMI), CNC kernel (PosCNC), and machine tool driving and control modules. This system had not been implemented on industrial machine tool but was validated by a prototype system [20]. Within this category, a G code free machining scenario was presented by Manufacturing Systems Laboratory, University of Auckland, for lathe machine [37]. The work consisted of two parts; the first part was about the retrofitting of an existing CNC machine, whereas the second part was about the development of STEP-compliant NC (STEPcNC) converter. The retrofitting was done by using CompuCam’s motion control system that has its own programming language (6K Motion Control), and it can interface with CAPP/CAM programs via VB, VC++, and Delphi platforms. The STEPcNC reads, understands, and translates the data to the CNC controller through HMI. Later, this work was extended by [38] to enable bi-directional data flow for STEP-NC data, machine-specific language, and low-level machine control commands. Another piece of research work was carried out in Germany. The first STEP-NC industrial prototype based on the Siemens 840D controller was developed by the Laboratory for Machine Tools and Production Engineering (WZL) at RWTH Aachen University. The prototype parses the STEP-NC physical file directly via Graphical User Interface (GUI) developed by using Shop Mill, and HMI developed by using Sinumerik 840D [39]. The ISW in Stuttgart, Germany, is also active in the STEP-NC field. ISW introduced a prototype system, STEPturn, which adopted STEP and STEP-NC standards for turning operations. The main advantage of STEPturn software application was the automatic planning of the manufacturing steps sequence that was achieved by using two types of priority pairs. The software reads geometry data from a STEP AP-203 Part 21 file, performs process planning tasks, and generates a STEP-NC physical file [40] [41]. ISW also developed a system for parsing the feedback from CNC to CAM using ISO 14649. The system performed feedback operations by generating modified STEP-NC file via sorting cutting forces during the NC process into a database by investigating the stored data, compensation algorithms, and model for tool deflection [42]. A number of vendors and industries from Switzerland have also taken part in the STEP-NC research. Most of the work is focused on the STEP-based Wire Electric Discharge Machine (EDM) and its controller. In that work, a SolidWorks software was used for part modelling test. Alpha CAM was used for the development of the STEP-NC software module. And a prototype using the Agie-Charmilles controller was developed for experimental studies [43] [44]. The IRCCyN Laboratory of France is also working on STEP-NC implementation. They have developed a system known as STEP-NC Platform for Advance and Intelligent Manufacturing (SPAIM) based on the Interpreted category of STEP-NC programming approach. This platform is composed of HMI, master, execution, CAD reconstruction, tool path generation, and simulation modules. These modules are controlled by Delphi applications on the CNC controller and external PC. The tool path module of SPAIM is based on vendor components [20] [31]. Another system of similar capabilities comprising Intelligent and Interoperable Manufacturing Platform (IIMP) was developed by University of Auckland that argues with the SPAIM capabilities in terms of manufacturing efficiency and interoperability. The IIMP improved the data portability and process interoperability between heterogeneous formats of the CAD/CAM/CNC systems. The architecture of IIMP is composed of three elements: orchestrator, application module pool, and execution core. The main aim of IIMP is to gather and synchronize heterogeneous data among existing and future CAD/CAM/CNC systems [19]. Going even further beyond the capabilities of SPAIM and IIMP frameworks, an eXtended Manufacturing Integrated System (XMIS) for feature-based manufacturing with STEP-NC was developed. The XMIS is composed of a production project unit that includes planning, process analysis, process control, and process diagnosis units. The focus of XMIS is to control the manufacturing process from design to product stages [45]. In interpreted STEP-NC programming category, a self-learning, intelligent, and efficient CNC controller based on OAC was developed within the scope of the FP7 European Commission funded project. This FoFdation Smart Machine Controller Open Architecture (FSMC-OA) project focused on converting industrial CNC (Cincinnati Milacron “Sabre” milling machine with NUM controller) into a unique multi-controller Integrated Test Platform (ITP). The ITP multi-controller platform contains the Linux CNC Enhanced Machine Controller (EMC)2 OAC, the legacy nC-12 controller from Fidia, and the NUM 750 numeric controller. The aim of ITP is to provide an all-in-one platform for STEP-NC demonstration by utilizing multi-controllers on one machine [20]. Malaysia universities are also active in this field of research; they have developed a three-axis CNC milling machine system based on interpreted STEP-NC programming approach by utilizing virtual component and open architecture control technologies [46].

The direct interpretation of STEP-NC enables more flexibility into the CNC system. This implementation makes CNC controller intelligent and self-learning. This category-based CNC controller provides shop floor programming, optimization, simulation, inspection, and other facilities within the core of the CNC controller. However, the dream of STEP-NC controller is yet to be achieved. The ultimate goal of STEP-NC is to enable Adoptive STEP-NC programming approach where the controller estimates online process data and optimizes machining parameters and tool paths in real time. At present, there is no prototype of this category implemented on any machine. The outcome of these demonstrations proved that STEP-NC is able to provide product and process data, but there is no commercially available implementation until now. It is because the manufacturers believe that conventional CNCs are powerful enough to handle machining tasks. The CNC and CAM vendors seem to have a limited concern in promoting STEP-NC due to their personal business interests. In fact, they have misread the vision of STEP-NC on the next generation of intelligent control, and that will be a drawback to vendors in the future [47]. Due to these reasons, this modification also requires a high cost. Overall, these factors have slowdown STEP-NC implementation on a commercial CNC machine. But fortunately, the introduction of OAC technology provides another platform for this implementation [36]. The introduction of OAC increases the possibility of STEP-NC implementation by providing more power to PCs [48]. The aim of OAC is to enable easy implementation and integration of customer-specific controls, reusability of software, and to integrate user-specific algorithms or application. OAC interfaces can play a vital role in the creation of reconfigurable CNC units. The performance of the unit can be easily improved by upgrading the hardware platform only [29]. Due to all these facilities of OAC, the modern CNC developers favor PC-based solutions to provide high flexibility and quality at low cost [25].

4 Integrated CNC Systems

In order to facilitate the development of STEP-Compliant systems, the various areas need to be focused, as shown in Fig. 1. Based on this knowledge, many researchers had proposed different approaches for the development of modern CNC systems. The summaries of the developments from year 2003 to year 2020 are presented in Table 1.

Fig. 1
figure 1

Criteria of STEP-NC system

Table 1 Intergrated CNC Systems from 2003 to 2020

Several systems have been developed by using the commercial, PC-based, and integrated hardware configurations. Most of the techniques are created on Windows, Linux, commercial, and integrated operating systems. In this review, the developed methods are categorized into different fields such as ISO data interface model, STEP-NC programming approaches, and OAC technology. The integration of these technologies has been utilized for CNC system development. The yearly growth of this integration can be observed in Fig. 2. For many years, the OAC-based CNC systems are in the main focus compared to the commercial CNC systems. The development of OAC-based CNC system has been carried out on both ISO data interface models. The trend of this development is shown in Fig. 3, which indicates that STEP-NC-based CNC system development is higher than others. The STEP-NC has been implemented on commercial CNC and OAC platforms as per its implementation techniques (Indirect and Interpreted) as shown in Fig. 4. This observation indicates that the current trend of CNC development is the STEP-NC based OAC CNC systems.

Fig. 2
figure 2

Integrated CNC technologies development

Fig. 3
figure 3

Trend of OAC-based CNC systems

Fig. 4
figure 4

Trend of STEP-NC and its implementation approaches

5 Conclusion

In the content of the paper, Computer Numeric Control (CNC), Computer-Aided Design (CAD), Computer-Aided Process Planning (CAPP), Computer-Aided Manufacturing (CAM), G codes (ISO 6983), STEP (ISO 1303), STEP-NC (ISO 14649), and Open Architecture Control (OAC) technologies are discussed from development to implementation. Over 50 embedded CNC systems are reviewed based on different categories, which are summarized in Fig. 5. From this review, it has been observed that there is much effort that had been carried out for the implementation of the STEP-NC data interface model by utilizing various techniques and tools. As discussed, the implementation was initiated on a commercial CNC system by the In-Direct STEP-NC programming approach, but that was not able to provide full features of the STEP-NC because it translates the STEP data into G codes. Secondly, commercial machine units were found to be of a closed nature. In order to overcome these issues, the Interpreted STEP-NC programming approach implementation was suggested. But, this technique was a bit costly in implementation. Therefore, the utilization of open-architecture control technology is considered. This integration opens the door for the various techniques, which are mentioned in Table 1. However, all of these techniques have some limitations in terms of control, hardware, software, modern functionalities, and other factors. At present, there is no any STEP-CNC system has been commercialized because the aim of next-generation CNC had not been achieved yet. However, STEP-NC has successfully enabled lots of modern functionalities into the CNC, but there is more that is still to be achieved. This scenario indicates that the STEP-based CNC development is an active topic for research, in which various fields need to be addressed, such as an interpretation, simulation, hardware configuration, software configurations, optimization, monitoring, communication, safety, and e-manufacturing. To enable modern features in the CNC system, the STEP-NC data interface model is better than the G Code because it provides complete access to the design and manufacturing data. This data can be used in online and offline environments. However, for the implementation method, the Interpreted and Adaptive STEP-NC programming approaches are the main directions for future research as the In-Direct STEP-NC programming approach is not capable enough to achieve the aim of the future CNC. The content of the paper has clearly shown how the integration of various technologies can achieve these approaches. As in previous approaches, many researchers had utilized different integrated platforms in the system development, which are based on ISO 6983, ISO 14649, both and neutral data interface models. However, it is always a good idea to focus on the new ISO data interface model (ISO 14649 and ISO 10303-238) rather than ISO 6983 or neutral. These new data interface models are proved to be very beneficial as compared to old, which is clarified in the paper. These capabilities make them strong enough to address future challenges. These data interface models can be used with open architecture control technologies, micro-controllers, arduino, LabVIEW, MATLAB, Python, JAVA, C, and other wide range of hardware and software configurations for the development of low-cost CNC systems or prototypes.

Fig. 5
figure 5

Summary of the reviewed works