AAT Logo

Blue Light Laser Sensor Integration and Point Cloud Metrology within the Manufacturing System

Ray Karadayi   
Applied Automation Technologies, Inc.
1688 Star Batt, Rochester Hills, MI, 48309 USA
Phone: 248-340-6934
ray.k@aat3d.com

ABSTRACT
Dimensional measurement has been used to as a part of a manufacturing system for many years and measurement and manufacturing systems are being brought ever closer to meet the current production requirements. While the shop floor measurement equipment could be used next to a manufacturing machine and its measurement data can be digitally interfaced to change some manufacturing parameters, machine tools themselves are also being utilized to do more and more of the dimensional measurement tasks. Touch probes can be found on most of the manufacturing systems which can be utilized to automatically perform dimensional measurement tasks. Several manufacturers are now introducing analog probes that can scan parts to collect fast and dense measurement data directly on the machine. This paper discusses integration of non-contact blue light laser sensors directly within the manufacturing system for fast data collection during the manufacturing process; using the point cloud generated from this sensor for measurement and metrology tasks and ultimately generating feedback to the manufacturing system to achieve adaptive manufacturing with point cloud metrology.

1.Introduction to On Machine Measurement:
Dimensional measurement on the machine tools has been used ever since parts are being made by automatic machining cycles. With the advancement of the machine tools, scales, controllers and software more advanced measurement routines are now possible to apply within the manufacturing machines. Bi-directional and fast interface capabilities already available on many of the machine tool controllers making it possible for a metrology software to be utilized directly on the machine to process the measurement data and calculate advanced geometrical and tolerance characteristics of parts as they are being made. Having this capability directly on the manufacturing machine opens up the possibility of using the metrology calculations as a feedback loop to perform important corrections within the manufacturing cycle. By strategically using measurement programs through the manufacturing process enables “adaptive manufacturing” resulting in improved part quality at much less total manufacturing cycle time. The need to process faster measurement and higher density data requires integration of non-contact sensors and powerful software that can handle such data while interfacing the machine.

2. Measurement Probes Used for Manufacturing Machines:
As the need to gather faster and more accurate data grows, new probes and non-contact sensors are being developed and integrated within the machining centers.

  • Kinematic Probes: Traditionally, kinematic probes have been used for simpler applications to measure a location or a size. Although these probes produce repeatable measurement for a unidirectional measurement such as measuring along X axis, their trigger points vary when measuring along other directions which are required for more complex shape measurements. This requires more time consuming calibration of the probe and presents challenges in using with a true on machine metrology application.
  • Strain Gage Probes: Strain gage probes provide very repeatable measurement data which can be used by a Coordinate Measurement Machine (CMM) style measurement program producing high accuracy metrology data within the manufacturing machine. However, the measurement rates are slow as the points are taken one point at a time
  • Analog Scanning Probes: Analog probes that can collect high density data by sweeping over the part surfaces has been used on CMMs for many years. Several manufacturers are developing analog probes for the manufacturing centers so that part measurement cycles can be reduced without having to sacrifice on the measurement accuracy. The Sprint probe shown in Figure 1 is an example of an analog probe used for in process measurements.
Analog Scanning Probe and Its Data Density Report
Figure 1. Analog Scanning Probe and Its Data Density Report
  • Non-Contact Sensors: Non-contact blue light laser sensors which is the primary focus of this paper are integrated within the manufacturing system to help collect even higher density data at shorter times. The recent surge especially in aerospace manufacturing helped fuel the innovation in integration of laser sensors for on machine quick data collection. Figure 2 shows an example of a laser integration on a 5 axis machining center used for composite manufacturing
Laser Sensor Integration and Its Point Cloud
Figure 2. Laser Sensor Integration and Its Point Cloud

3.Blue Light Line Scanning Laser:
A Keyence LJ-V7000 series blue light line laser is used as the measurement sensor within the machining center. These sensors are traditionally used to measure features that are moving in front of it while the sensor is stationary. Integrating such a device within the coordinate system of a 5 axis machine tool presents challenges that needs to be resolved.

Keyence LJ-V7000 series blue light laser
Figure 3. Keyence LJ-V7000 series blue light laser
  • Sensor mathematical model: At each trigger, the blue light sensor produces a number of points along a line in a coordinate system attached to the sensor frame. This coordinate system needs to be calibrated and data transformed to merge with the machine position.
