Geometric CAD Designs for 3D Printing
These are the results of transforming 4D cube math shapes into 3D CAD designs that output 3D printer files to print the 4D cube designs.
Development Steps
The 3D printing assembly line:
- Find or develop a graphic geometric image.
- Write a ChatGPT prompt to generate OpenSCAD code. For example:
OpenSCAD: 50mm × 50mm × 50mm × 50mm hypercube frame made of 3mm cylindrical rods using a Coxeter plane projection. - Debug and enhance the ChatGPT generated OpenSCAD code using an IDE and FreeCAD.
- Use FreeCAD to output an STL file.
- Load the STL file into the 3D printer's slicer application.
For example, UltiMaker Cura.
Have the application output the actual print file. - Use the slicer application output file to 3D print the design.
| Progression: | |||
|
4-cube 2D Coexeter
B4 projection |
I added 3D effect
of hidden lines | 3D CAD design | 3D print |
|
|
|
|
|
Click here for software setup instructions.
3D Printing
| CAD output STL file >> 3D printer slicer application >> 3D printer and printed. | |
| 3D printed dodecahedron | 3D printed 4D hypercube, 4-cube |
|
|
|
CAD output STL file
[view, download] |
CAD output STL file
[view, download] 3mm edges, under an 1/8 inch [view, download] 4mm edges, over an 1/8 inch |
| OpenSCAD code >> FreeCAD app or the OpenSCAD app | |
|
Dodecahedron which
is a 4-cube without internal edges. | 3D CAD of a 4D hypercube(4-cube) |
|
|
|
CAD Input: OpenSCAD source file:
[view,download]. |
CAD Input: OpenSCAD source file:
[view,download] 3mm edges, under an 1/8 inch [view,download] 4mm edges, over an 1/8 inch |
| Development view of FreeCAD app and OpenSCAD app | |
| FreeCAD app showing 4-cube. | OpenSCAD app showing 4-cube. |
|
|
Dimensional Sequential Designs
| Progression from 2D to 4D | ||
| 1) 2D square | 2) 3D cube | 3) 4D hypercube, 4-cube |
|
|
|
|
2D square OpenSCAD source file
[view,download] |
3D cube OpenSCAD source file
[view,download] |
4D cube OpenSCAD source file
[view,download] |
Geometry Shape to CAD Design
My steps from a 2D math shape, to the 3D CAD design of the Coxeter 4-cube plane projection.
Coxeter plane projections, B4 group 4-cube tesseract transformations:
1) The original 2D shape projected on a plane.
2) Making the 2D shape look like a 3D shape
by using dashed hidden lines and lighter color hidden vertices.
3) 3D CAD projection. In the OpenSCAD app, can spin around in 3D.
Wikipedia Coxeter plane article: The Coxeter plane is often used to draw diagrams of higher-dimensional polytopes and root systems. The 4-cube is a B4 Coxeter group.
A polytope is a geometric object with flat sides (faces). Polytopes are the generalization of three-dimensional polyhedra to any number of dimensions. Polytopes may exist in any general number of dimensions n as an n-dimensional polytope or n-polytope. For example, a two-dimensional polygon is a 2-polytope and a three-dimensional polyhedron is a 3-polytope. A 4-cube is a specific version of 4-polytope where the edges are all the same length.
Harold Scott MacDonald "Donald" Coxeter (British-Canadian 9 February 1907 – 2003) University of Cambridge (B.A. and Ph.D.) 60 years at the University of Toronto, Canada, was a geometer and mathematician. He was lifelong friends with M. C. Escher. Escher wrote that he was inspired to make his Limit series by a figure in Coxeter's article "Crystal Symmetry and its Generalizations". Donald Coxeter is regarded as one of the greatest geometers of the 20th century.
Science Literacy Week - Donald Coxeter and Geometry, Fields Institute.
| Rhombic Dodecahedron images | |||
|
Johannes Kepler
drawing
from his 1619 book: Harmonice Mundi | Drawn using SVG |
M.C. Escher
drawing
from his Stars print. | One of my CAD designs |
|
|
|
|
Traditional 4-Cube
Traditional 4-cube OpenSCAD. Formally, it's call a Schlegel diagram.
Traditional 4-cube,
OpenSCAD source file:
[view,download].
3D print file
[view,download].
I call this version of the 4-cube, "traditional" because it is the common view of a 4-cube. When searching images for "hypercube 3D printing", this is the version listed, no Coxeter 4-cube versions. My Coxeter 4-cube 3D print may very well be the first. My Coxeter 4-cube without hidden lines was the first I could find. I did find one other, who made a Coexeter 3D versions of the 2D Coxeter 4-cube.
Environment Setup
- Install FreeCAD.
- Install OpenSCAD. On a Mac computer:
$ brew install openscad - On a Mac computer, allow OpenSCAD to run on the computer:
System Settings > Privacy & Security, scroll to the Security section, and click "Open Anyway".
- Open/start FreeCAD.
- Click Empty file.
- Open "Part Design" selector, and select OpenSCAD. First time may need to, click Allow.
- Click the FreeCAD menu icon: OpenSCAD. This opens a place to enter OpenSCAD code.
- In ChatGPT, I made a request to generate OpenSCAD code.
Above, is sample OpenSCAD code to view, copy and paste, or download. - Copy and paste OpenSCAD code into FreeCAD.
- Click Add to run the OpenSCAD code which renders the object in FreeCAD.
Or, using OpenSCAD directly, double click a downloaded OpenSCAD file(extension: scad).
Or, open the OpenSCAD app and load the code into the editor.














