// Création du Cube de Menger // Pour OpenSCAD, c.f. // https://en.wikibooks.org/wiki/OpenSCAD_User_Manual // http://edutechwiki.unige.ch/en/OpenScad_beginners_tutorial // Définition récursives d'un cube de Menger // Un cube de Menger de niveau n // est composé de 20 cubes de Menger de niveau n-1 // de taille trois fois plus petite. module Menger(niveau, taille) { if (niveau==0) { // Un cube de Menger de niveau 0 // est un simple cube cube(taille, false); } else { taille = taille / 3; for (i1=[0:2], j1=[0:2], k1=[0:2]) { if ((i1!=1 || j1!=1) && (i1!=1 || k1!=1) && (j1!=1 || k1!=1)) { translate([taille*i1, taille*j1, taille*k1]) Menger(niveau - 1, taille); }; }; }; }; // niveau == level // taille == size //Menger(2, 9); Menger(3, 27); //Menger(4, 81); //Menger(5, 243); // Crash