International Journal of Automation and Computing  2018, Vol. 15 Issue (4): 500-512   PDF    
STEP-based Feature Recognition System for B-spline Surface Features
Bitla Venu, Venkateswara Rao Komma, Deepanshu Srivastava     
Department of Mechanical Engineering, Motilal Nehru National Institute of Technology, Allahabad 211004, India
Abstract: The geometrical and topological information of 3D computer aided design (CAD) models should be represented as a neutral format file to exchange the data between different CAD systems. Exchange of 3D CAD model data implies that the companies must exchange complete information about their products, all the way from design, manufacturing to inspection and shipping. This information should be available to each relevant partner over the entire life cycle of the product. This led to the development of an international standard organization (ISO) neutral format file named as standard for the exchange of product model data (STEP). It has been observed from the literature, the feature recognition systems developed were identified as planar, cylindrical, conical and to some extent spherical and toroidal surfaces. The advanced surface features such as B-spline and its subtypes are not identified. Therefore, in this work, a STEP-based feature recognition system is developed to recognize B-spline surface features and its sub-types from the 3D CAD model represented in AP203 neutral file format. The developed feature recognition system is implemented in Java programming language and the product model data represented in STEP AP203 format is interpreted through Java standard data access interface (JSDAI). The developed system could recognize B-spline surface features such as B-Spline surface with knots, quasi uniform surface, uniform surface, rational surface and Bezier surface. The application of extracted B-spline surface features information is discussed with reference to the toolpath generation for STEP-NC (STEP AP238).
Key words: Feature recognition     3D computer aided design (CAD) model     geometrical information     standard for the exchange of product model data (STEP) AP203     Java standard data access interface (JSDAI)    
1 Introduction

Seamless integration of computer aided design (CAD) and computer aided manufacturing (CAM) systems reduces human errors and lead times which are crucial to the success of a manufacturing industry. For the integration of CAD/CAM, 3D CAD model should be represented in neutral file format. ISO 10303 standard for the exchange of product model data (STEP) is the neutral format that supports the representation of product model data for the complete life cycle of the product. One of the important data to be communicated from CAD to CAM system is “feature”. Feature is defined as a characteristic of the part that carries significance to a particular application[1]. The meaning of feature is specific to the domain, for example, a circle in design is termed as hole in manufacturing. In the manufacturing domain, features are holes, slots, fillets, etc. In the process planning, suitable manufacturing process is selected based on the manufacturing features. These higher level features (i.e., slots, steps, holes etc.) are interpreted from the low level geometric and topological features such as faces, edges and vertices of the 3D CAD model. In a STEP-based CAD/CAM system as shown in Fig. 1, 3D CAD models are made by a solid modeling software (i.e., pro-engineer, solid edge, uni-graphics, etc.) which can be exported as a STEP application protocol (AP) file format, i.e., AP203[2]. The commercial solid modeling softwares are available in the market with built-in convertor to generate STEP AP203 neutral format file. The foremost activity of the STEP-based CAD/CAM system is feature recognition and major data to be communicated is “feature”. Therefore a feature recognition system is required for extracting geometrical and topological information of the features from the 3D CAD model represented in AP203 file for the seamless integration of CAD/CAM. In December 2014, STEP AP203 and STEP AP214 (core data for automotive mechanical design processes) formats were combined to form a new AP, named as STEP AP242 (managed model based 3D engineering)[3]. It is noticed from the schema that the representation of the 3D CAD models in AP203 is similar to AP242. However, presently no solid modelling software is available for exporting the model in AP242 format. Therefore, in the present work, AP203 is used for representing 3D CAD models. The extracted feature information shall be represented in STEP AP224[4] format, which is the application protocol for product definition for process planning using machining feature. It is also used for explicit representation of the 3D shape of machining features through bounded geometry and implicit representation of machining features through selection of standard parameters. The feature-based information of AP224 could be used for generation of part-programs, which are represented in STEP AP238 (STEP-NC)[5] format. The features of STEP AP238 include manufacturing process descriptions of manufacturing operations, sequences of operations and associated information, tool requirements for machining operations and toolpaths for machining operations. It has been observed from Fig. 1, link between design and manufacturing is identified as an important field of research and developments in this area is crucial to the success of any CAD/CAM industry. Automatic feature recognition plays a crucial role in CAD/CAM cycle for downstream applications like process planning and machining. Therefore, it is necessary to develop a STEP-based feature recognition system for CAD/CAM integration. The following section gives the literature survey related to feature recognition systems with more emphasis on identified surface geometry features.

Download:
Fig. 1. Typical STEP-based CAD/CAM system with different interfaces

2 Literature survey

The exchange of product model data among different CAD systems through initial graphics exchange specification (IGES) neutral format file and STEP files is more popular among different neutral format files. The following paragraph gives the literature review of the feature recognition systems which are using IGES and STEP format files.

