Real-Time Quality Meshing

Report 25 Downloads 33 Views
Real-Time Quality Meshing

© 2014 InnovMetric Software Inc. All rights reserved. Reproduction in part or in whole in any way without permission from InnovMetric Software is strictly prohibited except for the following explicit purpose: Authorized PolyWorks Distributors can reproduce this content in whole or in part for the purpose of training PolyWorks registered users. All resulting material must bear the following mention: “This content has been partially reproduced with permission from InnovMetric Software Inc. and such content is under © 2014 InnovMetric Software Inc.” The content of this document is furnished for informational use only, and is subject to change without notice. InnovMetric Software Inc. assumes no responsibility or liability for any errors or inaccuracies that may appear in this document.

InnovMetric Software Inc. 2014 Cyrille-Duquet, Suite 310 Québec, Québec, Canada G1N 4N6 Tel.: (418) 688-2061 Fax: (418) 688-3001

Contents 5 6

Real-time quality meshing The real-time quality meshing workflow

7 7 10

15 17

Obtaining a polygonal Data object by scanning Meshing point cloud data in real time while scanning Analyzing the quality of the digitized polygonal Data object using metrics High scanner-to-surface-normal angle Low scan density for mesh curvature High noise level Detect misaligned scan passes Enhancing the quality of the mesh Add new scans Delete scans and rescan Understanding the meshing parameters of scanned polygonal Data objects Smooth Reduce

19

Adding data to a polygonal Data object

20 20

Scanning polygonal Data objects in multiple device positions The real-time quality meshing workflow

21

Aligning polygonal Data objects to each other using surface information

23

Unifying polygonal Data objects

25

Using real-time quality meshing within a guided Play Inspection sequence

26

Meshing an IMAlign project

10 11 11 12 13 13 14 15

3

REAL-TIME QUALITY MESHING

Real-time quality meshing PolyWorks introduces a powerful new technology that allows meshing high-quality polygonal Data objects directly in IMInspect. Each scan pass, collected using a laser line scanning device and a digitizer plug-in, is meshed and merged, in real time, into the polygonal Data object consisting of all previous scan passes. Each incoming scan pass and the resulting mesh are analyzed, in real time, using quality metrics. These quality metrics highlight areas of low quality on the digitized polygonal Data object. They indicate areas where action is required to enhance the polygonal Data object and obtain a higher quality polygonal Data object. Once the scanning is complete and the quality issues have been resolved, the polygonal Data object must be finalized. This step consists of stitching the polygonal Data object and performing the smoothing and reduction operations.

5

REAL-TIME QUALITY MESHING

The real-time quality meshing workflow Here is the basic real-time quality meshing workflow, using a single device position:

Scan the part

Analyze the mesh

Enhance the mesh

Finalize the mesh

6

Scan:

Scan the surfaces of the part and add each scan pass to the mesh under construction. Creating a mesh while scanning is available for both the surface scanning and the surface and hole boundary scanning methods.

Analyze:

Analyze the quality of the mesh using quality metrics feedback.

Enhance:

Improve the quality of the mesh by adding new scans, deleting and rescanning an area of poor quality, removing the last scan pass, or rejecting misaligned scans.

Finalize:

Finalize the mesh to complete the polygonal Data object. The mesh is optimized by stitching, smoothing, and reducing.

REAL-TIME QUALITY MESHING

Obtaining a polygonal Data object by scanning The surfaces of a part can be scanned and each scan pass can be added to the mesh under construction. Creating a mesh while scanning allows obtaining optimal surface data quality and highlighting areas where data is missing.

Meshing point cloud data in real time while scanning Objective: Scan the surfaces of a part using a laser line scanner in IMInspect, automatically producing a polygonal Data object from scan passes in real time. Required:

A line scanning device is available and ready to use. The required plug-ins are loaded in IMInspect.

Steps 1. Choose Tools > Plug-ins > [choose a plug-in]. The plug-in dialog box opens. 2. Select the Surface scanning scan type. 3. In the Surface list, select (Create New) to create a new Data object or specify an existing Data object to which data will be added. See Adding data to a polygonal Data object. 4. Select the Polygonal model structure. 5. Specify the Name of the new Data object. 6. If required, click Options to set the different options for the specific device. The Surface Scan > Polygonal Models page contains default meshing parameters, such as smoothing and reducing. See Understanding the meshing parameters of scanned polygonal Data objects. The Surface Scan > Polygonal Models > Quality Metrics page allows configuring the real-time meshing quality metrics. See Analyzing the quality of the digitized polygonal Data object using metrics. 7. Click Start Scan. A scanning toolbar appears in the 3D scene providing quick access to the quality metrics.