Sensor coordinate system
Figure 4. Sensor coordinate system
  • Sensor point data: The point data gathered from the sensor model used is along a line with up to 800 points at each interface with 50 micron apart.
Close up of a sensor data
Figure 5. Close up of a sensor data
  • Sensor focal point: Sensor focal point is the point in the middle of the sensor active region. The machine tool is commanded to bring this point to the intended position during a program execution. This is also the point where all the sensor calibration offsets are calculated.
Sensor focal point
Figure 6. Sensor focal point
  • Physical attachment of the sensor: Blue light sensor is attached to the spindle of the machine by a specially designed bracket. This allows the sensor to be kept within the tool magazine of the machine for automatic loading and unloading.
Blue light sensor attachment to machine tool spindle
Figure 7. Blue light sensor attachment to machine tool spindle
  • Blue light laser tests on different materials: Tests have been performed to study the scan data quality of the generated point clouds for different materials. A number of materials and parts have been selected which would be for an on machine measurement application.
    • Shiny metal surfaces: Calibration and tooling balls that are not coated with non-reflective material has been used to test the data quality. Since these type of artifacts are used both for calibration as well as datuming spheres, point cloud quality has been tested and results were good as in the image below.
Scan data on a shiny calibration ball
Figure 8. Scan data on a shiny calibration ball
  • Shiny composite material: Both polished and rough composite material are intended parts to use blue light laser sensor. The quality of the data gathered on these parts were very good.
Scan data on a polished carbon fiber composite
Figure 9. Scan data on a polished carbon fiber composite
  • Plastic automotive part: As plastic injection mold parts are a good candiate for a non-contact scanning application, they have been tested with also good results.
Scan data on a black plastic part
Figure 10. Scan data on a black plastic part
  • Machined metal surface: Metal machined parts especially for aerospace engine components such as airfoils are also can benefit from non-contact scanning with blue light laser. This type of materials also resulted with very good and clean data which can be used for point cloud analsys.
Scan data on a metal part
Figure 11. Scan data on a metal part
  • Latching of data with machine tool: The laser system integration with the machine has to provide precise data latching between the machine position and the laser data. This is done by using a trigger signal from an external device and capturing the machine position and the laser data with time stamps. The two sets of data are merged into single coordinate system producing the point cloud of the surface scanned. This system allows a very fast and robust data capturing between the two separate systems and very easy to integtate to the machine tool controller as it uses existing I/O channels.
Blue light and machine tool controller data synchronization
Figure 12. Blue light and machine tool controller data synchronization

4. Machine Tool as a Coordinate Measurement Machine:
Machine tools can be used to perform complex dimensional measurement functions, much like the coordinate measuring machines by using a touch probe or a laser scanner. However, there are a number of factors that could change the machine tool characteristics and affect the quality of the measurement data. Unlike the coordinate measuring machines, machine tools are exposed to large forces during the manufacturing process. Their geometry could also change due to thermal effects as they are located at the shop floor and generate heat by the cutting process as well. In order to perform complex dimensional measurement functions on a machining center, certain procedures have to be put in place to assure the reliability of the dimensional measurements. These procedures help monitor these changes and adapt the system parameters to achieve measurement results within the specified uncertainty budgets.

  • Machine Tool Geometry: In order to perform on machine measurement on a machining center, its geometrical integrity must be monitored and a quick method has to be put in place to verify and re-calibrate it. Although machining centers are made to be very rigid in its structures, its geometry can change due to temperature fluctuations and large cutting forces applied. On a standard 3 axis machine, there could be 21 sources of geometry errors. Although these machines have periodic calibrations, to achieve best results for an adaptive manufacturing application, it is best to monitor and correct for these errors more frequently. Since a complete calibration of a machine tool can take a long time and would not be feasible, other quick and automated methods are adapted. Figure 13 shows examples of gages that are used for quick an automatic calibrations or verifications. Figure 13a shows a ball bar artifact which can be used to measure and verify ball bar distances and report linear and square-ness geometry errors. Figure 13b shows a simple gage which can be applied on a 5 axis table machine to calibrate the table center and rotation axes.
