p=2;
q=3;

m=p/q;
m2=q/p;
f2[x_]:=
Piecewise[Flatten[Table[{{m (x-2π k/p) - π/(2q),2k π/p≤x≤(2k+1)π/p},{-m (x-2π k/p)+2π/q- π/(2q),(2k+1) π/p≤x≤(2k+2)π/p}},{k,0,p}],{1,2}]]
g2[x_]:=
Piecewise[Flatten[Table[{{m2 (x-2π k/q) - π/(2p),2k π/q≤x≤(2k+1)π/q},{-m2(x-2π k/q)+2π/p- π/(2p),(2k+1) π/q≤x≤(2k+2)π/q}},{k,0,q}],{1,2}]]

fi=FunctionInterpolation[f2[Mod[x,2π]],{x,-4π,4π}];
gi = FunctionInterpolation[g2[Mod[x,2π]],{x,-4π,4π}];

inside=((Abs[4/π γ])^4)gi[ β]+2π n/p;
outside=((Abs[4/π γ])^4)fi[ β]+2π n/q;

insidewashers=Table[SterProj@ZW[γ, β-π/(q 2),inside],{n,0,2}];
insideplot=ParametricPlot3D[insidewashers,{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Blue,PlotPoints->25];

outsidewashers=Table[SterProj@σ@ZW[γ, β-π/(p 2),outside],{n,0,4}];
outsideplot=ParametricPlot3D[outsidewashers,{γ,0,π/4},{β,0, 2π},MeshStyle->None,PlotStyle->Orange,PlotPoints->25];

torus = ParametricPlot3D[SterProj@ZW[π/4,α,β],{α,0,2π},{β,0,2π},PlotStyle->Opacity[0.2],MeshStyle->None,PlotRange->{{-3,3},{-3,3},{-3,3}},Axes->False,Boxed->False];

knot =ParametricPlot3D[RotationTransform[π/q,{0,0,1}]@SterProj@σ@ZW[π/4,  θ,-p/q θ],{θ,0,q 2π},PlotStyle->{Thick,Green}];

Show[torus,knot,insideplot,outsideplot]

inside/.n->0

ParametricPlot3D[inside/.n->0, {γ,0,π/4},{β,0,2π}]

insidewashers=Table[ComPolar[{r Exp[I (θ-π/(2p))], ((Abs[r Exp[I θ]])^4)f2[τArg[r Exp[I θ]]]+2π n/q}],{n,0,q}]//ComplexExpand;

washertest=ComPolar[{r Exp[I (θ-π/(2p))], ((Abs[r])^4)fi[ θ]+2π n/q}]/.n->0

ParametricPlot3D[washertest,{θ,0,2π},{r,0,1}]

Show[Plot3D[Table[((Abs[r])^4)fi[ θ]+2π n/p,{n,0,p}],{θ,0,2π},{r,0.5,1},Exclusions->None,PlotRange->{{0,2π},{0.5,1},{-2.5,2π+0.5}}],Plot3D[Table[((Abs[r])^4)gi[ θ]+2π n/q ,{n,0,q}],{θ,0,2π},{r,1,0.5},Exclusions->None,PlotRange->All]]

Plot3D[Table[((Abs[r])^4)gi[ θ]+2π n/q ,{n,0,q}],{θ,0,2π},{r,1,0.5},Exclusions->None,PlotRange->All]

Plot3D[Table[((Abs[r])^4)gi[ θ]+2π n/q ,{n,0,q}],{θ,0,2π},{r,0.5,1},Exclusions->None,PlotRange->All]

Plot3D[Table[((Abs[r])^4)fi[ θ]+2π n/q ,{n,0,q}],{θ,0,2π},{r,-0.5,-1},Exclusions->None,PlotRange->All]

ParametricPlot3D[Table[{θ,r,((Abs[r])^4)gi[ θ]+2π n/q },{n,0,3}],{θ,0,2π},{r,0,1},PlotRange->{{0,2π},{0,2},{0,2π}}]

ParametricPlot3D[Table[{θ,r,((Abs[r])^4)fi[ θ]+2π n/q },{n,-1,2}],{θ,0,2π},{r,0,1},PlotRange->{{0,2π},{0,2},{0,2π}}]

plotstuff=TranslationTransform[π/4{p,0,q}]@(RotationTransform[-π/2,{0,1,0},{π,1,π}]/@(RotationTransform[π,{0,0,1},{π,1,π}]/@Table[{θ,r,((Abs[r])^4)fi[ θ]+2π n/q},{n,0,q+1}]))//Simplify;

Show[
ParametricPlot3D[Table[{θ,r,((Abs[r])^4)gi[ θ]+2π n/p},{n,0,3}],{θ,0,2π},{r,0,1},PlotRange->{{0,2π},{0,2},{0,2π}}],ParametricPlot3D[plotstuff,{θ,0,4π},{r,0,1},PlotStyle->Blue],
ParametricPlot3D[{Mod[θ+π/2q,2π],1,Mod[q/p θ,2π]},{θ,0,p*q π-0.01},Exclusions->True,PlotStyle->{Thick,Green}]
]

ParametricPlot3D[plotstuff,{θ,0,2π},{r,0,1},PlotRange->All,AxesLabel->{θ,r,z}]

ParametricPlot3D[{Mod[θ,2π],Mod[p/q θ,2π],1},{θ,0,p*q π-0.01},Exclusions->True,PlotStyle->Green]