• Aucun résultat trouvé

STEP-NC based reverse engineering of in-process model of NC simulation

N/A
N/A
Protected

Academic year: 2021

Partager "STEP-NC based reverse engineering of in-process model of NC simulation"

Copied!
35
0
0

Texte intégral

(1)

HAL Id: hal-01363744

https://hal.archives-ouvertes.fr/hal-01363744

Submitted on 11 Sep 2016

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

STEP-NC based reverse engineering of in-process model

of NC simulation

Shixin Xú, Nabil Anwer, Charyar Mehdi-Souzani, Ramy Harik, Lihong Qiao

To cite this version:

(2)

STEP-NC Based Reverse Engineering of In-Process Model of NC Simulation

(3)
(4)

observation and actual needs. It mainly explains on approaches to IPM segmentation and then

recognition of manufacturing features (i.e. STEP-NC features). The remainder of the paper is organized as follows: Section 2

presents briefly the review of literature on mesh segmentation, feature

(5)
(6)
(7)
(8)
(9)
(10)

Therefore after repairing the model, in our case, we build a watertight polyhedral B-rep model, in which each triangle is built as an oriented face, and meanwhile the IPM data is corrected [2]. We adopt the half-edge data structure for the B-rep model. This procedure include elimination of offcut data, constructing/healing model topology, computing geometric values of the model and storing them to the extended attributes of the relevant entities (faces/edges/vertices). The pre-processed IPM can be saved as an alternative mesh file format, OFF, which is index based, and hence much smaller in size compared with the corresponding STL file. After finishing this step the IPM data has no duplicated vertices, no wrongly oriented normal vectors, no degenerated faces, no non-manifold entities, and no invalid face indices.

5. In-process model segmentation

In this section, a new segmentation method is developed to identify machining region from triangular meshes of the in-process model of NC Simulation. After the identification of sharp edges and grouping narrow triangles, then small regular triangles are also grouped. From these groups, region boundaries are identified. To recognize the surface types for the groups of small regular triangles, shape index based segmentation is applied. 5.1 Identification of sharp edges The edge-xity, which is a measure of an edge’s concavity/convexity, is used to decide whether an edge is an obviously sharp edge or not. For a shared edge of two surfaces, the edge-xity m is defined as (Fig. 5) [36]: m = (n1×n2)‧a1 (1)

Where, n1 , n2 are unit normal vectors of the two surfaces F1 and F2, a1 is their shared edge e’s direction,

represented as a unit vector.

a b

Fig. 5 Definition of the edge-xity: a) smooth model; b) discrete model

Here we suppose that if |m|≥ ε1 (Where ε1 is a small value, which can be adjusted by users.), then the

edge is considered as a sharp edge. This constraint corresponds to the dihedral angle of the two facets. For example, when ε1=0.5, it is equivalent to have a constraint on the dihedral angle between 30° and

(11)
(12)
(13)
(14)

within a tolerance, then mark vertex’s type as flat. This simple yet effective method bypasses curvature since curvature calculation needs normal vector information as well. The second step is to compute the curvatures. The principal curvatures and principal directions for 3D meshes are computed from the vertex’s neighborhood vertices [37-39]. The method adopted here is based on the work reported in [37], which was improved by adding weights to the discrete shape operator matrix and modifying neighbor region [2]. Special attention should be paid to vertices on the model boundary. The boundary is the intersection of adjacent surfaces, which implies that the geometric property of each vertex on a boundary should be calculated from its surrounding neighborhood within one surface. If the neighborhood vertices are chosen across the boundary, high deviation of the principal curvatures of the vertex would occur. To lower the deviation, the anisotropic neighborhood is advised here. Based on the coarse segmentation result, which has marked the region’s boundary edges, we choose the two-ring neighborhood triangles of a vertex exclusively within the region (whereas, for an inner vertex, choose only one-ring neighborhood triangles.), and therefore more accurate curvatures would be obtained. For example, in Fig.10, to compute the curvatures of vertex V, only the 7 neighboring vertices of V in the orange region are used, the other 4 vertices in the light orange region are not used. The first ring vertices are indicated by blue color, and the second ring vertices are indicated by light blue color. When there are scallop noises usually caused by a ball-end cutting tool machining in the IPM data, we can choose two or more neighborhood triangles of a vertex to compute the vertex’s curvatures. This can ease the disturbance of the scallops. Fig. 10 Neighborhood vertex selection for computing curvatures of a vertex on region boundary The third step is to compute the shape index value for the non-flat type vertices and classify them accordingly. Shape index, a single value for describing local shape, is selected as the mathematical basis for region segmentation [40]. The shape index, ranged [-1, 1], is calculated by the principal curvatures. Shape index is defined as: (2) Where, kmax and kmin are the maximum and minimum principal curvatures of a vertex, respectively.