In the graph based approach, a boundary representation (B-rep) CAD model is converted to a graph in terms of set of nodes and set of arcs, which forms attributed adjacency graph (AAG). To recognize features from the AAG, different customized rules were framed[6]. Gao and Shah[7] developed an approach to recognizing both isolated and interacting features. The conventional, graph-based approach is combined with hint-based approach to recognize interacting features. Firstly, isolated (non-intersecting) features were identified using manufacturing face adjacency graph. Secondly, interacting features were then recognized using feature′s minimal condition subgraph (MCSG) which was used as a feature hint. Meeran and Taib[8] presented hint-based feature recognition system which identified machining features from 2D orthographic projections. Three types of profiles: Type I, II or III were defined in this method to identify isolated, nested and interacting features using a common framework. A feature recognition system was developed by Bhandarkar and Nagi[9] for solid models represented in STEP AP202 or AP203 formats. They claimed that the output of the feature recognition system shall be represented in AP224 format for feature-based processes planning. Their algorithm identified the elementary shapes such as planar and cylindrical surface features from prismatic solids only. Dereli and Filiz[10], Gao et al.[11], Lau et al.[12] presented feature recognition systems, which used geometrical and topological information of the design database. The problem of feature interactivity was discussed and a feature-based approach was proposed to identify machining features from a feature model. An approach called edge boundary classification (EBC) was proposed by Ismail et al.[13] for cylindrical and conical shape features from B-rep models. This technique used spatial addressability information of solid models which identified the solid and void “sides” of a boundary entity. Koda et al.[14] proposed a method for shape retrieval using shape impression of human′s Kansei (sensitivity). The proposed method used Gaussian curvature distribution from 3D models as features for shape retrieval. Then, the approach classified the 3D models by extracting features and measures similarity of models in storage. Arivazhagan et al.[15] used syntactic pattern recognition approach to recognize features from STEP AP203 format of prismatic parts. Their methodology identified interacting, tapering, interacting-tapering, curve base features and tapering cross-sections of planar and to some extent cylindrical surface geometries. Babic et al.[16] presented a review of automated feature recognition systems based on rule-based pattern recognition. They concluded that the developed feature recognition systems are complex to identify intersecting features. The developed systems could recognize orthogonal features, but little attention was given for non-orthogonal and arbitrary features. A generative computer aided process planning (CAPP) framework was developed by Sankar et al.[17] for rotational components. Their framework includes modules for feature extraction based on CAD application programming interface (APIs) to determine optimum sequence and generation of process parameters. An automatic feature recognition system was developed by Sunil and Pande[18] for free-form surface CAD models of sheet metal parts represented in stereo lithography (STL) format. Specific rules are defined for recognizing variety of protrusion and depression features such as holes, bends, darts, beads, louvers, dimples, dents, ridges/channels (blind and through). Rameshbabu and Shunmugam[19] presented an approach to recognize orthogonal features from the planar and cylindrical surfaces using modified graph-based approach from the 3D CAD models represented in AP203 format. Nagarajan and Reddy[20] developed an approach to identify design and manufacturing features using lower level geometry and topology available in the STEP format file. Their approach could recognize the manufacturing features, which are formed with elementary surfaces such as plane, cylindrical, conical and toroidal surfaces. Sunil et al.[21] presented an approach for B-rep 3D CAD models of prismatic parts to recognize interacting features. Their system recognized simple orthogonal features on prismatic parts such as stepped holes (i.e., counter bore, counter sunk) and simple holes (through or blind) with flat/conical bottom features. An algorithm for extracting free-form surface features (FFSFs) from a surface model was proposed by Gupta and Gurumoorthy[22] with IGES file as input. Their extraction algorithm proposes a separating curve to identify FFSFs of a surface model, then features are classified as per the characteristics of the separating curve and the region enclosed by the separating curve. The approaches developed by Sunil et al.[21] and Gupta and Gurumoorthy[22] were not extracted and presented data needed for the downstream applications. Rao et al.[23] developed an algorithm for extracting geometrical data, recognizing turned features, generating process plans and numerical control (NC) part programs from 2D image. Sivakumar and Dhanalakshmi[24] proposed a methodology to integrate CAD, CAM and computer aided integration (CAI) based on feature extraction of cylindrical parts only. They claimed that the 3D CAD model information of cylindrical parts was extracted from STEP AP203 file and the output was used to generate NC code. An approach was developed by Li et al.[25] to identify aircraft structural parts features such as ribs using object-oriented software engineering. The computerized numerical control operation experience and the machining knowledge were leveraged by analyzing typical geometry interactions from machining tool paths with their approach. Nasr et al.[26] presented an approach to recognize features using geometric reasoning. The solid model data is extracted from the STEP file with the developed algorithms, then logical rules were formed based on the geometric reasoning to recognize features. Zehtaban et al.[27] developed a similarity recognition algorithm to retrieve the models from the database which used STEP file. The framework also helps the designer while taking design decisions. Niu et al.[28] considered a declarative approach for feature recognition, which was coupled with database optimization. The authors claimed that, the database optimization gives significant improvements to the time complexity for feature finding, which provides the results in an acceptable time. They also mentioned that, SQLite is a light-weight database and does not support the advanced features. Wang et al.[29] presented a new image feature-absence importance (AI) feature technique, which can characterize the local structure information. The approach depends on the absence of important pixel with more effect on the local structure. Two absence importance features, such as mean absence importance (MAI) and standard deviation absence importance (SDAI) were defined and used to construct algorithms for feature detection and matching. Xu et al.[30] proposed an approach for machining feature recognition from in-process model (IPM). According to IPM characteristics, firstly, a curvature based segmentation, classification and then valuated adjacency graph were formed for feature recognition. A method was proposed by Zhang and Li[31] to detect concave and convex regions on tessellated CAD model to characterize the shapes on it. Their method classifies the triangular facets with STL file into local convex, concave and mixed groups based on the relation of the facets. Furthermore, Gaussian image formation and point distribution distance algorithm were applied on the detected regions for recognition of basic shapes like cube, wedge, cylinder, cone and sphere. An approach called multiscale persistent heat signature similarity identification technique was presented by Harik et al.[32] The heat signature was computed by modified Laplacian in the heat kernel, then, the heat retention values were computed for applying persistent homology to obtain significant subsets of global mesh at different time intervals. The subsets are computed according to the similarity of heat rejection levels and retention values. Finally, the approach scans the part at different levels to identify the features of standard shape formed with planar and cylindrical surfaces. The concepts of machining faces and features were analyzed and a different semantic approach was proposed by Zhang et al.[33] for automatic recognition of machining features. The approach provides an ontology-based model for representing the machining faces and machining features. From the above literature survey, it is evident that all the presented feature recognition systems have identified the features which are formed with elementary surfaces. The systems which can recognize B-spline surface features are scarce. Therefore, in this work, a STEP-based feature recognition system is developed for the recognition of B-spline surface features from the 3D CAD models represented as STEP AP203 file format. B-spline surface features include B-spline surface with knots, quasi uniform surface, uniform surfaces, rational and Bezier surfaces. In this work, a STEP-based feature recognition system is developed and tested with a realistic 3D CAD model (i.e., impeller) to identify B-spline surface features. Toolpath generation for B-spline surface machining is also discussed with the extracted feature information. Section 3 gives the programming language and tools used for developing the proposed feature recognition system.

