Since E-H-J and G-H-F, angle EHF = angle GHJ = 80o. So the triangle EFH also has base angles of 80o, which makes it isosceles. Similarly, the triangle CBF is also isosceles, with base angles of 80o. The top angles must be 20o accordingly. Now, angle HFB = angle HFE + angle EFB = 20o + (180o - angle EFD) = 20o + 100o = 120o, which is the internal angle of a perfect hexagon.
Centering the compass at B, find the point M on the segment BA so that |BM| = |BC| (which is the set length of the compass). Consider the triangle MBF. Clearly |BM| = |BC| = |BF|, so it is isosceles, with top angle MBF = angle MBC - angle FBC = 80o - 20o = 60o. An isosceles triangle with a top angle of 60o is equilateral. It follows that M is the midpoint of the perfect hexagon with B,F,H as three of the corners. With a ruler, extend the lines BM-, FM-, and HM-. Using the compass centered at M, find the other three corners on those lines.