7

REAL-TIME QUALITY MESHING 8. Analyze quality issues and enhance areas of low quality based on quality metrics. See Enhancing the quality of the mesh. 9. Click End Scan when the scanning is complete. 10. Click Finalize Mesh to complete the polygonal Data object. The mesh is automatically optimized by stitching, smoothing, and reducing.

Notes Scan passes All scan passes are added to the same Data object in the Tree View, scanned mesh 1 in this case. The number of acquired raw data points is displayed at the top left corner of the 3D scene. After the first scan pass is completed, it is automatically meshed.

Once meshed, each new scan pass is merged into the existing polygonal Data object. Overlapping areas are averaged and blended together. The Surface Scan > Polygonal Models page of the Line Scan Options dialog box offers the following Scan pass merging parameters: •

Max distance: Maximum distance between a scan pass and the polygonal Data object, beyond which the scan pass will not be considered for merging into the polygonal Data object.



Number of blending steps: Number of sampling steps over which the incoming scan pass is blended into the polygonal Data object.

To the right is an example of several scan passes, combined into a single mesh.

8

REAL-TIME QUALITY MESHING

Finalize the polygonal Data object Once scanning is completed, the mesh must be finalized. The seams that are left visible in the mesh under construction are automatically stitched to produce a high-quality mesh. Smoothing and reduction operations can also be performed based on the specified options. See Understanding the meshing parameters of scanned polygonal Data objects for more information. Before finalization

After finalization

Remove unwanted data To remove unwanted data points at any moment during scanning, use the interactive Element Selection mode. For example, remove data of the fixture holding the part. Choose Select > Elements > Interactively.

Results A polygonal Data object is added to the Tree View. All scan passes are added to one Data object.

A polygonal Data object is displayed in the 3D scene.

9

REAL-TIME QUALITY MESHING

Analyzing the quality of the digitized polygonal Data object using metrics When creating a polygonal Data object, the scan quality is monitored and low-quality areas are detected using four quality metrics. The first metric is computed before a scan pass is merged, in order to reject inadequate scan passes, while the three other metrics are computed in real time, on the scanned polygonal Data object, after each scan pass is merged with the previous passes. A new scanning toolbar, displayed at the bottom of the 3D scene when the scanning mode is launched, provides quick access to the three quality metrics that are computed directly on the polygonal Data object, and their associated parameters. Click the arrow to the right of the buttons to modify the default values for each quality metric. The activation state and the parameters for each quality metric can also be configured through the Surface Scan > Polygonal Models > Quality Metrics page of the Line Scan Options dialog box. All quality metrics can be enabled simultaneously. When a quality metric is activated, areas of the scanned polygonal Data object that are identified as problematic are highlighted on the polygonal Data object using a color specific to each metric. The four quality metrics are described in the following subsections:

High scanner-to-surface-normal angle The High scanner-to-surface-normal angle quality metric controls the angle between the digitizing vector (direction along which the laser light is projected) and the normal vector of the scanned surface. The best quality data is acquired when the laser is normal to the scanned surface. This quality metric is enabled by default and the default Max angle is 55º. When the angle between the digitizing vector and the surface normal vector is greater than 55º, the area is highlighted.

When new scan passes are added covering the same area with an acceptable angle, the highlighting is automatically removed.

10

REAL-TIME QUALITY MESHING

Low scan density for mesh curvature The local resolution of data points on a surface (or point-to-point distance) required to correctly digitize a local area depends on its curvature. In low-curvature areas, a low density of scanned data points is acceptable. If the curvature is high along one direction (fillet, cylinder, cone) or two directions (sphere), then a smaller resolution along one or two directions is needed. The Low scan density for mesh curvature quality metric identifies problematic areas by fitting local surfaces similar to CAD surfaces and then analyzing the mesh deviations. If the deviations are too large, the scanning issue is highlighted. This quality metric is enabled by default and the default Max deviation to surface value is 0.05 mm. To increase the density in areas of curvature, scan at a slower speed, keeping the laser line perpendicular to any fillet or sharp edge, to ensure that the laser line wraps fillets or radii when possible.

