To draw clearly defined lines on the surface of an object, one effective method would be to simply lay one or more 2D planes onto it's surface(s).
Add the first plane and -
Reduce it's thickness so it ends up as a very thin line.
Give it a material slot and colour it black, remove it's specular so it won't reflect light.
Add as many of these as you wish, (or duplicate the first) and drag them around as required
Once positioned correctly (a tad above the cube's surface), either parent or join them to the cube when animation is involved. (so they don't get left behind)
You could as an alternative subdivide the cube's surface to form the lines but that may introduce unnecessary complication at some point down the track. The planes on the other hand are independent and can be removed, reshaped, and changed about at will.
-=====-
The ico sphere was treated a little differently but again the 'lines' end up as a separate frame and is simply laid against the sphere.
The procedure -
Some ico surfaces are selected in Edit Mode, then duplicated.
The copied surfaces were (P) "Parted by selection" and moved to another layer to make it easier to work with.
In Edit mode these faces are all removed so we only have a wireframe. (2nd image)
The wireframe was duplicated and "Shrunk" (scaled down) enough to give us double edging. (this is where the lines' thickness is adjusted. Lines can be given their own indivual thickness if required)
Both edge-sets were "Joined" (CTL-J) and their vertices filled (F) at the ends so we get enclosed areas which can be filled in to form surfaces. These are all coloured black.
Combining the two layers give us the overlay picture. The frame is moved a tad out from the Ico's surface so we don't have surfaces conflicting and tearing each other.
Parenting the frame to the ico sphere is a good idea.