Frames of polygons and polyhedra​
​By Sándor Kabai
This is a summary of possible solutions (I found so far) to produce frames of polygons and polyhedra

Line

ico=GraphicsComplex[PolyhedronData["Icosahedron","VertexCoordinates"],Polygon[PolyhedronData["Icosahedron","FaceIndices"]]];​​icoline={AbsoluteThickness[4],GraphicsComplex[PolyhedronData["Icosahedron","VertexCoordinates"],Line[PolyhedronData["Icosahedron","EdgeIndices"]]]};​​Graphics3D[{icoline},SphericalRegionTrue,ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse]
Out[]=

Tube

icotube=GraphicsComplex[PolyhedronData["Icosahedron","VertexCoordinates"],Tube[PolyhedronData["Icosahedron","EdgeIndices"]]];​​Graphics3D[{icotube},SphericalRegionTrue,ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse]
Out[]=

Polygon -> Tube

icoptube=ico/.PolygonTube;​​Graphics3D[{icoptube},SphericalRegionTrue,ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse]
Out[]=

Cylinder

ico21=PolyhedronData["Icosahedron","Edges"];​​icov=PolyhedronData["Icosahedron","VertexCoordinates"];​​icocyl=Map[Cylinder[icov[[#]],0.03]&,ico21];​​Graphics3D[icocyl,SphericalRegionTrue,ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse]
Out[]=

Perforate

(*AnypolhedronuptoNo.214*)​​nn=214;​​(*Extentofperforationfrom0to1*)​​p1=0.3;​​base=PolyhedronData[PolyhedronData[][[nn]],"Faces"];​​ee=Normal[base]/.p:Polygon[__](p/.pts:{{_?NumericQ,_,_},__}Module[{cent,innervtx},cent=Mean[pts];​​innervtx={1-p1,p1}.{#,cent}&/@pts;​​Join[pts,pts[[{1}]],innervtx,innervtx[[{1}]]]])//#&;​​Graphics3D[{ee},BoxedFalse,ImageSize300,SphericalRegionTrue]
Out[]=

Polyhedra built from sratch, i.e. from faces

rh=GraphicsComplex[PolyhedronData["RhombicHexecontahedron","VertexCoordinates"],Polygon[PolyhedronData["RhombicHexecontahedron","FaceIndices"]]];​​rhn=Scale[Rotate[rh,0Pi,{0,0,1}],0.99];​​(*Extentofperforationfrom0to1*)​​rhperf=0.67;​​fi=GoldenRatio;​​alf=ArcTan[fi];​​bet=ArcTan[1/fi];​​bet1=ArcTan[1/fi^2];​​e=1/Sin[alf];​​vA={0,1,0};​​vB={1/fi,0,0};​​vC={0,-1,0};​​vD={-1/fi,0,0};​​ss1={vA,vB,vC,vD,vA};​​ss2=rhperf{vA,vB,vC,vD,vA};​​rr1=Polygon[ss1->ss2];​​rh1=Translate[rr1,{0,fi,1}];​​rh2=Translate[rr1,{0,-fi,1}];​​rh3=Translate[{rh1,rh2},{0,0,-2}];​​rh4=Rotate[Rotate[{rh1,rh2,rh3},Pi/2,{1,0,0}],Pi/2,{0,1,0}];​​rh5=Rotate[Rotate[{rh1,rh2,rh3},Pi/2,{0,1,0}],Pi/2,{1,0,0}];​​rhp=Table[Rotate[Rotate[{rh1,rh2,rh3,rh4,rh5},bet,{1,0,0}],i2Pi/5-Pi/2,{0,0,1}],{i,5}];​​rhp0=Scale[rhp,1/e];​​Graphics3D[{Red,rhn,Green,rhp0},BoxedFalse,ImageSize300,SphericalRegionTrue]

Round hole

Glow