High noise level The High noise level quality metric detects high noise levels on scanned data, often resulting from specular reflection (shiny material), dark materials (less reflected light), or textured surfaces (output from machining). To evaluate the noise level of the scanned polygonal Data object, smooth surfaces are fitted on the Data object, and deviations are computed between the fitted surfaces and the polygonal Data object. Areas where the deviations are too important are then highlighted, according to the specified tolerance value. To enable this quality metric, click Noise Level on the scanning toolbar and specify a Tolerance value. The default value is 0.05 mm. Note that this quality metric is deactivated by default because its computational time is more important. It is recommended to activate this metric every few scan passes.

11

REAL-TIME QUALITY MESHING

Detect misaligned scan passes The Detect misaligned scan passes quality metric analyzes each scan pass as it is captured, before it is meshed into the polygonal Data object. Certain circumstances, such as incorrect arm calibration, part displacement, or temperature change, can cause the misalignment of incoming scan passes to become unacceptable, based on a specified Max average deviation. If a scan pass is misaligned, a message appears. Based on the scanning accuracy requirements, choose to delete or keep the scan pass. This quality metric is enabled by default and the default Max average deviation value is 0.15 mm. In the Behavior when misaligned list, select Confirm Pass Deletion if a user confirmation is required prior to deleting misaligned scan passes.

12

REAL-TIME QUALITY MESHING

Enhancing the quality of the mesh Once the issues have been identified using the quality metrics, the operator can rescan until the low-quality areas are no longer highlighted and the polygonal Data object meets the required quality criteria. This visual feedback ensures systematic high-quality measurements and reduces the variability of scanning results. According to the identified issues, up to four corrective actions can be taken.

Add new scans To improve the angle and curvature errors, rescan low-quality areas with improved technique. A high-quality scan is achieved by: • Scanning at a moderate speed. • Maintaining a good angle between the scanner and the surface. • Keeping the laser line perpendicular to any fillet or sharp edge. The new scans are integrated to the polygonal Data object under construction, and the metrics are updated. When the quality of the mesh reaches acceptable levels, the area is no longer highlighted.

Example An angle problem is detected.

Adding new scans solves the issue.

13

REAL-TIME QUALITY MESHING

Delete scans and rescan In some cases, the scanned data is beyond recovery. Enter the element selection mode within the context of real-time meshing to interactively select and delete any problematic areas. Choose Select > Elements > Interactively. Press the DELETE key to delete the problematic data. Rescan those areas by capturing high-quality scans.

Example Problem area caused by specular reflection.

Remove latest scans If the latest captured scan is of low quality, click the Undo Last Scan button on the scanning toolbar to delete it and rescan.

Reject misaligned scans Reject misaligned scans even before they are integrated to the polygonal Data object under construction. Click Delete Pass in the message that appears.

14

Area was deleted and rescanned.

REAL-TIME QUALITY MESHING

Understanding the meshing parameters of scanned polygonal Data objects IMInspect offers control over the creation of polygonal Data objects. As the part is scanned, meshing and scan pass merging parameters control the averaging and the blending of scan passes in real time. Once the polygonal Data object is created, stitching, smoothing and reduction operations are performed when finalizing the polygonal Data object. The default values for all meshing parameters are available in the Surface Scan > Polygonal Models page of the Line Scan Options dialog box. Click Options in the plug-ins interface to open the options dialog box.

Smooth Smoothing reduces noise in the scan by moving single vertices towards the location of surrounding neighboring vertices. The Smooth meshing parameter is enabled by default in the Surface Scan > Polygonal Models page of the Line Scan Options dialog box. •

The smoothing Level used when finalizing the polygonal Data object can be changed. Choose from High, Medium, Low, or Custom. By default, Low is specified.



For each level, a smoothing radius is applied, based on the specified sampling step.  If a Custom Level of smoothing is used, the Radius value can be modified. The radius specifies the area of the polygonal Data object considered when performing the smoothing on each of the Data object’s vertices. A larger radius increases the smoothing effects, and allows more noise reduction. The default radius value is 0.5 mm.



Select Constrain displacement and specify a Max displacement value to define maximum distance by which a vertex can be moved. The default value is 0.05 mm.



The Preserve features option prevents part features from being smoothed in high-curvature areas. This option is selected by default.

Once a scanned polygonal Data object is finalized, its measurement creation method is set to Scan, and the meshing parameters are available on the Measurement tab of its property sheet. Select the polygonal Data object in the Tree View, right-click and choose Properties to edit the smoothing properties.

15

REAL-TIME QUALITY MESHING

Results Before smoothing

