4
$\begingroup$

Alright, I got a my first 3D print done of a pseudosphere using parametric plot and a deflated sphere using a contour plot, but when I try

ParametricPlot3D[
    {Cos[v]*(3 - u) + .25*Sin[4 u], 
     Sin[v]*(3 - u) + .25 Sin[4 u], 
     u}, 
  {u, 6, 13}, {v, 6, 13},
  PlotStyle -> {Thickness[.3], FaceForm[Yellow, Blue]}, 
  PlotPoints -> {50, 50}, MaxRecursion -> 0, Mesh -> All] 

it gives an error about triangulation self-intersects. I do not have the exact error code because I'm not in charge of the MakerBot. It makes the first round and then stops.

I noticed that the estimated time was 50 times longer than it took for that first loop. Is there a way to fix that, and maybe a changing plotting order would be more machine friendly?

$\endgroup$
3
  • $\begingroup$ You mean something is wrong when you try to print it with MakerBot? $\endgroup$
    – xzczd
    Feb 17, 2014 at 7:07
  • $\begingroup$ Yes, please provide more details, especially the way you exported and post-processed the plot data. $\endgroup$
    – Yves Klett
    Feb 17, 2014 at 8:33
  • 2
    $\begingroup$ Closer inspection shows that your parametrization is generating a huge overlap which is most likely the reason for self-intersection. You need to choose v very carefully to generate a closed volume. $\endgroup$
    – Yves Klett
    Feb 17, 2014 at 9:03

1 Answer 1

10
$\begingroup$

I guess I know what you've encountered. The model doesn't print correctly though it looks OK in Mathematica, right? Specifically speaking, nothing seems to be wrong when you plot the object in Mathematica:

ParametricPlot3D[{Cos[v]*(3 - u) + .25*Sin[4 u], Sin[v]*(3 - u) + .25 Sin[4 u], u}, 
{u, 6, 13}, {v, 6, 13}, PlotStyle -> {Thickness[.3], FaceForm[Yellow, Blue]}, Mesh -> None]

enter image description here

(Notice I've changed the options a little to show that Mesh doesn't influence the quality of the object at all, while PlotPoints do influence the quality but it's not the main issue in this case. )

And it still looks good after you export the object to a STL file and open it with your MakerWare:

enter image description here

But you'll find it fragmented as soon as you export it to a X3G file if you select Preview before printing:

enter image description here

I encountered similar issue several days ago. The reason for this error is probably mentioned here, you can have a look. (To be honest, I myself haven't fully understand it 囧. ) And after some communication with Makerbot Support, I think I know how to fix it now.

The easiest tool is this one:

http://cloud.netfabb.com/

Just upload your STL file and it'll be repaired automatically. This tool seems to be enough for your model, according to the preview:

enter image description here

Another choice is the meshmixer:

http://www.meshmixer.com/

This tool is harder to use, and I don't know how to repair your model with it right now. (According to my test, Analysis -> Inspector -> Auto Repair All is enough for many cases, but sadly this doesn't work for your specific model. )

So long I haven't found a way to repair models with Mathematica only.


Edit 1

OK… Yves Klett has found the way to repair your model with Mathematica in the comment above: just change {v, 6, 13} to {v, 0, 2 Pi} and the defect in the preview disappears.


Edit 2

I've figured out how to fix the model with meshmixer. What you need is just Edit -> Make Solid -> (Modify the settings if you like) -> Accept:

enter image description here

This time I tried to print it:

enter image description here

……At least the defect disappeared.

$\endgroup$
5
  • 1
    $\begingroup$ Did you mean {v, 6, 13} to {v, 0, 2 Pi}? $\endgroup$
    – Yves Klett
    Feb 17, 2014 at 10:15
  • $\begingroup$ @YvesKlett Yeah, fixed, thanks for pointing out! $\endgroup$
    – xzczd
    Feb 17, 2014 at 10:16
  • 1
    $\begingroup$ Thanks for pointing out the actual values and the links for mesh repair. The whole area is still a minefield and repairing complex models sometimes a true horror. $\endgroup$
    – Yves Klett
    Feb 17, 2014 at 10:20
  • $\begingroup$ That is exactly good then. And yes, it is a nightmare. Engineering mathematics is a growing field, so I see hope. $\endgroup$
    – Teg
    Feb 17, 2014 at 11:18
  • $\begingroup$ @Teg Thanks for accepting, well, in fact you can wait for 24 hours or even more time before accepting an answer so your question may attract more and better answers :) $\endgroup$
    – xzczd
    Feb 17, 2014 at 11:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.