# How to avoid overlapping mesh lines ParametricPlot3D?

I have the following plot obtained using ParametricPlot3D:

obtained via the following code:

eq=r^4 \[Delta] U[r]+((-12.+1. r^2) (U')[r])/r+(12. -1. r^2) (U'')[r]+r (0.217447 r^3+(-9.+2. r^2) Derivative[3][U][r]+(5. r+1. r^3) Derivative[4][U][r]+3.75 Derivative[5][U][r]-3.875 r^2 Derivative[5][U][r]-3.75 r Derivative[6][U][r]-1.9375 r^3 Derivative[6][U][r]+1.875 r^2 Derivative[7][U][r]+0.9375 r^3 Derivative[8][U][r])==0;

bc1=0.00321641 +(U')[0.47619]+0.257819 Derivative[3][U][0.47619]+0.0443751 Derivative[6][U][0.47619]+0.0138672 Derivative[7][U][0.47619]==0.47619 (U'')[0.47619]+0.0473334 Derivative[4][U][0.47619]+0.195343 Derivative[5][U][0.47619];

bc2=12.0217 +0.212499 (U')[3.80952]+17.5963 Derivative[3][U][3.80952]+84.3103 Derivative[4][U][3.80952]+35.2175 Derivative[5][U][3.80952]-79.0409 Derivative[6][U][3.80952]-51.8301 Derivative[7][U][3.80952]==0.80952 (U'')[3.80952];

bc3=(U'')[0.47619]==Derivative[3][U][0.47619];

bc4=U''[3.80952]+Derivative[3][U][3.80952]==0;

bc5=U[3.80952]==0;

bc6=U'[3.80952]==0;

bc7=U[0.47619]==0;

bc8=U'[0.47619]==0;

sysNL=eq&&bc1&&bc2&&bc3&&bc4&&bc5&&bc6&&bc7&&bc8;

sL=ParametricNDSolve[sysNL,U,{r,0.47619,3.80952},{\[Delta]}];

listd=Table[i,{i,0.015,8.35,4}];

plL3D=ParametricPlot3D[Evaluate[Table[{r Cos[\[Theta]],r Sin[\[Theta]],(U[listd[[i]]][r]/.sL)},{i,1,Length[listd]}]],{r,0.47619,3.80952},{\[Theta],0,2Pi},PlotRange->{All,{0,4},All},BoxRatios->{1,1,1/2},PlotTheme->"Detailed",PlotPoints->200,MaxRecursion->6,Mesh->7]


As you can see, there are some annoying "extra" mesh lines on the upper surface probably caused by the overlap with the surfaces below. I have tried increasing the number of PlotPoints, but they won't seem to go away (actually when rotating the 3D plot they sometimes disappear while some others form). How can I avoid this unpleasant rendering?

• Please edit the question and include the complete Mathematica code to reproduce your plot. Otherwise, it is difficult to provide any useful solution. Commented May 30 at 14:54
• I have now edited the question including the code. Commented May 30 at 15:10

Try a different rendering engine:

Style[plL3D,
"RenderingOptions" -> {"Graphics3DRenderingEngine" -> "BSPTree"}]


You can also use the BaseStyle option in the plot command:

plL3D = ParametricPlot3D[
Evaluate[
Table[{r  Cos[\[Theta]],
r  Sin[\[Theta]], (U[listd[[i]]][r] /. sL)}, {i, 1,
Length[listd]}]], {r, 0.47619, 3.80952}, {\[Theta], 0, 2 Pi},
PlotRange -> {All, {0, 4}, All}, BoxRatios -> {1, 1, 1/2},
PlotTheme -> "Detailed", PlotPoints -> 200, MaxRecursion -> 6,
Mesh -> 7,
BaseStyle -> {"RenderingOptions" -> {"Graphics3DRenderingEngine" ->
"BSPTree"}}]

• Brilliant, thank you! :) Commented May 31 at 6:48