3 Programming language and tools used in the development of feature recognition system

The proposed feature recognition system is developed and implemented in Java programming language. Input to the developed system is the STEP AP203 format file of 3D CAD model. The information of the STEP AP203 file is accessed through Java standard data access interface (JSDAI)[34], which is an open source API to read, write and execute runtime manipulation of the EXPRESS-based data model. EXPRESS is a standard data modeling language for representing product data, which is represented as STEP (ISO 10303) model and standardized as ISO 10303-11. EXPRESS is similar to programming languages like Cobol or Pascal, in which a schema of various datatypes can be defined with structural constraints and algorithmic rules. The information related to the 3D CAD models represented in STEP application protocols (APs) can be accessed through JSDAI and the corresponding set of Java class files of the AP schema. A 3D CAD model represented in AP203 format shall be validated against its schema with JSDAI. JSDAI is available as a standalone package as well as a plug-in to the eclipse integrated development environment (IDE) for Java programming language. JSDAI is an alternative to the commercially available ST-developer[35] from STEP-tools Inc. JSDAI provides EXPRESS compiler, which is used to compile AP203 EXPRESS schema and automatically generate the corresponding Java classes. These Java classes of the schema are added to the library of the project, in which the proposed feature recognition system is developed. The algorithm used in this work depends on the geometrical data representation of B-splines in STEP schema. Therefore, it is important to understand the representation of B-splines in STEP. A brief outline representation of B-spline surfaces and B-spline curves according to STEP AP203 schema is described in the following section.

4 Representation of B-spline surfaces and curves in STEP AP203 schema

A bounded face is formed with a bounded surface and a set of boundary curves. The bounded surfaces are further classified as B-spline surfaces, rectangular trimmed surfaces, curve bounded surfaces and rectangular composite surfaces. Out of these surfaces, B-spline surfaces are widely used for product modelling in different applications such as automotive and aerospace industries. Therefore, in this work, B-spline surfaces are selected for recognition. B-spline surface is a general form of rational or polynomial parametric surface, which is represented by control points, basis functions and weights. The type of B-spline surface depends on surface default values or characteristics of the provided values. The subtypes of the B-spline surface are B-spline surface with knots, uniform surface, quasi-uniform surface, rational surface and Bezier surface. Similarly, B-spline curve is a subtype of bounded curve, it is defined as piecewise parametric polynomial or rational curve described in terms of control points and basis functions. This type of curve is the most stable form to represent all types of polynomial or rational parametric curves. The sub-types of B-spline curves are B-spline curve with knots, uniform curve, quasi-uniform curve, rational curve and Bezier curve. The polynomial parametric representation of B-spline surface and B-spline curve is shown in (1) and (2), respectively[2].