Ball Bar Gage
Figure13a. Ball Bar Gage Figure 13b. Machine Table Calibration
  • Sensor Calibrations: For an automatic in process measurement cycle, measurement sensors such as touch, analog or lasers are adapted and used by the machine tool very similar to a cutting tool. If a measurement feedback such as a coordinate system will be uploaded to the manufacturing system or multiple types of sensors such as a touch probe and a laser scanner used together, they all need to be calibrated not just to themselves but as a whole. For the blue light laser, a tool must be defined within the machine tool controller to identify it to the system. This definition can be done as a nominal definition defining the geometry of the tool and the actual calibrated values are held at the metrology software used for programming and analysis of the data. The following parameters are calculated from a calibration process and the measurement data are compensated during the program execution cycles are as below:
    • 1) Probe Runout: This determines the probe tip deviation from its center line. For the touch probe, this would be the offset of the center of the tip from the center line of the machine tool. For the blue light laser, this is the offset of the focal point of the laser beam from its nominal position.
    • 2) Effective radius: Since the trigger point received by the system has a delay, depending on the measurement velocity the probe radius would be smaller than its physical size. This value is used to compensate for probe radius during measurements. For blue light laser scanners, the sensor radius is assumed to have a zero radius.
    • 3) Lobing Errors: For kinematic touch probes, the point of trigger depends on the contact vector with the surface. This value is similar to effective radius except a different value is calculated for each approach vector. These values can be calibrated and used during the measurements by applying them based on the point’s normal vector.
    • 4) Head offsets: While utilizing a 5 axis head, the actual probe position is calculated and used as the correction value during measurement cycles. This would eliminate any errors due to head misalignments. For blue light lasers, this would be the offset of the sensors focal point from its nominal intended location.
    • 5) Sensor Attachment Coordinates: If a non-contact laser sensor is used which produces a number of points per measurement, its exact attachment coordinate system to the machine tool must be calculated and used as a part of the calibration. Any data received from the blue light laser would be transformed through this matrix before merging with the machine position.
  • Metrology Software: In order to perform the complex mathematical calculations required for the metrology based real time decision making, a powerful CMM software needs to be integrated within the manufacturing system. Since the system is expected to function by itself without a human interaction, it also needs to work autonomously within the manufacturing process. The following characteristics are required from a software to truly make a machine tool function similar to a CMM.
    • 1) Offline Programming: A CAM style programming environment with a good machine tool virtual model, simulation capabilities, automatic path generation with collision avoidance and complete geometrical fitting and tolerancing functionality is required. Programming languages such as DMIS (Dimensional Measurement Interface Standard) also allows to interface and collaborate with CMMs for efficient programming.
    • 2) Bi-Directional Interface: A direct and bi-directional interface is a must to be able analyze data in real time as soon as the measurement of a feature is completed. The calculated metrology characteristics are used as a part of the on the fly decision making and written back to the machine tool controller as a part of the adaptive cycle. The Figure 14 shows a block diagram of such a communication between the software and the machine tool controller.
    • 3) Ability to handle high density point cloud data: While interfacing with a laser to measure large parts, very large amount of data will be gathered. The software while having a live interface with the machine tool must also be able to handle the display and interaction with such data.
    • 4) Geometric Feature Extractions: For on machine geometrical feature measurements and GD&T applications, an automatic feature extraction is necessary. Most point cloud systems today are offline and need operator interaction to calculate the required features. An on machine measurement software that will interface a laser system should also have a robust automatic feature extraction capability.
    • 5) Ease of Operation: The measurement programs must be integrated into the machining center similar to any other cutting programs. This allows the programs to be integrated as a part of manufacturing cycles and can be automatically started by itself. A G-Code NC program is created by post processing the DMIS measurement program and resides in the controller. This program like any other cutting programs in controller native language is used as a part of the manufacturing cycle allowing multiple programs work along with the cutting programs.
Measurement Feedback for On Machine Tool Measurement
Figure 14. Measurement Feedback for On Machine Tool Measurement

5. Blue Light Laser Sensor Integration with the Machine Tool:
The laser sensor is used to create a point cloud by scanning a part and ultimately calculate metrology information about the part on the machine. Part of this information will be used to provide feedback to the machine tool controller so that the benefits of having an on machine measurement can immediately be applied to on manufacturing process. In order to achieve this goal, the laser sensor will have to be introduced into the system in relation to other tools and calibrated to other tools such as a drill bit or a water jet focal point.

  • Laser tool definition: A nominal mathematical model of the sensor is defined and entered into the machine tool controller as one of the tools. Once the calibration is performed, the actual tool data will be uploaded to the controller or can be held by the software.
