Sponsored
Sponsored
Implicit Solid Model - Thing 1 thingiverse

Implicit Solid Model - Thing 1

thingiverse weeksb 550318 Free

Modeled implicitly (the shape is completely described with an equation) via Mathematica using basic geometries and Boolean Operations.
The main shape is created with a Boolean Addition of a Mobius Strip to a Sphere.



Instructions
The model code used in Mathematica
Base code courtesy of Professor Mark Ganter
(Boolean Join)
join[f, g] := Min[f, g]
(Boolean Cut)
cut[f, g] := Max[f, -g]
(Translations)
transX [f, s] := f /. x -> (x - s)
transY [f, s] := f /. y -> (y - s)
transZ[f, s] := f /. z -> (z - s)
(Rotate)
rotateRZ[f, a] := f /. {x -> xCos[a] + ySin[a], y -> -xSin[a] + yCos[a]}
rotateZ[f, a] := rotateRZ[f, d2R[a]]
(Declaring a Primitive Geometry: Sphere)
sphere[rad_] := x^2 + y^2 + z^2 - rad^2
(Declaring a Primitive Geometry: Mobius strip - http://www.wolframalpha.com/input/?i=mobius+strip+Cartesian+equation)
mobius[a_] := -a^2 y - 2 a x z + x^2 y - 2 x^2 z + y^3 - 2 y^2 z +
y z^2
(Creating a geometry: muckabout3)
muckabout3 = cut[sphere[2.75], mobius[3]]
(Creating a geometry: trasn2rotatma3)
rotatemuckabout3 = rotateZ[muckabout3, 180]
transrotatema3 = transY[rotatemuckabout3, -0.5]
trans2rotatema3 = transX[transrotatema3, 0.5]
(Creating a geometry: trans2rotatma13)
transrotatema13 = transY[muckabout3, 0.5]
trans2rotatema13 = transX[transrotatema13, -0.5]
(Joining two geometries together)
joinedmuckabout3 = join[trans2rotatema13, trans2rotatema3]
(Creating a geometry: transrttma32)
muckabout32 = cut[sphere[6], mobius[3]]
rotatemuckabout32 = rotateZ[muckabout32, 180]
transrotatema32 = transX[rotatemuckabout32, 3]
transrtransma32 = transY[transrotatema32, 1]
transrttma32 = transZ[transrtransma32, -2.75]
(Joining two geometries together)
joinmuck3s = join[joinedmuckabout3, transrttma32]
(plot the model for a preview)
plt = ContourPlot3D[joinmuck3s == 0, {x, -10, 10}, {y, -10, 10}, {z, -10, 10}
(export your model as an STL file)
Export["ISMmodel1.stl", plt, "STL"]
The Resulting Equation
Max[-7.5625 + x^2 + y^2 + z^2, 9 y - x^2 y - y^3 + 6 x z + 2 x^2 z + 2 y^2 z - y z^2]
Max[-7.5625 + x^2 + y^2 + z^2, -9 y + x^2 y + y^3 - 6 x z + 2 x^2 z + 2 y^2 z + y z^2]
Max[-7.5625 + x^2 + (0.5 + y)^2 + z^2, -9 (0.5 + y) + x^2 (0.5 + y) + (0.5 + y)^3 - 6 x z + 2 x^2 z + 2 (0.5 + y)^2 z + (0.5 + y) z^2]
Max[-7.5625 + (-0.5 + x)^2 + (0.5 + y)^2 + z^2, -9 (0.5 + y) + (-0.5 + x)^2 (0.5 + y) + (0.5 + y)^3 - 6 (-0.5 + x) z + 2 (-0.5 + x)^2 z + 2 (0.5 + y)^2 z + (0.5 + y) z^2]
Max[-7.5625 + x^2 + (-0.5 + y)^2 + z^2, 9 (-0.5 + y) - x^2 (-0.5 + y) - (-0.5 + y)^3 + 6 x z + 2 x^2 z + 2 (-0.5 + y)^2 z - (-0.5 + y) z^2]
Max[-7.5625 + (0.5 + x)^2 + (-0.5 + y)^2 + z^2, 9 (-0.5 + y) - (0.5 + x)^2 (-0.5 + y) - (-0.5 + y)^3 + 6 (0.5 + x) z + 2 (0.5 + x)^2 z + 2 (-0.5 + y)^2 z - (-0.5 + y) z^2]
Min[Max[-7.5625 + (0.5 + x)^2 + (-0.5 + y)^2 + z^2, 9 (-0.5 + y) - (0.5 + x)^2 (-0.5 + y) - (-0.5 + y)^3 + 6 (0.5 + x) z + 2 (0.5 + x)^2 z + 2 (-0.5 + y)^2 z - (-0.5 + y) z^2], Max[-7.5625 + (-0.5 + x)^2 + (0.5 + y)^2 + z^2, -9 (0.5 + y) + (-0.5 + x)^2 (0.5 + y) + (0.5 + y)^3 - 6 (-0.5 + x) z + 2 (-0.5 + x)^2 z + 2 (0.5 + y)^2 z + (0.5 + y) z^2]]
Max[-36 + x^2 + y^2 + z^2, 9 y - x^2 y - y^3 + 6 x z + 2 x^2 z + 2 y^2 z - y z^2]
Max[-36 + x^2 + y^2 + z^2, -9 y + x^2 y + y^3 - 6 x z + 2 x^2 z + 2 y^2 z + y z^2]
Max[-36 + (-3 + x)^2 + y^2 + z^2, -9 y + (-3 + x)^2 y + y^3 - 6 (-3 + x) z + 2 (-3 + x)^2 z + 2 y^2 z + y z^2]
Max[-36 + (-3 + x)^2 + (-1 + y)^2 + z^2, -9 (-1 + y) + (-3 + x)^2 (-1 + y) + (-1 + y)^3 - 6 (-3 + x) z + 2 (-3 + x)^2 z + 2 (-1 + y)^2 z + (-1 + y) z^2]
Max[-36 + (-3 + x)^2 + (-1 + y)^2 + (2.75 + z)^2, -9 (-1 + y) + (-3 + x)^2 (-1 + y) + (-1 + y)^3 - 6 (-3 + x) (2.75 + z) + 2 (-3 + x)^2 (2.75 + z) + 2 (-1 + y)^2 (2.75 + z) + (-1 + y) (2.75 + z)^2]
Min[Max[-7.5625 + (0.5 + x)^2 + (-0.5 + y)^2 + z^2, 9 (-0.5 + y) - (0.5 + x)^2 (-0.5 + y) - (-0.5 + y)^3 + 6 (0.5 + x) z + 2 (0.5 + x)^2 z + 2 (-0.5 + y)^2 z - (-0.5 + y) z^2], Max[-7.5625 + (-0.5 + x)^2 + (0.5 + y)^2 + z^2, -9 (0.5 + y) + (-0.5 + x)^2 (0.5 + y) + (0.5 + y)^3 - 6 (-0.5 + x) z + 2 (-0.5 + x)^2 z + 2 (0.5 + y)^2 z + (0.5 + y) z^2], Max[-36 + (-3 + x)^2 + (-1 + y)^2 + (2.75 + z)^2, -9 (-1 + y) + (-3 + x)^2 (-1 + y) + (-1 + y)^3 - 6 (-3 + x) (2.75 + z) + 2 (-3 + x)^2 (2.75 + z) + 2 (-1 + y)^2 (2.75 + z) + (-1 + y) (2.75 + z)^2]]

View on thingiverse

Direct link to the original creator's page

Platform thingiverse
Creator weeksb
Price Free
Format STL / 3D Printable
License See original page
Also on cgtrader
Sponsored
Sponsored
How do I download Implicit Solid Model - Thing 1?

Click the "View on thingiverse" button above to visit the original model page on thingiverse. You can download the STL file directly from the creator's page for free.

What 3D printer can I use for this model?

This STL file is compatible with most FDM 3D printers (Creality Ender 3, Prusa MK3S+, Bambu Lab, etc.) and resin printers (Elegoo, Anycubic). Check the original page for recommended print settings and materials.

Is this 3D model free to download?

Yes, this model is available as a free download on thingiverse. Some creators accept tips or donations.

Can I modify this STL file?

Most STL files can be modified using free software like Blender, TinkerCAD, or Meshmixer. Check the license on the original thingiverse page to see if modifications are permitted by the creator.