$\sigma(u, v)=\sum_{i=0}^{K_1} \sum_{j=0}^{K_2} {P_{ij} N_i^{d_1} (u) N_j^{d_2}(v)}$ (1)
$\lambda(u)=\sum^k{P_i N_i^d(u)}.$ (2)

Equation (1): $P_{ij}$ is control point at i-th row and j-th column, $d_1$ & $d_2$ are u & v degrees, $N_i^{d_1}$ & $N_j^{d_2}$ are i-th and j-th normalized B-spline basis functions of $d_1$ , $d_2$ , and $K_1$ & $K_2$ are upper indices on u & v control points. Equation (2): d is degree of the curve, $P_i$ is i-th control point, k is upper limit of control points, $N_i^d$ is i-th normalized B-spline basis function of degree d. The subtype of B-spline surface, B-spline surface with knots and B-spline curve with knots as edge curves are having better control over the other sub-types of B-spline surfaces. Hence, these types are considered for testing the developed feature recognition system. Representation of B-spline surface with knots and B-spline curve with knots as per the AP203 schema is given below.

#ID = B_SPLINE_SURFACE_WITH_KNOTS (u-degree, v-degree, control points list, surface form, u-closed, v-closed, self-intersect, (control points), (u-multiplicities), (v-multiplicities), (u-knots), (v-knots), knot specification).

#ID = B_SPLINE_CURVE_WITH_KNOTS (degree, (control points), curve form, curve closed, self-intersect, (knot multiplicities), (knots), knots specification). The attributes of B-spline surface and additional attributes of subtype B-spline surface with knots as per the STEP AP203 schema are shown in Fig. 2. The attributes of B-spline curve and additional attributes of subtype B-spline curve with knots as per the STEP AP203 schema are shown in Fig. 3.

Section 5 gives the algorithmic steps performed to identify B-spline surface features. The flow chart representation of the algorithmic steps for the recognition of B-spline surface features is shown in Figs. 4(a) and 4(b).

Download:
Fig. 2. Representation of B-spline surface with knots attributes as per AP203 schema

Download:
Fig. 3. Representation of B-spline curve with knots attributes as per AP203 schema

Download:
Fig. 4. Flow chart representation of algorithmic steps to recognize B_spline_surface features

5 Steps performed to identify B-spline surface features

In the development of feature recognition system for identifying B-spline surface features, several user defined Java classes are programmed along with JSDAI classes. The following key steps illustrate the development of the system.

Step 1. The STEP AP203 part 21 file (text format) data is accessed by the following steps.

1) JSDAI session is opened and a transaction is started in read write access mode, then a repository is created in the same JSDAI session for importing clear text encoding file (file name.stp).

2) JSDAI data model is created with imported file with the same repository (If more than one JSDAI data model is required, the data models can be created in the same session).

Step 2. Current JSDAI model is opened (i.e., if there are more than one models) and the instance of advanced B-rep shape representation is accessed from the manifold solid B-rep entity.

Step 3. Closed shell object is obtained with manifold solid B-rep instance, which contains the connected face set of the solid model.

Step 4. All the face entity instances of the closed shell are obtained and checked for the following conditions.

1) Is the face geometry of the face is an instance of bounded surface?

2) If the above step (i.e., Step 1)) is true then check, if the face geometry is the subtype B-spline surface (BSS), then store the face in an array of BSS faces (say, BSS_FACES).

Step 5. Get all the face entity instances of BSS_FACES and perform the following steps.

1) B-spline surface (BSS) is obtained and the information (BSS_INFO) required to define B-spline surface (BSS) geometry is also obtained, such as u-degree (UD), v-degree (VD), list of control points (CP), surface form (SF), u-closed (UC), v-closed (VC) and self-intersect (SI).

2) Further check will be performed, if the face geometry is B-spline surface with knots (BSSK)(i.e., subtype of B-Spline surface), additional information (BSSK_INFO) necessary to define the surface with knots is extracted, such as u-multiplicities (UM), v-multiplicities (VM), u-knots (UK), v-knot (VK) and knot specification (KS).

3) If the face geometry is of other type of sub-types such as quasi uniform (Q-BSS), uniform (U-BSS), rational B-spline (R-BSS) or bezier surface (B-BSS), the related information (XBSS_INFO) to define the surface is extracted.

4) Then, loop of oriented edges are retrieved from the face_outer_bound and B-spline curve object (BSC) is obtained.

Obtain the edge loop instances of each BSC face and perform the following steps.

a) Check for bounded curve type, further check for subtype B-spline curve (BSC), then the curve definition attribute information such as degree (D), list of control points (CP), curve form (CF), curve closed (CC), and self-intersect (SI) is retrieved.

