Here are some pics of the basic steps for the folding. First you need a clean folding pattern, make small bevels for the folding lines…then divide it to get some resolution for folding. For each folding I do a pre-folding step rotating the geometry only 90 degrees with a group including the polys in the bevel area. Then I rotate the rest another 90 degrees without the bevel polys! This step is done for every fold until the model is finished…you can simply link the rotations together and you have to fix a few topo glitches here and there. It gets really clean when it is rendered with subdivision surfaces then.