Blue light laser offsets and directions
Figure 15. Blue light laser offsets and directions
Laser tool definition into controller
Figure 16. Laser tool definition into controller
  • Calculate laser sensor coordinate system: The relationship of the sensor coordinate frame to machine tool control coordinate system has to be calibrated. This is done by scanning a calibration ball at different sections. The software then fits this data to calculate the laser frame coordinate system.
Laser Head Alignment
  • Master ball measurement: The master ball that will be used for the calibration can be first measured by using a touch probe if one will be used together with the blue light laser sensor. Otherwise, it can be first measured by the laser sensor at the 0, 0 orientation of the head. Although having the master ball fixed within the machine center would allow automation of the whole calibration process, a master ball can also be put in a random location before starting the calibration process.
  • Calibrating multiple head orientations: The laser sensor attached by the spindle on the machine can be indexed to any orientation which the machine can move similar to a touch probe or the cutting tool. The head orientations that will be used in a program can be calibrated to achieve more accuracy. This is done by automatically generating programs based on the desired head positions and executing these programs automatically. A calibration program for all the head positions in a scanning program can also be created automatically to quickly calibrate these positions. Calibration process is an automatic and iterative process. Once a program is generated, this program is stored within the machine tool controller and can be run by the operator or as a part of a program sequence. Based on the calibration quality, software interacts with the controller and can iterate the process. Figure 18 shows the results of a calibration program.
Generating a calibration program from a grid
Figure 17. Generating a calibration program from a grid
Calibration offset reports
Figure 18. Calibration offset reports

6. Calibration Verification:
Once the sensor is installed and calibrated, a standard test similar to ISO 10360-5 can be performed to verify its calibration and calculate an uncertainty value for the whole system. For this test, a program is generated to measure a tooling ball by using the calibrated head orientations.

Examples of tooling ball measurement at different head orientations
Figure 19. Examples of tooling ball measurement at different head orientations
  • 1) A tooling ball is measured at the 0, 0 orientation and set as the origin.
  • 2) A program is created to measure the sphere for each of the calibrated angles. Typically, the following angles are used:
    • a. 0, 0
    • b. 0, 90
    • c. 45, 0
    • d. 45, 90
    • e. 45, -90
    • f. 45, 180
  • 3) The measurement results are then compared to determine the largest deviation.This test can be completed in less than 10 minutes and generate an uncertainity statement before running the actual measrement programs. Individual feature calculations are reported to determine the uncertainity. Final sphere calculation that uses all the point clouds from each head orientation can also be performed to get an accuracy statement of all the point cloud data scanned by different head positions. The following is an example of a report from this calculation:
Example Report

7. On machine part measurement with blue light laser:

  • 7.1 Scanning programs: A scanning program can be created offline by using a CAD model to create point cloud representation of surfaces. In case of scanning a trim line of a part that will be manufactured, a scanning program can be created directly from the cutting program. By scanning the surfaces along these trim lines, the exact shape of the part profile is created and can be used for further analysis.
Point cloud generated along a trim line of a component and a detailed view of a section
Figure 20. Point cloud generated along a trim line of a component and a detailed view of a section
  • 7.2 Curve extractions: After scanning a part, curves can be created from the point cloud in several ways. A 2D spline curve can be extracted automatically by specifying the section coordinates for an airfoil blade or for a mold being manufactured on a machine. Figure 21 shows a point clouds of a blade and sectional curves extracted from it. These curves can then be used to create best fit alignments, profile reports or calculate the airfoil parameters.
    Irregular curves extracted from an NC cutting program cutting path can also be dropped on to the point cloud to create the exact trimming line profile of a part. This data then can be used to correct the multi axis machine path to make sure the part is manufactured without requiring a long setup up process and avoid scraps. The Figure 22 shows a magnified error profile of a curve extracted from a point cloud of a composite aerospace component.
