D.I.Y. Reverse Engineering. Part Three
07Dec10 by Matt Sinclair
The third post in this series looks at what is an inevitable feature of any product development process – the checking, correction and modification that occurs when the first prototypes are available. Even though I had reverse engineered an existing (i.e. previously ‘proven’) product this was still a stage I was expecting to have to go through; the inaccuracies in measuring together with the new tolerances introduced by the selective laser sintering (SLS) process meant it was highly unlikely that everything would fit first time. Even so, it was still a surprise to see how much my model differed from the original product.
Having created the Solidworks CAD model as described in the previous post, an .stl file was exported for each part so that SLS prototypes could be made. In common with most CAD software Solidworks allows you to tune the accuracy of the .stl file by adjusting the linear and angular tolerances. Playing around with these options resulted in some large variations in file size:
| Linear Tolerance (mm) | Angular Tolerance (degrees) | Number of Triangles | File Size (Mb)
|
| 0.025 | 5.0 | 1,206,957 | 9,711 |
| 0.015 | 5.0 | 1,908,258 | 17,398 |
| 0.025 | 2.5 | 4,027,601 | 32,690 |
| 0.015 | 1.0 | 21,407,422 | 167,857 |
If my aim in this research had been to create the most accurate file possible I would clearly have gone with the fourth option. However, in keeping with the original scenario what I’m aiming for is ‘good enough’, within the constraints I’m operating to. For that reason I went with the third option, reasoning that more people are likely to download the file if it’s significantly smaller. But I can also see that’s not a completely water-tight argument – it could also be reasoned that anyone likely to engage in this activity will probably have a fast broadband connection and not be too worried about the size of the file. This might be something I have to reconsider later in the research, although it would also be necessary to manufacture both files and see what the differences in quality actually are.
SLS parts of the mouse (click for larger image)
SLS base of the mouse, with the original pcb and laser light guide fitted (click for larger image)
The SLS parts were produced by Rapid 3D, a prototyping agency in the UK that I have used previously. Although not particularly clear from the above image, the three parts were all manufactured in different orientations (to optimise the surface quality); this was something determined by the agency. This orientation of what might otherwise be identical parts is a major reason for differences in mechanical performance in rapid prototyped / rapid manufactured parts, because the layer-by-layer build-up of material introduces a ‘grain’. In this instance it’s the surface quality which is most important for me, but in a situation where a certain mechanical property was critical, it would be necessary to pay careful attention to the way in which the ‘grain’ of the part lays.
The most obvious thing about the parts when I received them was that they didn’t fit together. And so a process of analysis and measuring began. First of all, I needed to know if problems were down to the model or the process, in other words how closely did the dimensions of the SLS parts match those of the CAD file. In a proper engineering process certain functional dimensions would have been determined in the design of the part ,and the checking of these against the real part would be an important part of a quality assurance program. Of course, in my haphazard way of proceeding I hadn’t done any of that (another lesson for next time), and so my checks basically involved looking at where the parts didn’t go together and then trying to determine why.
Basically what I found were four classes of error. The first I’ll simply call ‘mistakes’, and I’m happy to say I only found one of these. Along the inside of the bottom part there is a channel which the mouse cable sits in, which guides the cable under the pcb, around the back and into a connector. On the real part the width of this channel is 4.5mm, but I had modelled it as 3.5mm, which meant the cable did not fit. I’ve absolutely no idea how this happened, so I’ll just put it down to ‘one of those things’.
Measurement of the channel to guide the cable (click for larger image)
The second class of error is one of fit, where the mistake is in the original model. Again I only found one of these, though it was in a fairly important area, where the moveable surfaces which form the buttons click-fit onto the main body. I suppose this could be classed as a mistake, because it resulted from me not understanding exactly why the original part had been designed in the way that it had. But at the same time I deliberately changed the design, so it’s not the same kind of mistake as the first. Anyway, the result was that although the buttons did click into place (just), they then didn’t move. To rectify I made the holes slightly bigger and changed the design to more closely resemble the original part.

Original design for the mouse button pushers

Revised design for the mouse button pushers
The third type of error is also one of fit, but this time due to tolerancing rather than mistakes in the original CAD file. In general I had worked to a tolerance of 0.2mm where no friction fit was required. In specific areas this was often okay (though a bit tighter than ideal), but over the whole product it proved too demanding. For example, the top button cover fits to the main body by the click-fit buttons I just talked about, and by a screw tower at the back of the mouse. The screw tower of the button cover fitted the hole of the main body, and the snaps of the button cover also fitted their associated holes, but both were so tight that the cover couldn’t be made to fit in both places simultaneously. For this reason the general tolerance was changed to 0.4mm.
Measurement of screw tower (click for larger image)
Finally, by far the biggest source of error was something I have already mentioned a number of times: the inaccuracy of the images I was using to trace over. Whilst I’d managed to catch a lot of these, it was probably inevitable that a number would creep through to the final model. One of the biggest was in the distance between the guides which hold the scroll wheel and the switch on the pcb which is operated when the scroll wheel is pressed. On my modelled part the distance between these (shown in the image below) was 20.8mm, but in the actual product that dimension is 19.85mm. Whilst the switch just about operates, this 1.05mm discrepancy makes the tactile quality of the click very inferior. Knowing what I know now, I can’t stress how much effort it would have saved if I’d re-shot those photos when I had the chance.
Measurement of scroll wheel guide and switch (click for larger image)
Having measured, checked and modified the model, the obvious next step was to get new SLS parts made, which is what I am having done right now. Of course I am very much hoping that this time everything will fit. In some ways I am reasonably confident, perhaps because even with these early parts the pcb fitted into the main body quite well, with the scroll wheel sitting nicely in its guides. But my original intention was that the metric for deciding whether this exercise is a success would be whether any one of the original parts could be swapped for any one of my modelled parts. I’m now wondering if that’s going to be too ambitious. Maybe the best I will achieve is a working product, but one where the parts aren’t interchangeable with the original. At least at this first attempt.
POSTED IN: 04 New Design Processes, 05 Enabling End User Design, No Comments





