I purchased a pair of Pyle PLMR24 speakers from Amazon a little over a year ago. Despite the blatant lies in the description - see my review for those here - the speakers sounded pretty good in my old pickup truck. Unfortunately, one of the speakers developed a bad connection that seems to be in the speaker itself. Rather than buy another set, I decided to use a set of speakers I had on hand - a pair of 3x5" oval speakers. Since they obviously weren't going to fit in the original faceplate, what else would a maker do? Design and print your own!
This should go without saying but... the photo with the white faceplate is the original, whereas the one with the black faceplate is the 3d printed version.
To get started, I had to take the old speakers apart and scan the original speaker box and the replacement speaker, face down, on a flat bed scanner at 300dpi. Those images were then imported into gimp and cropped to eliminate everything up to the very edge of the item. Looking under 'image properties', I wrote down the physical size of each image in millimeters.
In blender, I created two planes, making one the same size in millimeters as the image of the speaker and the other the same size as the box. Once a 'uv unwrap' was applied to each plane, I was able to insert each image onto it's respective plane.
Hiding the speaker image, I used 'bezier curves' to trace the inside and outside edge of the box. Once converted to a mesh, it was a simple matter of extruding details to recreate the new faceplate. Once I had the faceplate drawn, I unhid the speaker image and, again using 'bezier curves' to trace the outline, cut a hole for the new speaker to sit. Since the new speaker was larger than the original one, I had to be creative with the size and placement of my vent holes.
For the grill, I used a feature in blender called 'add honeycomb'. That took a little playing with, but the end results were amazing! I left a gap of 0.2mm between the edge of the grill and the faceplate, which results in a snug, friction fit.
From CAD to 3D
Once the CAD model was created, it was a simple matter of loading the STLs into the Cura slicer and sending the data to the 3d printer. I printed everything at a 0.3mm layer height, since it didn't have to be perfect. Even at that, it looks pretty good. The grill, printed face down on the bed, snaps into place with no trouble and holds pretty tight. The only post-processing I had to do was to remove a small amount of support material from the perimeter of the faceplate and to drill the speaker mounting holes out to 1/8" for a good fit for the original screws.