(15)
(16)
(17)
(18)
(19)

a b c Fig. 14 Adjacency graph of a feature: a) a form feature; b) graph G; c) graph G+ (1) Passage. A passage has no bottom, and consists of a set of faces forming a wall. The wall faces are connected by concave or convex edges. A concave edge is the one whose edge-xity m<0; whereas a convex edge is the one whose edge-xity m>0. If there are convex edges, their number are generally less than the number of concave edges. A passage has the following properties (i or ii) (Fig. 15&16): i) The graph G+ is a cycle and G = G+;

ii) The graph G+ is one or several chains and graph G is a cycle.

(20)

Fig. 16 Another example of a passage: a) the passage; b) G; c) G+ a b Fig.17 STEP-NC passage features: a) thru holes; b) thru closed pocket (2) Depression. A depression has one access of entry and one bottom face connecting its wall faces via concave edges. It has the following properties (i and ii) (Fig.18):

i) Graph G+ has a vertex v whose degree deg(v) = λ(G+), where λ(G+) is the number of cocylcles (i.e.

(21)
(22)
(23)

Fig. 23. Flowchart of the feature extraction algorithm

6.3.2 Process of region borders

After region segmentation, most of region borders are smooth, but in the small regular triangle regions, there are some segments whose borders are jagged. To keep the topological relationship of mesh unchanged, we adopt the method in [44], to find the shortest path between two border vertices that are currently connected with jagged edges. In Fig. 24 the jagged border edges of segment S consist of e1-e2,

e3-e4. By searching the shortest path on the border, the alternative edges are found as e’1, e’3-e’4,

respectively.

Fig. 24 Region boundary smoothing

Generate region adjacency matrix

Identify bosses, profile features Identify blind holes/closed_pockets

Identify thru holes/closed_pockets Input: regions & shape types

End

Identify open pockets, slots, steps

Identify transition features

(24)
(25)
(26)
(27)

slot). The connected regions sharing the concave edges with the bottom is included as the side faces. The side face with the greatest dimension in the direction of the vector normal to the bottom is used to decide the pocket depth. Side regions are marked as recognized. Again search a region whose outer border has most number of connected concave edges, and repeat the operation. This region might be same as the one previously selected since there might exist several disconnected open pockets based on same face. Slot is regarded as a special pocket type under certain geometric constraints. The above operations have extracted blind open pockets. Among them there might exist such a slot whose one end is open and the other end is woodruffed, or radiused, or flat, as defined by ISO 14649 (Fig.21a). The specific slot type can be determined by checking the relevant geometric constraints. Note that slots with two ends being woodruffed/radiused/flat, or slots with loop end types, have already been extracted in 7.5 since they are in fact blind close pockets. The topology of a thru, open pockets is face chain connected by concave edges. So region chains connected by concave border edges are searched among unrecognized regions. These regions form the side faces of a thru, open pocket, and from them the open_boundary parameter can be inferred. This method can only extract automatically thru, open pockets whose side faces have concave edges. For those whose side faces without concave edges, user intervention is needed. Thru slots and steps (Fig.21a) are special thru, open pockets satisfying certain geometric constraints. A step feature is a volume of material removed from the top and the sides of the workpiece. A step has two planar faces defined by a V-profile, and connected by a concave edge. As for the thru slot, one common shape has a bottom face and two parallel side faces, connected by two concave edges. In the extracted thru, open pockets there might include some thru slots and/or steps. We can use these geometric characteristics to sort out thru slots and steps from the extracted thru, open pockets.

6.3.8 Extraction of transition features

ISO 14649 defines two types of transitions: chamfers and edge rounds. The rule for extracting chamfers is a chamfer’s geometric traits plus its manufacturing knowledge. A chamfer is always an outer chamfer, which means all its edges are convex, as only this can be generated in a separate machining operation. Its length/width ratio is high and it has the normal vector nor parallel or perpendicular to Z-axis of the part coordinate system in general. Checking these properties on unmarked planar regions, chamfers can be selected. The chamfer’s parameter angle_to_plane is the angle between one of its adjacent regions and the chamfer region usually with value of 45°or 30° from manufacturing point of view. Rounding/blending features including edge rounds are extracted here using a unique approach developed by the authors. Curvedness map of the model is first computed, and then unmarked regions with high curvedness are identified as rounding features. Curvedness is a positive value that specifies the amount or intensity of the surface curvature [40]. It is defined as: (7)

Where kmax and kmin are the maximum and minimum principal curvatures of a vertex, respectively.

