Group Abstract Group Abstract

Message Boards Message Boards

0
|
12.8K Views
|
16 Replies
|
8 Total Likes
View groups...
Share
Share this post:

[?] Plot in 3D a X-zylo ?

Posted 8 years ago
POSTED BY: Donghwan Roh
16 Replies
Posted 8 years ago
POSTED BY: Donghwan Roh
Posted 8 years ago

Donghwan, I do not know how to control thickness value in plot option PlotTheme->"ThickSurface".

There may be other approaches if one wants to use Mathematica. See for example ImplicitRegion and ParametricRegion.

However if I myself wanted to construct a tightly controlled model to be 3D printed I would use a dedicated 3D CAD program. My own personal preference would be SolidWorks. But there are many other programs that could be used. In an earlier post you mention three of them.

Mathematica is not a 3D CAD program. It is something else.

POSTED BY: Hans Milton
Posted 8 years ago

Thank you Hans Milton! Your reply was really helpful^^ I can now try 3D printing above stl file! Now I have one more question. Can I adjust the thickness of the 3D model by PlotTheme->"ThickSurface"? For example thinner like 1mm thickness or thicker just at the base part? (and thin middle and Cos[6t] part)

POSTED BY: Donghwan Roh
Posted 8 years ago

Increasing the number of PlotPoints gives a smoother model. In the attached model the number of PlotPoints is 200. It has also been scaled by a factor of 50.

r[s_, a_, b_] := 1 + a Exp[-b s^2]
example =
    ParametricPlot3D[
    50 {r[s, .3, 10] Cos[t], r[s, .3, 10] Sin[t], s},
    {t, 0, 2 Pi}, {s, 0, 1 + 1/2 Cos[6 t]},
    PlotPoints -> 200, Mesh -> False, PlotTheme -> "ThickSurface"]

When opened in a CAD program:

enter image description here

Attachments:
POSTED BY: Hans Milton
Posted 8 years ago

To get a solid STL model from a Mathematica surface plot you could try to use the option PlotTheme -> "ThickSurface" in the plot.

enter image description here

Attachments:
POSTED BY: Hans Milton
POSTED BY: Hans Dolhaine
Posted 8 years ago
Attachments:
POSTED BY: Donghwan Roh

I don't understand what you mean by thickness of the base.

This perhaps?

r[s_, a_, b_] := 1 + a Exp[-b s^2]

ParametricPlot3D[{r[s, .3, 10] Cos[t], r[s, .3, 10] Sin[t], s}, 
{t, 0, 2 Pi}, {s, 0, 1 + 1/2 Cos[6 t]}, PlotPoints -> 50, 
PlotRange -> All, Mesh -> False]

Here is your cycloid, albeit it looks somewhat peculiar

cycl[a_] := Module[{},
  t = x /. FindRoot[a == x - Sin[x], {x, .1}];
  1 - Cos[t]
  ]

ParametricPlot3D[{r[s, .3, 10] Cos[t], r[s, .3, 10] Sin[t], 
  If[s < 1, s, 2 + cycl[5 t]]}, {t, 0, 2 Pi}, {s, 0, 2}, 
 PlotPoints -> 50, PlotRange -> All, Mesh -> False]

Another one. The cycloid is removend from the iterator and put in the vector- function

ParametricPlot3D[{Cos[t], Sin[t], If[s < 1, s, 2 + cycl[5 t]]}, {t, 0,
   2 Pi}, {s, 0, 2}, PlotPoints -> 50, PlotRange -> All, 
 Mesh -> False]

And some (simpler )thickness

rr[x_] := If[x < .5, 1.3, 1]

ParametricPlot3D[{rr[s] Cos[t], rr[s] Sin[t], 
If[s < 1, s, 2 + cycl[5 t]]}, {t, 0, 2 Pi}, {s, 0, 2}, 
PlotPoints -> 50, PlotRange -> All, Mesh -> False]

And last not least the "self-made one. Add a function of h in xx[ a, h ] to Sin and Cos to get some thickness

xx[a_, h_] := {Cos[a], Sin[a], Min[h, 1 + cycl[5 a]]}

pol[a_, h_, da_, dh_] := 
 Polygon[{xx[a, h], xx[a + da, h], xx[a + da, h + dh], xx[a, h + dh]}]

nda = 60; ndh = 20; ffh = .48;
da = 2 Pi/nda; dh = 5/ndh;
zylo = Table[{Hue[ffh n dh], 
    Table[pol[m da, n dh, da, dh], {m, 0, nda - 1}]}, {n, 0, ndh - 1}];