Curves extraction from point cloud of a blade
Figure 21. Curves extraction from point cloud of a blade
Profile error of a NC trimming path on a point cloud surface
Figure 22. Profile error of a NC trimming path on a point cloud surface
  • 7.3 Geometric feature extraction: Measurement of geometric features are necessary for both pre-process needs such as setting up a part coordinate frame before cutting and post-process to actually create a full dimensional inspection report of the part. Initial part setup could be by measuring a king and a queen pin on a composite part or datum spheres located around the part to create an alignment. These coordinate systems can then be used by the reposting process to adapt the cutting program to the part orientation or simply sent to the controller as a work offset. After the part is manufactured, a finished part can be scanned and its trim or edge profiles can be reported as a preprocess analysis. Any drilled holes can be extracted from the point cloud and their true positions can be reported along with any other GD&T call outs creating a final inspection report. Since unlike a manual or offline operation where an operator can interact with the software to perform these calculations, for the NC machine, these feature extractions are done automatically without any user interaction.

    The image below shows point clouds and extracted features from a NAS (National Aerospace Standard) part. In this example, first the three tooling balls are scanned and spheres are extracted. An alignment is created from these spheres to match the CAD model. The calculated alignment is uploaded to the controller as a work offset and the rest of the part is scanned. Ultimately, the all of the geometrical features are extracted and their dimensional reports are created.
Blue light measurement of a standard NAS part
Figure 23. Blue light measurement of a standard NAS part

The image below shows the polar form plot of one of the circles extracted as a result of this process.

Detailed profile report of an extracted circle
Figure 24. Detailed profile report of an extracted circle

The figure below shows the positional report of one of the circles extracted.

Position report of a circle extracted from the point cloud
Figure 25. Position report of a circle extracted from the point cloud

8. Adaptive Manufacturing with point cloud data
In order to achieve a self-adapting manufacturing process, dimensional measurement programs can be utilized at several different stages of the manufacturing cycle. During pre-processing, part location and orientation can be measured and used as a work offset to help part cutting, Part surface profile can be
measured before the final finishing process to calculate tool wear and offset correction parameters for specific surfaces. As post-process final inspection, a CMM like complete measurement program can be executed to generate a final metrology analysis of the finished product for final inspection reports and statistical trend analysis.
Manufacturing of large and non-rigid parts like most of the aerospace components presents challenges in many ways. Composite parts could be hard to fixture to produce a smooth cutting process. In addition to their large and usually non-rigid structures, these parts could also be deformed coming from the heat treatment process or distorted by the holding fixtures. Especially trimming a composite part with a water jet machine requires the profiles along the trimming lines to be within certain tolerance in order to have a smooth finish and even avoid a crash.
By using a blue light laser scanner, a process can be put in place to not only setup up and prepare the part easily for the cutting process but actually automate it so that it could be performed with minimum interaction with the operator.

  • 1) Scan datum balls to create a coordinate system. Tooling balls used for the part alignment are scanned and their spheres are extracted from the point cloud. These are used to create an alignment according to part setup requirement.
Tooling ball scanning and geometry extraction from point cloud
Figure 26. Tooling ball scanning and geometry extraction from point cloud
  • 2) Scan trimming and drilling paths as defined from the cutting program: Figure 22 shows an example of the magnified profile error over a cutting tool path.
  • 3) Apply re-posting to fit the cutting programs to part location and shape: The original cutting programs are processed through a reposting process and a new cutting program is generated. Once reposting is done, the regenerated cutting tool program be simulated for verification before running on the machine.
Simulation of a reposted program with the actual part orientation and shape
Figure 27. Simulation of a reposted program with the actual part orientation and shape

9. NC Program Reposting:
NC program reposting is the process of regenerating an NC cutting program based on the measured part orientation and part shape. This process takes a nominal cutting program as an input and applies the actual part information from the measurement results such as the point clouds generated by scanning a part. Figure 27 shows the process of reposting a cutting program.

Reposting Sequence
Figure 28. Reposting of a NC program code by using blue light laser data

A cutting program reposting helps for two problems during a manufacturing process.

  • 1) Adapting 5 Axis Parameters: A cutting tool location, usually the bottom of a cutting tool can easily be handled by applying a work offset within the controller for both part location and part rotation. However, when the tool orientation must match the actual part rotation, its G-Code program must be reposted to update the tool orientation as well. A grinding tool where the contact surface has to be at a precise orientation with the part or a water jet where the cutting vector must be precisely aligned are examples of this. Although some machine tool controllers can automatically adjust this orientation by using the work offset, in most cases this feature is not present or very difficult to use. NC program reposting for a 5 axis machine with a program using the A, B, C angles of the head or I, J, K vectors of the tool can recalculate these parameters maintaining the tool orientation with the part. Figure 29 shows a cutting path and head adapted to an actual part orientation.
