First a ring of ten rhombic hexecontahedra (RH) is created with tip-to-tip connections. Then such rings are interwoven in various configurations, so that they have common RH at the nodes.
In[]:=
fi=GoldenRatio;alf=ArcTan[fi];alf1=ArcTan[fi^2];bet=ArcTan[1/fi];bet1=ArcTan[1/fi^2];ϵ=bet-bet1;m=N[Sqrt[(2fi+1)^2+fi^2]/3];s=mCos[ϵ];d=s/Tan[2Pi/20];r=Sqrt[d^2+s^2];h=2mSin[ϵ];f=rSin[2Pi/10];g=rCos[2Pi/10];q=dSin[6Pi/20];ico=PolyhedronData["Icosahedron"][[1]];dod=PolyhedronData["Dodecahedron","Faces"];rh=PolyhedronData["RhombicHexecontahedron","Faces"];rhn=Rotate[Scale[rh,0.64],Pi,{0,0,1}];ico=rhn;dodn=Scale[dod,0.54];icon=Rotate[Scale[ico,1],Pi/2,{0,0,1}];icofl=Rotate[Rotate[ico,Pi/2,{0,0,1}],-Pi/2+bet+bet1,{1,0,0}];icoup=Translate[Rotate[icofl,Pi,{0,0,1}],{0,0,m}];icoup1=Translate[icofl,{0,0,2m}];s1=Rotate[Rotate[Translate[Rotate[icoup,Pi,{0,0,1}],{0,0,0}],-alf1-bet,{1,0,0}],2Pi/5,{0,0,1}];s2=Rotate[Rotate[Translate[Rotate[icoup1,Pi,{0,0,1}],{0,0,0}],-alf1-bet,{1,0,0}],2Pi/5,{0,0,1}];s3=Rotate[Rotate[Translate[Rotate[icoup,Pi,{0,0,1}],{0,0,0}],-alf1-bet,{1,0,0}],-2Pi/5,{0,0,1}];s5=Table[Rotate[{icon,Green,s3},i2Pi/5,{0,0,1}],{i,5}];r1=Table[Rotate[{Yellow,icon,RGBColor[0,1,1],s2},i2Pi/5,{0,0,1},{0,r,0}],{i,5}];r2=Rotate[r1,Pi,{1,0,0},{0,r,-0.27}];q1=Table[Rotate[{s5},i2Pi/5,{0,0,1},{0,r,0}],{i,5}];c1=Table[Rotate[r1,i2Pi/5,{0,0,1}],{i,5}];t0=Rotate[Rotate[r1,2Pi/5,{0,0,1}],0×2alf,{1,0,0},{0,0,0}];t1=Translate[r1,{2f,0,0}];t2=Translate[r1,{4f,0,0}];t3=Translate[r1,{6f,0,0}];t4=Translate[r1,{f,-r-g,0}];t5=Translate[r1,{3f,-r-g,0}];t6=Translate[r1,{5f,-r-g,0}];t7=Translate[r1,{f,r+g,0}];t8=Translate[r1,{3f,r+g,0}];t9=Translate[r1,{5f,r+g,0}];cent=Translate[r1,{0,-r,0}];Graphics3D[{cent},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]
Out[]=
In[]:=
Graphics3D[{t1,t2,t5,t8},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]
Out[]=
In[]:=
cent=Translate[r1,{0,-r,0}];h1=Translate[cent,{f,-r-g,0}];h2=Translate[cent,{f,r+g,0}];h3=Translate[cent,{2d+f,-r-g,0}];h4=Translate[cent,{2d+f,r+g,0}];h5=Translate[cent,{2d+2f,0,0}];Graphics3D[{cent,h1,h2,h3,h4,h5},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]
Out[]=
In[]:=
dis=d/Sin[2Pi/20];ten=Table[Rotate[Translate[Rotate[cent,iPi,{0,0,1}],{dis,0,0}],i2Pi/10,{0,0,1}],{i,10}];ten1=Rotate[Translate[Rotate[cent,0,{0,0,1}],{dis,0,0}],0,{0,0,1}];ten2=Rotate[Translate[Rotate[cent,-Pi,{0,0,1}],{dis,0,0}],2Pi/10,{0,0,1}];ten3=Rotate[Translate[Rotate[cent,-Pi0,{0,0,1}],{dis,0,0}],4Pi/10,{0,0,1}];h15=Table[Rotate[h1,i2Pi/5,{0,0,1}],{i,5}];hadd=Translate[cent,{-2d,0,0}];Graphics3D[{hadd,ten,cent,h1,h2},ViewPoint{0,0,100},ViewAngle0.01,BoxedFalse,SphericalRegionTrue]
Out[]=