After smoothing

Notes The following illustration shows the smoothing radius and the maximum displacement for a vertex of the polygonal Data object, and the result of the smoothing operation on a single vertex.

16

REAL-TIME QUALITY MESHING

Reduce An operation allows reducing the number of triangles in a polygonal Data object. Larger triangles define planar areas while smaller triangles define high-curvature areas. The Reduce meshing parameter is enabled by default in the Surface Scan > Polygonal Models page of the Line Scan Options dialog box. •

The reduce Level used when finalizing the polygonal Data object can be changed. Choose from High, Medium, Low, or Custom. By default, Low is specified.



By default, a tolerance-based reduction method is applied for each level, based on the specified sampling step. If a Custom Level is used, the Method can be modified. The following methods are offered: • Tolerance: The maximum distance between the polygonal Data object surface and the initial surface of the polygonal Data object after triangle reduction. A Tolerance must be specified. The default value is 0.005 mm. • Percentage of triangles: A percentage of the initial number of triangles to preserve. A Remaining percentage of triangles must be specified. The default value is 80%. • Number of triangles: A targeted number of triangles for the polygonal Data object. A Remaining number of triangles must be specified. The default value is 500000 triangles. The default custom level method is Tolerance.



The Constrain edge length option is selected by default. Specify the Max edge length by which triangles can be reduced. The default value is 2.0 mm.

Once a scanned polygonal Data object is finalized, its measurement creation method is set to Scan, and the meshing parameters are available on the Measurement tab of its property sheet. Select the polygonal Data object in the Tree View, right-click and choose Properties to edit the smoothing properties.

17

REAL-TIME QUALITY MESHING

Results Before reduction

18

After reduction

REAL-TIME QUALITY MESHING

Adding data to a polygonal Data object A common editing operation for Data objects consists in adding more data to an existing scanned polygonal Data object. It is also possible to create a polygonal Data object from data not acquired in IMInspect, such as an IMAlign project. Objective: Add data to an existing polygonal Data object acquired using a scanning plug-in. Required:

A polygonal Data object that was scanned and meshed directly in IMInspect and a scanning device ready to use and aligned to the Data object that will be modified.

Steps 1. Choose Tools > Plug-ins and choose a plug-in.

2. In the Surface list, select the Data object to which data will be added.

3. Click Start Scan and scan the required areas as described in Meshing point cloud data in real time while scanning. 4. Click End Scan to end the scanning session. 5. Click Finalize to complete the polygonal Data object under construction.

Results The Data object before adding new data.

The Data object after acquiring new data. Holes have been covered with new data.

19

REAL-TIME QUALITY MESHING

Scanning polygonal Data objects in multiple device positions Polygonal Data objects can be acquired in multiple device positions. Each object must have overlapping areas with respect to an adjacent object acquired in a different device position. Then, they can be aligned using the Best-fit Data to Data objects operation or using device position targets. Finally, the aligned polygonal Data objects must be unified into one polygonal Data object.

The real-time quality meshing workflow Scan and mesh in each device position

Align polygonal Data objects

Unify polygonal Data objects

Scan and mesh:

Create a scanned polygonal Data object in each device position.

Align:

Align each new scanned polygonal Data object to the Data objects from the previous device positions, using a best-fit alignment or device position targets.

Unify:

Create a new unified polygonal Data object from all of the previously aligned scanned polygonal Data objects.

20

REAL-TIME QUALITY MESHING

Aligning polygonal Data objects to each other using surface information When scanning a part, it is sometimes impossible to capture all of the surfaces without either changing the part position relative to the arm or moving the arm. This generates one polygonal Data object for each different setup used. It is possible to align these polygonal Data objects to one another using the shape of overlapping areas and best-fitting them together.

Objective: Align polygonal Data objects to one another. Required:

Two or more polygonal Data objects with sufficient overlapping data to guarantee a proper alignment.

Steps 1. Choose Align > Best-Fit > Data to Data Objects. The Best-Fit Data to Data Objects dialog box opens. 2. Specify a Name for the data alignment. 3. Select Pre-align using point pairs to perform an initial alignment. In the Polygonal data objects section: 4. Specify the Data objects to align. The polygonal Data objects must be in different alignment groups. 5. In the Fixed data objects list, specify Other Polygonal Data Objects. The Data objects are fixed in space for this alignment and will not move. 6. Specify the Max distance. The maximum distance is used by the best-fit alignment to find overlapping areas. 7. In the Subsampling list, select 1/1. Determines the fraction of the points used for calculating the best-fit alignment. In this case, it is recommended to use all of the points instead of the default 1/4 in order to refine the alignment, but the computing time is longer.