b) Further check for B-spline curve with knots (BSCK), extract the additional information (BSCK_INFO) necessary to define the curve with knots, such as knot multiplicities (KM), knot specification (KS) and knots (K). Then, form the BSSK_FEATURE with BSS_INFO, BSSK_INFO and BSCK_INFO.

c) If the curve is of other type of BSC such as quasi uniform curve (Q-BSC), uniform curve (U-BSC), rational B-spline curve (R-BSC) and Bezier curve (B-BSC), then the relevant information is retrieved, and then XBSS_FEATURE is formed with BSS_INFO, XBSS_INFO and XBSC_INFO.

Close for all the instances of BSS_FACES.

Close for all the instances of BSCs of edge loop.

In the following section, working of the developed feature recognition system is demonstrated for the recognition of B-spline surface features using a realistic 3D CAD model (i.e., impeller of a compressor) as shown in Fig. 5. The application of the output result is also illustrated for toolpath generation.

6 Test case: Results and discussion with a 3D CAD model of an impeller having B-spline surface with knots features

In this test case, a 3D CAD model of an impeller modelled in Pro-Engineer software (shown in Fig. 5) represented in STEP AP203 format file (i.e., 30 000+ lines) is given as input to the developed feature recognition system. The system successfully recognized all the B-spline surface with knots (BSSK) features from the considered 3D CAD model (impeller). The considered 3D CAD model is having 96 BSSK features, since the complete information of the BSSK features are cumbersome. Therefore, sample output of the developed system is given in Tables 1 and 2. The edge curve level data of the selected BSSK features are given Table 3. The output information is represented in accordance with the STEP AP203 schema, which shall be used in downstream applications such as STEP-NC (AP238) and toolpath generation. It has been observed that the recognized surface features are of third degree in u direction (UD) and v direction (VD), and it is also identified that the surface features are open in u and v directions, i.e., logical values are “1” and “1” for UC and VC respectively. The identified surface features are not self-intersecting, i.e., logical value is “1” for SI. The knot specification (KS) of the surface features are “2”, which designates the knots are unspecified.

Table 1
Sample output of B-spline surface with knots features (BSSK) information as per AP203 express schema definition

Table 2
Details of multiplicities and knots of the selected B-spline surface features given in Table 1

Table 3
Details of B-spline curves with knots of the selected B-spline surface features shown in test case

The number of control points (NCP), u-multiplicities (NUM), v-multiplicities (NVM), u-knots (NUK), v-knots (NVK) of feature surfaces are also listed in Table 1. Sample of selected BSSK features, BSSK_16, BSSK_18, and BSSK_20 and its edge curves are shown in Fig. 5. BSSK_16 feature is bounded with B-spline curve with knots (BSCK) IDs BSCK_26, BSCK_84, BSCK_85, BSCK_86 and line IDs L_16 and L_13. Similarly, BSSK_18 is bounded with BSCK_38, BSCK_90, BSCK_87, BSCK_91, C_27 (Circle ID) and L_18 (Line ID) and BSSK_20 feature is bounded with BSCK_84, BSCK_90, L_14 and L_17. Table 2 shows the details of number of control points (NCP) (start point (SP) and end points (EP) of the curves), u-multiplicities (NUM), v-multiplicities (NVM), u-knots (NUK) and v-knots (NVK) of sample BSSK features shown in Fig. 5. The details of edge curve IDs (i.e., BSCKs) of identified sample BSSK features are given in Table 3. It has been observed that all BSCKs are of degree (D) “3”, curve forms (CF) are unspecified (corresponding attribute value is “6”), curves are open type (CC value is “1”) and the curves are not self-intersecting (SI value is “1”). The knot specifications (KS) of the curves are specified as “2” (quasi uniform). The knot multiplicities (KM) and knots (K) of all the BSCK are also given Table 3. Fig. 6 shows the output screenshot of the feature recognition system in Eclipse IDE with STEP AP203 file of impeller as input.

The sample identified features of the considered 3D CAD model is highlighted in the output screenshot (Fig. 6). The extracted output information represents the information required to define the B-spline surface with knots type feature (BSSK). The developed system also extracts the edge curve level information such as advanced curves like B-spline curves with knots (BSCK) type. Due to high volume of data, only sample features are represented (BSSK_16, 18, 20) in Fig. 5 and those sample features are highlighted in Fig. 6 for the verification of the obtained output data from the developed feature recognition system for B-spline surface features. The other type of edge curves information such as lines and circles are not given in this article due to data redundancy.

The recognized B-spline surface features from the developed system should be represented as STEP manufacturing feature for downstream applications. For instance, B-spline surface can be explicitly linked to AP238 (STEP-NC) through unit of functionality (UoF) of manufacturing feature via application object of toolpath_feature. Toolpath_feature is used to represent explicit toolpath of features, which are not covered in implicit representation of manufacturing features of AP238. While linking B-spline surface to toolpath_feature, application interpreted model (AIM) element instanced_feature is used with the defined reference path in AIM mapping tables of AP238. Below is the format for linking of B-spline surface to manufacturing feature of AP238.

