.PS
# hexagon.m4
#https://tex.stackexchange.com/questions/708149/how-to-draw-a-regular-rounded-corners-hexagons-with-tikz
gen_init
command "{\tiny"

 CI: circle thick 4 rad 5/8
 CO: circle rad CI.rad*1.35 at CI
 prad = CO.rad*4/5
 for i=1 to 6 do { P[i]: polygon(6,rad=prad;radv=CO.rad/10) \
    at CO+(Rect_(CO.rad*7/4,i*60-30))
   circle rad CI.rad*2/3 at P[i]
   }
 for i=1 to 6 do { ii = pmod(i,6)+1
   A: move from P[i]+(Rect_(prad,i*60)) to P[i]+(Rect_(prad,i*60+60))
   B: move from P[ii]+(Rect_(prad,i*60)) to P[ii]+(Rect_(prad,i*60-60))
   C: Intersect_(A,B)
   move to A.end; arcto(C,B,CO.rad/10); line to B.end
   }
 foreach_(`term',`r_text(eval((((m4Lx-1)*60+90)%180)-90),term,
     at CO+(Rect_(CO.rad*1.45,(m4Lx-1)*60)))',
  \sf NEUTRON,\sf ALNITAK,\sf ALNILAM,\sf MINTAKA,\sf PROTON,\sf ELECTRON)

command "}%"
.PE