Adapting tool vector and cutting path to measured part orientation
Figure 29. Adapting tool vector and cutting path to measured part orientation
  • 2) Adapting machine motion to part shape: Sheet metal and composite parts that needs to be trimmed may be out of its actual shape due to fixturing of its non-rigid structure or the heat treatment process. Part’s residual stresses also changes its profile after a portion is removed. Especially trimming of these parts with a water jet cutting takes a long time to prepare or causes part defects. By measuring the part profile and reposting the cutting program to the actual part shape provides a very quick and inexpensive method which can also be automated. Figure 30 shows how an intended straight cut is made to fit the actual part shape through this process.
Adapting machine motion to actual part shape
Figure 30. Adapting machine motion to actual part shape

10. Reverse engineering:
In some applications, reverse engineering of the actual part shape is necessary to create a custom cutting program. A part that needs to be reworked such as a repaired blade that needs to be finished on a 5 axis machine might require a custom cutting program. In this case, the measurement data such as the point clouds or extracted curves and geometrical features can be exported to a CAM system which can then create a custom cutting program for the parts exact location and shape.
For parts that had been repaired by welding material or parts being manufactured on an additive/subtractive machines, the actual welded or generated sections can be digitized and the actual curves exported to a CAM system which can create a custom fitting cutting tool path for the parts exact shape. Figure 31 shows an example of an airfoil repaired by welding and finished by a process like this.

An Airfoil finished after reverse engineering
Figure 31. An Airfoil finished after reverse engineering

11. Conclusions:
A blue light laser sensor can be installed on a machining center by directly loading it similar to a cutting tool. This integration is very quick and very low cost and it can be adapted to multi axis machining centers.
Having a point cloud metrology capability with a measurement software on an NC machine tool especially for large and non-rigid parts has great benefits.

  • 1) Reduce setup time and cost: By integrating a closed loop measurement system with a blue light laser on the machine, the setup up and preparation time is drastically reduced.
  • 2) Reduce setup costs: Dedicated expensive holding fixtures are not necessary as the part setting and program fitting is done by using the measurement data.
  • 3) Reduce dependency on external equipment: Having an on machine measurement capability both with the touch probe a blue light laser eliminates the need to bring external measurement equipment to the machine volume such as the laser trackers or portable arms or eliminates the need to move the part to an external measuring machine.
  • 4) Cutting program fitting: Using the point cloud data generated directly on the machine, cutting program can be reposted and adapted to the actual part location and shapes.
  • 5) Automated closed loop manufacturing: As the blue light sensor can be held within the machine tool magazine, measurement and cutting process can be automated with the exception of manually connecting a data interface cable
  • 6) Reduction on additional repair and scraps: Parts are manufactured adaptively by using the readily available metrology data which ends up reducing the scraps generated or the need to repair parts.
  • 7) Increase product quality: By measuring a part on the machine without having to remove it and adjusting machining parameters based on the measurement results allows to manufacture high precision parts. Knowing the part dimensional quality and metrological characteristics before removing it from the machine has great benefits and improves the overall performance of a manufacturing facility.
  • 8) Manufacturing system factory control: Adaptive measuring systems work with the machining center as a peer to peer secured interface but they are also on the network for measurement data collection and reporting. Measurement results from machines used in a manufacturing facility can be collected in a database and used to monitor the overall factory performance. Evaluating and comparing this kind of data allows better decision making and help plan for future manufacturing strategies.


In conclusion, today’s competitive manufacturing environment demands best performance, best quality at least costs. The state of the art machine tools and controllers enables integration of a blue light laser
sensor and a metrology software within the manufacturing system and is an important part of a modern manufacturing facility.

Applied Automation Technologies, Inc.,
1688 Star Batt Drive,
Rochester Hills, Michigan, 48309.
Telephone 248-656-4930
aat3d.com
IMTS Booth #135539 :Hall 3

For more information:
Ray Karadayi President ray.k@aat3d.com
Contact us to discuss your special needs and application:
sales@aat3d.com
1-248-613-6548

Our Clients