#10=INSTANCED_FEATURE (“freeform feature”, “toolpath”, “ ”, “toolpath”, #5, . F.)

#20=PRODUCT_DEFINITION_SHAPE (“ ”, “ ”, #10)

#30=SHAPE_DEFINITION_REPRESENTATION (#20, #40)

#40=SHAPE_REPRESENTATION (“explicit feature shape”, (#100), #200)

#100= B_SPLINE_SURFACE_WITH_KNOTS ()

#200= [ $ \cdots $ to geometric context $ \cdots $ ]

Download:
Fig. 5. Details of 3D CAD model (impeller) having B-spline surface with knots features

The represented B-spline surface from the entity of instanced_feature is used for generation of cutter contact (CC) or cutter location (CL) data points from the basic equations of B-spline surfaces or B-spline curve. B-spline surface can be represented as advanced_face, in which the following two cases arise:

Case 1. If the face_geometry attribute of the advanced_face is of type surface_of_linear_extrusion having a swept_curve of B_spline_curve_with_knots. The advanced_face formed by linear sweep of B_spline_curve_with_knots ( ${\lambda(u)}$ ) is shown in Fig. 7(a). In Fig. 7(a), toolpaths are shown in dotted lines on this surface. The cutter data points on the tool path are calculated from the equation of ${\lambda(u)}$ and are extruded along the sweep to get multiple numbers of tool passes. The cross product of tangent ( $T_{u}$ ) and direction of linear extrusion ( $D_{l}$ ) gives the normal ( $N_{p}$ ) at particular point (P), which is used to indicate the axis of the tool for milling the surface.

Case 2. If the face_geometry attribute of the advanced_face is of type B_spline_surface_with_knots, the advanced_face formed by B_spline_surface_with_knots ( ${\sigma(u, v)}$ ) is shown in Fig. 7(b). The cutter data points on the surface are calculated from the equation of ${\sigma(u, v)}$ . The cross product of tangent ( $T_{u}$ ), along u direction and tangent ( $T_{v}$ ), along v direction gives the normal ( $N_{p}$ ), for representing tool axis direction.

Surface finish and accuracy are the major criteria for performing milling operation for B_spline surfaces. Tolerance on the toolpath curve (CC or CL) is an important factor for good finish of the machined surface. Scallop height and gouging effect should be minimized for obtaining a smooth surface, free from any tool marks. The calculated toolpath curves and tool axis consisting of data points as Cartesian_point are used for generation of STEP-NC codes in AP238 format using the following representation:

#1744=MACHINING_TOOLPATH (“Tool Path Number 1”, “cutter location trajectory”, “ ”, “ ”)

#1745=MACHINING_TOOLPATH_SEQU ENCE_RELATIONSHIP (“ ”, “ ” #1726, #1744, 1.0)

#1747=ACTION_PROPERTY (“basic curve”, “cutter location trajectory”, #1744)

#1748=ACTION_PROPERTY_REPRESENTATION (“ ”, “cutter location trajectory”, #1747, #1749)

#1749=REPRESENTATION (“ ”, (#1750), #1045)

#1750=POLYLINE (“basic curve”, (#1751, #1752))

#1751=CARTESIAN_POINT (“ ”, (–185.0, –10.0, 140.0))

#1752=CARTESIAN_POINT (“ ”, (–185.0, –10.0, 100.0))

#1757=ACTION_PROPERTY (“tool axis”, “milling”, #1744)

#1758=ACTION_PROPERTY_REPRESENTATION (“ ”, “ ”, #1757, #1759)

#1759=REPRESENTATION (“ ”, (#1760), #1045)

#1760=POLYLINE (“Tool Axis curve”, (#1761, #1762))

#1761=CARTESIAN_POINT (“ ”, (0.0, 0.0, 1.0))

#1762=CARTESIAN_POINT (“ ”, (0.0, 0.0, 1.0))

Following paragraph briefs the novelty of the present work in comparison with the recent existing work.

The methodologies developed by Shivakumar and Dhanalaxmi[24], Li et al.[25], Niu et al.[28] identified the features of cylindrical surface geometry and aircraft structural parts ribs, which are formed with planar surfaces and to some extent toroidal surface geometries. Identification of B-spline surface geometry features was not considered in their article. The output of the feature recognition systems discussed in the literature section was also not considered for representation as per the requirement of the downstream applications. Xu et al.[30], Zhang and Li[31], Harik et al.[32] and Zhang et al.[33] attempted to identify non-planar elementary surface features of basic shapes like cube, wedge, cylinder, cone and sphere and the approaches have not considered STEP format file. Their approaches could not present the feature data as per the data needed for the downstream applications, whereas the developed system in this article addresses the issues noticed in the literature section. The work also addressed the application of output information for toolpath generation of STEP NC. Section 7 gives the concluding remarks and future scope of the present work.

