• Models
  • Contests
  • Slicer
  • Login
  • Start Here
    thingiverse-iconprintables-iconcults3d-iconmakerworld-iconmyminifactory-icon

    3D GO

    3D ModelsContestsCollectionsSaved ModelsOn a mobile device?

3D GO

Privacy Policy
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 1
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 2
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 3
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 4
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 5
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 6
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 7
Customisable Klein bottle (OpenSCAD) 3D Printer File Image 8
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 1
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 2
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 3
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 4
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 5
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 6
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 7
Customisable Klein bottle (OpenSCAD) 3D Printer File Thumbnail 8

Customisable Klein bottle (OpenSCAD)

Gael Lafond avatarGael Lafond

August 22, 2022

printables-icon
DescriptionCommentsTags

Description

I saw this (quite old) challenge online: https://www.makerbot.com/media-center/2011/10/11/openscad-challenge-klein-bottle

I could not resist making my own! I'm perfectionist, I made it as perfect as I could.

I made it using bezier curves because that was a lot easier than trying to model the shape by removing "donnut" shapes around it (I could not see a neat solution to do this). Since there is no bezier functionality in OpenSCAD, I had to create my own, from an existing library found on thingiverse.

The bottle is easy to customise. I added 4 variables at the beginning of the files:

  • wallThickness
  • bottleHeight
  • bottleDiameter
  • tubeDiameter

The "precision" (number of polygons generated) is also configurable. I set it to 180 to generate the STL files. I might have exaggerated, the STL files are quite large!

I also uploaded a "cut" version to see inside the bottle. That one is for education purpose, and also to prove that I didn't "cheated".

Bezier library: http://www.thingiverse.com/thing:2170645

NOTE: The library is quite small, I uploaded it with the model for simplicity.

[2017-03-13] This model doesn't print well. I need to adjust the wall thickness and flatten the bottom. I will upload a version 2 very soon.

[2017-03-14] Uploaded v2 - Updated version of the library bezier.scad, thicker walls and flat bottom. The bottle body is now entirely made with bezier. I also fixed the "2-manifold" warning which was due to floating point noise. If you prefer the round bottom (as it was before), you can edit the file klein-bottle_v2.scad and change bottleBezier(true); to bottleBezier(false); in module bottle(). Hopefully it will be easier to print with these adjustments.

[2017-03-18] Today, I started experimenting with Slic3r. I discovered that my "floating point" correction was good to get rid of OpenSCAD warning, but made my STL unusable in Slic3r. I tried to use to "Fix STL file" function in Slic3r but it made it worse. I re-generated my version 2 without the floating point correction, and now it works nicely in Slic3r. Having a warning in OpenSCAD is better than having a STL file that can't be printed.

Printing

NOTE: Use version 2 for printing. The walls of the other version are too thin, the bottle is not waterproof.

I never printed it; I'm still waiting for my Prusa i3 MK2 printer. I'm very new with 3D printing and 3D modelling in general. Comments and suggestions are very welcomed.

[FIXED] When OpenSCAD render it for STL export, it complains that the object might need repair. I'm not sure what that means, I could not find information about how to fix this (if that even needs to be fixed). I will upload a fixed version if that causes any issues. Object may not be a valid 2-manifold and may need repair!

NOTE: The warning was due to the faces of 2 shapes mathematically touching, but not quite touching due to floating point imprecision (noise). I fixed the issue by increasing the length of the object by a very small amount, just enough to cover the floating point noise without altering the look of the shape.

NOTE2: The fix introduced issues that make the STL file unprintable with Slic3r (and probably most slicer programs). I reverted it to the mathematical solution, ignoring the warning in OpenSCAD.

According to those who printed it, no supports are required.

If you print it, I would love to know how it went.

Category: Math Art

License:

Creative Commons — Attribution

Related Models

V29 preview image

V29

jzisa profile image

jzisa

81,247

Draw-A-Cat! Stencil for Feline Design preview image

Draw-A-Cat! Stencil for Feline Design

Studio Meshco profile image

Studio Meshco

105

Dual Text Illusion v2.0 preview image

Dual Text Illusion v2.0

neverland forge profile image

neverland forge

1,265

Cute Mini Octopus preview image

Cute Mini Octopus

McGybeer profile image

McGybeer

75,637

Palestinian Map In Geometric Pattern Design - 2 Parts preview image

Palestinian Map In Geometric Pattern Design - 2 Parts

PALIprints3D profile image

PALIprints3D

20

STAND QRCODE/NFC CARD GOOGLE REVIEWS EDITABLE preview image

STAND QRCODE/NFC CARD GOOGLE REVIEWS EDITABLE

ARTIGIANO PAZZO profile image

ARTIGIANO PAZZO

1,633

Modular Mounting System preview image

Modular Mounting System

HeyVye profile image

HeyVye

69,059

Design for a pipe in two pieces - UPDATED AGAIN preview image

Design for a pipe in two pieces - UPDATED AGAIN

Fergy7 profile image

Fergy7

1