(28)
(29)
(30)
(31)

Fig.32 Screenshot of the software for feature recognition of the test part (annotations added manually) A quantitative analysis to the reconstruction was performed. We chose some parameters from this part’s CAD model as a standard reference and compared them with the recovered ones by the proposed approach. Three features in the CAD model shown in Fig. 33 are selected for the comparison. From Table 1, we can see the recovered values are very close to those of the CAD model, especially for features placed horizontally or vertically. In column “Error” of Table 1, the error is computed as the distance of two positions; and for two vectors, the error is computed as their angle in radian. These errors are deemed to be resulted mainly from the simulation discretization, and not from the reverse approach.

Chamfer 13 RoundHole 1 CounterBoreHole 10

Pocket 14 Boss 1 of Planar face 17 Pocket 16 Boss 1 of Pocket 16 (spherical cap)

(32)

Fig. 33 CAD model of the test part Table 1: Quantitative comparison to the reconstruction

Features Checked values Values got from

CAD model Values got by RE of IPM The error Boss 1 of Pocket 16 Center (x,y,z) (-34, -16.5, 20) (-34.000, -16.501, 20.000) 0.001 Radius 16 16.000 0.000 Planar face 17 (nx,ny,nz)-normal vector (0, 0, 1) (0.000, 0.000, -1.000) 0.000 p- distance from origin to plane (xnx + yny + znz = p) 36 36.000 0.000

RoundHole 1 Axis vector (nx,ny,nz) (0,0.5,0.866) (0.000,0.498,0.867) 0.014 rad

(33)

pockets, etc.), and the model’s curvedness, a shape descriptor, is used to extract transition features and edge rounds. The recognition input data is the segmentation result-regions with their shape types. The output is STEP-NC features, including the feature types, their defining components, such as profiles, placements, scalar parameters.

The key advantage of our method comes from the adoption of the shape index derived from the two principal curvatures for mesh segmentation. Other curvature based methods usually use the Gaussian and mean curvatures, or the principal curvatures, or combination of them. Some problems of other methods are: size and local shape are coupled; rules to classify the local shape is complex; surface shape variation is hard to be shown by only one type of curvature in a color scale. Whereas, the shape index is scale invariant, and is quite consistent to the intuitively distinct shapes, which may facilitates a user interface design by this single parameter instead of two. Besides, parabolic curves on a surface can neatly be distinguished, but the Gaussian or mean curvatures cannot.

(34)
(35)

26. Rahmani, K. and Arezoo, B., “A hybrid hint-based and graph-based framework for recognition of inter acting milling features”, Computers in Industry, Vol. 58, No. 4, pp. 304-312, 2007. 27. Sundararajan, V. and Wright, P.K., “Volumetric feature recognition for machining components with fr ee from surfaces”, Computer-Aided Design, Vol. 36, pp. 11-25, 2004. 28. Geometric Ltd., http://feature.geometricglobal.com. 29. Sunil, B. and Pande, S., “Automatic recognition of features from freeform surface CAD models”, Com puter-Aided Design, Vol. 40, pp. 502–517, 2008. 30. Kiswanto G. and Azka M., “Automatic part primitive feature identification based on faceted models”, IJCSI Int. J. of Computer Science Issues, Vol. 9, Issue 5, No. 2, pp. 126-132, 2012.

31. Karunakaran, K. P. and R. Shringi. 2007. “Octree-to-BRep conversion for volumetric NC simulation”

Int J Adv Manuf Technol. 32:116-131

Références

Documents relatifs

Exemple : Dans un quadrilatère EFGH, quel est le sommet opposé au sommet E. Quelles sont

We write forbidding line for a line determined by two pebbles in the upper half that intersects all horizontal grid lines in the lower half of the unit square..

Pour démontrer que deux triangles sont semblables il suffit de démontrer que deux paires d’angles sont de même mesure. Car la somme des trois angles dans un triangle est égale

III Triangles semblables (rappel : deux triangles sont semblables quand l’un est l’image de l’autre dans une similitude c’est-à dire quand l’un est l’image de l’autre quand

Par contre, si les longueurs des côtés du triangle A’B’C' sont proportionnelles aux longueurs des côté du triangle ABC, les triangles ne sont pas nécessairement homothétiques

Remark 2.1: In the classic Pascal triangle the numbers at the given level n (starting with the zero level) represent the coefficients in the expansion of number (b + 1) n in the

Peux-tu construire un triangle dont les longueurs des côtés (dans la même unité) sont ces 3 nombres..

Peux-tu construire un triangle dont les longueurs des côtés (dans la même unité) sont ces 3 nombres..