Download:
Fig. 6. Output screenshot of the developed system in Eclipse IDE with impeller as test case

Download:
Fig. 7. Two cases for generation of B-spline surface for advanced_face

7 Conclusions

A STEP-based feature recognition system is developed to recognize B-spline surface features and its subtypes from the 3D CAD models represented in STEP AP203 format. The working of the developed feature recognition system was demonstrated with realistic 3D CAD model (i.e., impeller of a compressor) having B-spline surface with knots modelled in pro-engineer solid modelling software. The developed feature recognition system successfully identified all 96 B-spline surfaces with knots features from the considered realistic 3D CAD model. The application of the identified feature information such as geometrical and topological information of B-spline surface features are discussed with reference to toolpath generation of STEP-NC (AP238). In the present work, the objects with voids (concealed voids) are not considered. Therefore, this work shall be extended to recognize the features from the solid models with voids.

References
[1]
E. A. Nasr, A. K. Kamrani. Computer-based Design and Manufacturing: An Information-based Approach, Boston, USA: Springer Science+Business Media, LLC, 2007.
[2]
Industrial Automation Systems and Integration – Product Data Representation and Exchange – Part 203: Application Protocol: Configuration Controlled 3D Design of Mechanical Parts and Assemblies, ISO 10303–203, 2011.
[3]
Industrial Automation Systems and Integration – Product Data Representation and Exchange – Part 242: Application Protocol: Managed Model-Based 3D Engineering, ISO 10303–242, 2014.
[4]
Industrial Automation Systems and Integration – Product Data Representation and Exchange – Part 224: Application Protocol: Mechanical Product Definition for Process Planning Using Machining Features, ISO 10303–224, 2006.
[5]
Industrial Automation Systems and Integration – Product Data Representation and Exchange – Part 238: Application Protocol: Application Interpreted Model for Computerized Numerical Controllers, ISO 10303–238, 2007.
[6]
S. Joshi, T. C. Chang. Graph-based heuristics for recognition of machined features from a 3D solid model. Computer-aided Design, vol.20, no.2, pp.58-66, 1988. DOI:10.1016/0010-4485(88)90050-4
[7]
S. Gao, J. J. Shah. Automatic recognition of interacting machining features based on minimal condition subgraph. Computer-aided Design, vol.30, no.9, pp.727-739, 1998. DOI:10.1016/S0010-4485(98)00033-5
[8]
S. Meeran, J. M. Taib. A generic approach to recognising isolated, nested and interacting features from 2D drawings. Computer-aided Design, vol.31, no.14, pp.891-910, 1999. DOI:10.1016/S0010-4485(99)00082-2
[9]
M. P. Bhandarkar, R. Nagi. STEP-based feature extraction from STEP geometry for agile manufacturing. Computers in Industry, vol.41, no.1, pp.3-24, 2000. DOI:10.1016/S0166-3615(99)00040-8
[10]
T. Dereli, H. Filiz. A note on the use of STEP for interfacing design to process planning. Computer-aided Design, vol.34, no.14, pp.1075-1085, 2002. DOI:10.1016/S0010-4485(01)00187-7
[11]
J. Gao, D. T. Zheng, N. Gindy. Extraction of machining features for CAD/CAM integration. International Journal of Advanced Manufacturing Technology, vol.24, no.7–8, pp.573-581, 2004. DOI:10.1007/s00170-003-1882-9
[12]
H. C. W. Lau, C. K. M. Lee, B. Jiang, I. K. Hui, K. F. Pun. Development of a computer-integrated system to support CAD to CAPP. International Journal of Advanced Manufacturing Technology, vol.26, no.9–10, pp.1032-1042, 2005. DOI:10.1007/s00170-004-2094-7
[13]
N. Ismail, N. A. Bakar, A. H. Juri. Recognition of cylindrical and conical features using edge boundary classification. International Journal of Machine Tools and Manufacture, vol.45, no.6, pp.649-655, 2005. DOI:10.1016/j.ijmachtools.2004.10.008
[14]
Y. Koda, I. Kanaya, K. Sato. Modeling real objects for Kansei-based shape retrieval. International Journal of Automation and Computing, vol.4, no.1, pp.14-17, 2007. DOI:10.1007/s11633-007-0014-7
[15]
A. Arivazhagan, N. K. Mehta, P. K. Jain. Development of a feature recognition module for tapered and curved base features. International Journal of Advanced Manufacturing Technology, vol.39, no.3–4, pp.319-332, 2008. DOI:10.1007/s00170-007-1212-8
[16]
B. Babic, N. Nesic, Z. Miljkovic. A review of automated feature recognition with rule-based pattern recognition. Computers in Industry, vol.59, no.4, pp.321-337, 2008. DOI:10.1016/j.compind.2007.09.001
[17]
R. S. Sankar, P. Asokan, G. Prabhaharan, A. V. Phani. A CAPP framework with optimized process parameters for rotational components. International Journal of Production Research, vol.46, no.20, pp.5561-5587, 2008. DOI:10.1080/00207540701288108
[18]
V. B. Sunil, S. S. Pande. Automatic recognition of features from freeform surface CAD models. Computer-aided Design, vol.40, no.4, pp.502-517, 2008. DOI:10.1016/j.cad.2008.01.006
[19]
V. Rameshbabu, M. S. Shunmugam. Hybrid feature recognition method for setup planning from STEP AP-203. Robotics and Computer-integrated Manufacturing, vol.25, no.2, pp.393-408, 2009. DOI:10.1016/j.rcim.2007.09.014
[20]
S. Nagarajan, N. V. Reddy. STEP-based automatic system for recognising design and manufacturing features. International Journal of Production Research, vol.48, no.1, pp.117-144, 2010. DOI:10.1080/00207540701855419
[21]
V. B. Sunil, R. Agarwal, S. S. Pande. An approach to recognize interacting features from B-rep CAD models of prismatic machined parts using a hybrid (graph and rule based) technique. Computers in Industry, vol.61, no.7, pp.686-701, 2010. DOI:10.1016/j.compind.2010.03.011
[22]
R. K. Gupta, B. Gurumoorthy. Automatic extraction of free-form surface features (FFSFs). Computer-aided Design, vol.44, no.2, pp.99-112, 2012. DOI:10.1016/j.cad.2011.09.012
[23]
R. S. Rao, B. Satyanarayana, M. M. M. Sarcar. Automated generation of NC part programs for turned parts based on 2D drawing image files. International Journal of Production Research, vol.50, no.12, pp.3470-3485, 2012. DOI:10.1080/00207543.2011.588620
[24]
S. Sivakumar, V. Dhanalakshmi. An approach towards the integration of CAD/CAM/CAI through STEP file using feature extraction for cylindrical parts. International Journal of Computer Integrated Manufacturing, vol.26, no.6, pp.561-570, 2013. DOI:10.1080/0951192X.2012.749527
[25]
Y. G. Li, W. Wang, X. Liu, Y. S. Ma. Definition and recognition of rib features in aircraft structural part. International Journal of Computer Integrated Manufacturing, vol.27, no.1, pp.1-19, 2014. DOI:10.1080/0951192X.2013.799784
[26]
E. S. A. Nasar, A. A. Khan, A. M. Alahmari, H. M. A. Hussein. A feature recognition system using geometric reasoning. In Proceedings of International Conference on Manufacture of Lightweight Components, Elsevier, Germany, vol.18, pp.238-243, 2014. DOI:10.1016/j.procir.2014.06.138
[27]
L. Zehtaban, O. Elazhary, D. Roller. A framework for similarity recognition of CAD models. Journal of Computational Design and Engineering, vol.3, no.3, pp.274-285, 2016. DOI:10.1016/j.jcde.2016.04.002
[28]
Z. B. Niu, R. R. Martin, M. Sabin, F. C. Langbein, H. Bucklow. Applying database optimization technologies to feature recognition in CAD. Computer-aided Design and Applications, vol.12, no.3, pp.373-382, 2015. DOI:10.1080/16864360.2014.981468
[29]
Z. H. Wang, Q. F. Song, H. M. Liu, Z. A. Huo. Absence importance and its application to feature detection and matching. International Journal of Automation and Computing, vol.13, no.5, pp.480-490, 2016. DOI:10.1007/s11633-015-0925-7
[30]
S. X. Xu, N. Anwer, C. Mehdi-Souzani. Machining feature recognition from in-process model of NC simulation. Computer-aided Design and Applications, vol.12, no.4, pp.383-392, 2015. DOI:10.1080/16864360.2014.997634
[31]
J. Zhang, Y. Li. Region segmentation and shape characterisation for tessellated CAD models. International Journal of Computer Integrated Manufacturing, vol.29, no.8, pp.907-915, 2016. DOI:10.1080/0951192X.2015.1130249
[32]
R. Harik, Y. Shi, S. Baek. Shape terra: Mechanical feature recognition based on a persistent heat signature. Computer-Aided Design and Applications, vol.14, no.2, pp.206-218, 2017. DOI:10.1080/16864360.2016.1223433
[33]
Y. Z. Zhang, X. F. Luo, B. Y. Zhang, S. H. Zhang. Semantic approach to the automatic recognition of machining features. International Journal of Advanced Manufacturing Technology, vol.89, no.1–4, pp.417-437, 2017. DOI:10.1007/s00170-016-9056-8
[34]
JSDAI. Java Standard Data Access Interface. [Online], Available: http://www.jsdai.net/, September 20, 2017.
[35]
STEP. STEP Tools, Inc. [Online], Available: http://www.steptools.com/products/stdev/, September 20, 2017.