21

REAL-TIME QUALITY MESHING 8. Click Start. The Pre-Align using Point Pairs dialog box opens. 9. Move both the fixed Data object (left) and the Data object to align (right) to give them a similar orientation. This facilitates the picking of pairs of points.

10. Choose the N Point Pairs pre-alignment method. 11. Click Pick to enable an interactive picking mode.

12. Anchor matching points on both objects, using the same order. The points are displayed using the same color and the same number. A minimum of three pairs of points is required. Right-click to finish the operation.

3

1

2

3

1

2

The best-fit alignment is automatically performed after the pre-alignment. As the alignment converges to a solution, statistics are displayed in the Statistics section of the interface.

Results A best-fit data alignment is added to the alignment group of the Data object that was aligned.

22

The two polygonal Data objects are aligned in the 3D scene.

REAL-TIME QUALITY MESHING

Unifying polygonal Data objects When data is acquired using multiple device positions, one polygonal Data object per device position is created typically. Before inspecting the part, it is recommended to unify the polygonal Data objects into only one Data object. Objective: Unify polygonal Data objects into one object. Required:

Polygonal Data objects acquired using different device positions that are already aligned to each other.

Steps 1. Select the polygonal Data objects in the Tree View.

2. Choose Tools > Data Objects > Create Polygonal Data Object.

3. Specify a Name for the new polygonal Data object. 4. In the Method list, select From Scanned Polygonal Data Objects. 5. Specify Meshing parameters. From source objects is recommended. If Custom is selected, a Sampling step and a Max edge length must be specified. The sampling step determines the average distance between vertices. The smaller the step, the finer the details are in the resulting polygonal Data object. It is recommended to use the same step as the one used when scanning. The max edge length sets the maximum size for any triangle edge. A good approximation is ten times the sampling step, but always keep it smaller than the finest details on the polygonal Data object. Otherwise, details will lose definition. 6. In the Source polygonal data objects list area, select the polygonal Data objects to unify. When the objects are selected in the Tree View, their check box is automatically selected. 7. Click Create. 23

REAL-TIME QUALITY MESHING

Results A new polygonal Data object is created and added to the Data branch of the Tree View. Note that the chain icon overlay indicates that this polygonal Data object is dependent on the objects it was created from. If any of the other polygonal Data objects are modified, this new Data object is updated.

24

The new polygonal Data object is displayed in the 3D scene.

REAL-TIME QUALITY MESHING

Using real-time quality meshing within a guided Play Inspection sequence The real-time quality meshing technology, which allows users to create a mesh as the scan passes are acquired and get feedback about their scan quality, is completely integrated into the Play Inspection engine, making its many benefits available to users when inspecting multiple pieces. Objective: Use real-time quality meshing and the quality metrics during a guided Play Inspection sequence. Required:

A completed inspection project in which the polygonal Data objects are acquired using a digitizer plug-in.

Steps 1. Create a new piece. Choose Tools > Piece > New. 2. Fill in the piece properties and click Create. 3. The play inspection sequence is automatically launched. Start scanning the part when instructed. 4. Use the quality metrics during and after the scanning process to ensure producing a highquality scanned polygonal Data object. 5. After the scanning operation is over, the Play Inspection will continue to perform the required steps, asking for user input when needed, until the inspection process has been completed.

Results The inspection is completed and all objects are measured in the Tree View.

25

REAL-TIME QUALITY MESHING

Meshing an IMAlign project For cases where the data cannot be acquired through an IMInspect digitizing plug-in, or for cases where data has already been acquired through an IMAlign plug-in, it is possible to create a polygonal Data object from IMAlign projects. Objective: Create a polygonal Data object from an IMAlign project. Required:

An open IMInspect project.

Steps 1. Choose Tools > Data Objects > Create Polygonal Data Object. The Create Polygonal Data Object dialog box opens. 2. Specify the Name of the new polygonal Data object. 3. In the Method list, select From IMAlign Project. 4. Browse for your IMAlign project. 5. Specify a Sampling step. If Automatic is set, the sampling step calculated by IMAlign is used. For line scanners, the default value is 0.4 mm. 6. Click Create.

Results A new polygonal Data object is added to the Tree View under the Data branch.

26

The new polygonal Data object is displayed in the 3D scene.