Graphics3D[zylo
 ]
POSTED BY: Hans Dolhaine
Posted 8 years ago
POSTED BY: Donghwan Roh
Posted 8 years ago

[?] Plot in 3D Cycloid curves on Zylo ??

POSTED BY: Donghwan Roh

Last remark concerning self-made zylos

xx[a_, h_] := {Cos[a], Sin[a], Min[h, 1 + Cos[5 a]/2]}
zz[a_, h_] := {Cos[a], Sin[a], Min[h, 1 + Cos[5 a]/2]}
pol[a_, h_, da_, dh_] := 
 Polygon[{xx[a, h], xx[a + da, h], zz[a + da, h + dh], zz[a, h + dh]}]

nda = 60; ndh = 20; ffh = .48;
da = 2 Pi/nda; dh = 2/ndh;
zylo = Table[{Hue[ffh n dh], 
    Table[pol[m da, n dh, da, dh], {m, 0, nda - 1}]}, {n, 0, ndh - 1}];
Graphics3D[zylo]

and

Animate[
 Graphics3D[Rotate[zylo, u, {0, 0, 1}]],
 {u, 0, 2 Pi}]
POSTED BY: Hans Dolhaine

Or we can do it for our own:

xx[a_] := {Cos[a], Sin[a], 0}
zz[a_] := {Cos[a], Sin[a], 1 + Cos[5 a]/2}
pol[a_, da_] := Polygon[{xx[a], xx[a + da], zz[a + da], zz[a]}]

da = 2 Pi/60;
Graphics3D[
 Table[{Hue[zz[a][[3]]], pol[a, da]}, {a, 0, 2 Pi - da, da}]]

or

pol1[a_, da_] := 
 Polygon[{xx[a], xx[a + da], zz[a + da], zz[a]}, 
  VertexColors -> {Red, Green, Blue}]

da = 2 Pi/60;
Graphics3D[Table[pol1[a, da], {a, 0, 2 Pi - da, da}]]
POSTED BY: Hans Dolhaine

Poor man's solution (so it was done long long ago):

execute

Do[
Print[ParametricPlot3D[{Cos[t], Sin[t], s}, {t, 0, 2 Pi}, {s, 0, 1 + 1/2 Cos[5 t + u]}, PlotPoints -> 50, 
PlotRange -> All,  Mesh -> False, ColorFunction -> Function[{x, y, z}, Hue[.75 z]]]],
{u, 0, 2 Pi, .3}]

Double click on the second bracket from the right. All plots below the 1st one should vanish, and the bracket should be highlighted (in blue). Then press ctrl-shift -y

POSTED BY: Hans Dolhaine

Both of these are nice als well

ParametricPlot3D[{Cos[t], Sin[t], s}, {t, 0, 2 Pi}, {s, 0,1 + 1/2 Cos[5 t]}, PlotPoints -> 50, PlotRange -> All, 
Mesh -> False, ColorFunction -> Function[{x, y, z}, Hue[.75 z]]]

and

Animate[
ParametricPlot3D[{Cos[t], Sin[t], s}, {t, 0, 2 Pi}, {s, 0, 1 + 1/2 Cos[5 t + u]}, PlotPoints -> 50, 
PlotRange -> All, Mesh -> False], {u, 0, 2 Pi, 0.1}]

But when I try to rotate the colored object my system crashes. What is going wrong?

Animate[
 ParametricPlot3D[{Cos[t], Sin[t], s}, {t, 0, 2 Pi}, {s, 0,  + 1/2 Cos[5 t + u]}, 
PlotPoints -> 50, PlotRange -> All, 
  Mesh -> False, ColorFunction -> Function[{x, y, z}, Hue[.75 z]]],
 {u, 0, 2 Pi, 0.1}]
POSTED BY: Hans Dolhaine

Try

ParametricPlot3D[{ Cos[t], Sin[t], s}, {t, 0, 2 Pi}, {s, 0, 1 + 1/2 Cos[5 t]}, 
PlotPoints -> 50, PlotRange -> All, Mesh -> False]
POSTED BY: Hans Dolhaine
Posted 8 years ago

ParametricPlot3D[{Cos[t],Sin[t],Sin[5t],{t,0,2Pi}] Primitive X-Zylo shape of top only

Then How can I make a cylinder below to make a full 3D printable X-zylo? Please give some Ideas!

POSTED BY: Donghwan Roh
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard