
Un piccolo passo per l’umanità, un grande passo per il bagno
Un piccolo passo per l’umanità, un grande passo per il bagno
Diane,
sono qui con una tazza di caffè e una realizzazione che, con tutta probabilità, farà la differenza per l’umanità... o almeno per il mio bagno. Parliamo del mio primo vero progetto con la stampante 3D, una Bambu Lab A1 Mini con AMS Lite, arrivata come regalo di Natale. Non so se fosse un invito implicito a stampare accessori per la casa o un messaggio subliminale sul mio bisogno di nuove sfide, ma tant’è: mi sono lanciato.
Diane, ho stampato un sacco di modelli già pronti durante queste prime settimane di vita della stampante. Cose utili ma mai davvero mie. Poi è arrivato il momento. Quel passaggio cruciale per ogni possessore di una stampante 3D: creare qualcosa di personale. Il mio ambizioso obiettivo? Una base per lo scopino del cesso.
Manuela ha deciso di cambiare i vecchi scopini di bamboo, che si erano lasciati conquistare dalla muffa, optando per questi nuovi modelli in silicone della Ibergrif, molto minimalisti, con un sistema “a lingua” per la pulizia del WC (sì, Diane, hai ragione: l’immagine che evoca non è particolarmente nobile). Sono sottili, leggeri, facili da manovrare, ma hanno una base così piccola che ogni volta che li tocchi rischiano di ribaltarsi come funamboli inesperti.

La mia soluzione è stata creare una base ad anello che stabilizzasse il tutto. Ho scelto di affrontare il problema con un approccio da sviluppatore, utilizzando OpenSCAD — un software open source che ti permette di scrivere codice per creare modelli 3D parametrizzabili. È un metodo che richiede un po’ di familiarità con la programmazione, ma si è rivelato perfetto per le mie esigenze. Diane, c’è da dire che non è l’unica strada. Esistono alternative come Autodesk Fusion 360, un software più orientato al design visivo, gratuito per uso non commerciale, che offre strumenti avanzati per modellare oggetti in maniera più intuitiva, anche se richiede un po’ di tempo per essere padroneggiato.
Nel mio caso, con un calibro ereditato da mio padre per ottenere misurazioni precise, qualche riga di codice su OpenSCAD e una buona dose di trial and error, sono arrivato al risultato: un piccolo pezzo di plastica che, Diane, fa esattamente quello che deve fare.

È stato un lavoro semplice, troppo semplice per atteggiarsi a genio creativo. Ma non importa, perché l’immagine dello scopino che si ribalta non mi lasciava pace. Ora sta lì, incastrato nella sua base, immobile, come un soldato a guardia del bagno.
Se qualcuno là fuori ha lo stesso scopino e vuole un anello stabilizzante, sarò felice di condividerlo. Anche perché, Diane, il mondo merita scopini più stabili.
A presto, con la promessa di progetti più ambiziosi,
Giacomo
////////////////////////////////////////////////////////
// Parametri principali
////////////////////////////////////////////////////////
// Dimensioni dello scopino (2D, impronta a terra)
scopino_lunghezza = 97; // Lunghezza totale
scopino_larghezza = 42; // Larghezza totale
// Parametri della base
base_spessore = 3; // Spessore della base
base_margine = 15; // Margine extra intorno alla forma dello scopino
base_fondo = 0; // Lo strato da lasciare nella parte centrale (0 per rimuoverlo)
fn_risoluzione = 60; // Risoluzione di rendering per cerchi/archi
module shapeScopino2D(lunghezza, larghezza, raggio) {
union() {
// Rettangolo centrale
square([lunghezza - 2*raggio, larghezza], center=true);
// Semicirconferenza sinistra
translate([-(lunghezza/2) + raggio, 0])
circle(raggio, $fn=fn_risoluzione);
// Semicirconferenza destra
translate([(lunghezza/2) - raggio, 0])
circle(raggio, $fn=fn_risoluzione);
}
}
module baseScopino(
l_scopino, w_scopino, r_scopino,
spessore_base, margine_base
) {
difference() {
// 1) Estrudiamo la forma esterna della base (con margine extra)
linear_extrude(height=spessore_base)
shapeScopino2D(
l_scopino + 2*margine_base,
w_scopino + 2*margine_base,
r_scopino + margine_base
);
// 2) Sottraiamo la forma dello scopino
translate([0, 0, -base_fondo])
linear_extrude(height=spessore_base + 0)
shapeScopino2D(l_scopino, w_scopino, r_scopino);
}
}
baseScopino(
scopino_lunghezza,
scopino_larghezza,
scopino_larghezza / 2, // Raggio curvatura
base_spessore,
base_margine
);