The Hexagonal Fractal

Adjustments.jpeg

The completed model above does little justice to the effort and discovery which were required. The study was undertaken as a means of further mixing disciplines and integrating exponential design into a 3D printed model. Here’s what we learned:

  • a foundation in fractals

  • ABS rigidity/stability

  • Z-hop of the nozzle

  • more on proper fusion

Fractals

Before starting research for this project, I didn’t know too much about fractals. What I did know is that they are in nature, they’re a pretty recent mathematic discovery, and that they looked cool.

Sitting down to code/print this, I realized that I had no idea how to write this program. Previously, most geometry is based on the object construction and the easy part is the iteration. With a fractal, the object is unimportant; the function of recursion is the extreme part here. I quickly realized that you’re effectively telling your computer to execute infinite loops at an exponential rate rather than in a limited amount or a linear rate.

To avoid frying my hard drive, I capped recursions at four (4). This is apparent in the model: there is one big hexagon comprised of 12 medium hexagons which are each comprised of 12 smaller hexagons which are comprised of 12 tiny hexagons (invisible on the photo above; visible in the photo below).

Here’s some more cool facts about fractals:

  • Fractals are found at every scale. These patterns are curiously everywhere, from celestial bodies to the curve of a snail shell to the patterns on leaves, to cell structure. It doesn’t matter the physical size or purpose of the data set.

  • Fractals are the ultimate storage device. A fractal has an infinite perimeter but a finite area. This means that we can guarantee how much space a fractal (in any dimension) will take up, but we can cram as many copies as we want into that area. Most of this storage space is currently within atoms, spanning the area between the nucleus and the cell wall. Tapping into this theoretically infinite space would be an incredible resource, though a mastery of atomic structure is necessary to deal with the problem of diminishing size with each recursion.

Wall and ceiling depth

During the design process, certain dimensions and parameters are set by the designer (me) which defines the shape of the structure. Since gravitational force is a major player here, lots of considerations are factored to ensure that the structure will be solid when complete. A failure to plan for ample support structures will result in cave-ins within the model. When printing complex internal structures, this can prove catastrophic.

This poses a problem for models which utilize fractals fo generate structures, or models which have any kind of non-limited fractal-based features.

Within this hexagonal fractal with increasingly smaller iterations, the importance of deliberate planning for the construction of these structures becomes a critical issue. Fortunately this program includes a limitation on the number of iterations possible, thus giving us a complexity bench mark to shoot for.

Within this structure, walls were limited to a width of 1.2mm. Since the width of my nozzle is .2mm, this will yield a wall stability factor of 6. (1.2mm/.2mm = the wall is 6 layers wide) Ceilings were limited to .6mm, giving it a ceiling stability factor of 3.

The characteristic of a 3D fractal to possess infinite surface area within a limited volume limits the process of 3D printing fractal design to the number of recursions where the width/depth of any feature is equivalent to the detail of the print head (typical hobbyists use a .4mm nozzle). A much more complicated and succinct equation exists which can give us an exact width at which we can print support structures for a specific purpose. This factors in things like material density, plasticity threshold, weight of material supported, printing environment, and others.

Without good rigidity, the model risks collapsing in on itself, which is just a waste of your time and material. Projecting these factors before hand and calculating for the proper material is important to any good additive manufacturers.

Z-hop of the nozzle

Problem solving this issue requires you to think in 3 dimensions. Working in two dimensions on a Cartesian plane, we have two vectors: X and Y. To add in a third dimension, we program the printer to raise the nozzle each layer.

Let’s visualize this practically. As far as the printer is concerned, each layer is a 2 dimensional sketch. After finishing one layer the printer raises the nozzle housing by a certain amount (.2mm for me) and begins work in the next 2 dimensional plane.

Motion along the z-axis is minimal in comparison to the x - and y-axes. X and Y are in almost constant motion, whereas Z is merely used as a way to navigate slowly through third dimension.

In many models, a slicer software programs the nozzle’s path so that it runs in one continuous path along the x- and y- planes; there’s no break in the extrusion process during each layer. The problem with this model stems from a non-continuous path which the nozzle takes in this particular design. The design requires the nozzle to “skip” to another part of the same 2-dimensional plane while continuing deposition. This requires a slight retraction of extruder, an attempt to “pull in” the filament to stop it from depositing.

A retraction of the filament, however, is not enough. As the head of the nozzle is still at same height as the layer it just laid down, a movement across the current plane would cause the nozzle to interfere with the previous deposition and can carve unwanted tracks into the model.

To avoid this, we’ll add an extra line of code which will physically raise the nozzle while the nozzle is “hopping” to a new part of the print, then lower it back down to the desired plan. This action is called a “z-hop” and only needs .2-.4mm of clearance to preserve model integrity.

Below is a detail image of the model in which you can see a failure to include “z-hop” on the first run. As the nozzle carved into the current layer, it dragged partially plasticized filament across the gap.

Adjustments.jpeg

Fusion to the Print Bed

Proper fusion to the print bed seems to be a consistent problem for most of those starting out in 3D printing, and will continue to be a bother if proper protocol is not developed and followed. Though this model did not suffer from a severe impact of poor fusion, it did come off the print bed slightly warped as one part of the model cooled slightly faster than the other.

A few tricks to maintaining proper fusion:

  • Use an adhesive: coat the area you’re about to print on with a thin layer using a gluestick. Avoid globbing and flatten out any “mounds” on the print bed.

  • Double check your material against temperature/fan settings. If printing with ABS, turn a cooling fan onto a very low speed or off completely. Rapid cooling causes this thermoplastic to warp. If printing with PLA, maintain a significant fan speed, as cooling reinforces shape and rigidity in this material. (ABS and PLA are the two dominant FDM materials so I’ve included them here)

  • Print a bed level test. Use this design to run a test on your machine, and adjust the level accordingly. Ensure that material texture is even across all four corners and the center of the print bed. I recommend running this test and doing a “reset” on your print bed twice a month, but practice at your own discretion.

  • Slow the printer’s speed for the first layer. This should be an option in your slicer software’s settings. Running the first layer at 50% speed is good practice, especially if you plan on doing manual adjustment to the print bed’s level during the first layer (not uncommon). This 1) lets you observe and make adjustments in real time and 2) provides the material with a little bit more time to settle and adhere to the bed.

Try one or two of these tricks next time you have a model which doesn’t fuse to the print bed correctly.

I consider the hexagonal fractal a successful test, with lessons learned and practically applied in fields like material science, mathematics, and programming for robotic motion in a 3-dimensional field. Of course, that’s just a normal day at AMPEL.

Previous
Previous

An American Summer, part 1

Next
Next

USSF Doctrine - Chapter 2