For this instructable you will need:
* a bicycle with a cargo rack
* a briefcase
* four bolts and nuts
* Threadlocker or split washer (Loctite, Titen, etc.)
* a steel plate (at least 1" x 5")
* access to a 3D printer
* a drill
Step 1: Resize and Print Two Hooks
I shared my design on Tinkercad. These hooks work on 10 mm diameter cargo rack rods. Resize the design proportionally to fit your bicycle rack. I printed them using PLA on a Printrbot Simple Metal, but ABS plastic will work as well. Make sure to print the parts in the orientation provided for maximum strength.
Step 2: Select and Prepare a Bag
I had an old briefcase lying around. Even though it was not made of genuine leather, it turned out to be sturdy enough.
Find a strip of steel (I had a scrap from an old filing cabinet).
Drill two holes in each hook.
Placing the hooks atop the strip of still, drill through these holes again to create matching holes in it.
Put a large scarp of wood inside the bag. Place the steel strip on top of the bag and using its holes as a guide, dril through the leather.
Take the scrap of wood out, put the steel strip inside the bag, hooks on the outside, put the machine screws through and tighten the nuts with some Loctite.
You are done!
Step 3: Things to Pay Attention To
On this picture you will see that my original design had the holes much higher, and further spread apart. As a result, the bag was sitting lower and was centered relative to the cargo rack. That design had one major flaw - the bag was sitting too close to the pedals - I literally could not pedal any more. Keep this in mind if you do this project.
You may think that because the bag is only attached at the top, it would be swinging left and right on bumps, but in fact, it stays solidly put all the time. Maybe the lower attachment point that I had to settle on ultimately, contributed to this stability.
In any case, I find this bag very convenient and I use it daily for my commute to the office as well as for bike rides on week-ends. I hope you like it as well and that you vote for it using the button in the upper-right corner!