Design personalizzabili

Come scrivere un design personalizzabile

I design personalizzabili sono codice con impostazioni: KerfScript per la versione per il taglio laser e OpenSCAD per quella per la stampa 3D. Questa guida illustra la sintassi delle impostazioni, i livelli laser e il montaggio 3D di KerfScript, le stampe 3D multicolore, le librerie che puoi usare e come pubblicare.

Che cos'è un design personalizzabile

Un design personalizzabile è codice che genera un design a partire da pochi valori. I visitatori non vedono mai il codice a meno che non lo richiedano: hanno un normale pannello di impostazioni, un'anteprima dal vivo e i download. Il codice viene eseguito nel loro browser, quindi nulla viene caricato mentre personalizzano.

Un design può avere due versioni: una per il taglio laser scritta in KerfScript, che si scarica come SVG a livelli, e una per la stampa 3D scritta in OpenSCAD, che si scarica come STL e 3MF. Compilane una o entrambe nel Banco di lavoro e vengono pubblicate insieme.

Trasformare le variabili in impostazioni

Metti le impostazioni in cima al file, prima del primo modulo. Ognuna richiede un valore semplice. Un commento dopo il valore descrive il controllo, una riga di commento sopra diventa la guida e un commento di gruppo avvia una nuova sezione. KerfScript e OpenSCAD leggono gli stessi commenti, quindi un'impostazione con lo stesso nome funziona allo stesso modo in entrambe le versioni.

/* [Size] */
// Width of the tag in mm
width = 70; // [30:1:160]
height = 30; // [15:0.5:80]

/* [Text] */
label = "Hello"; // 16
shape = "round"; // [round, square, star]
size = 2; // [1:Small, 2:Medium, 3:Large]
hole = true;
colour = "#c08552";

/* [Hidden] */
$fn = 64;
Nel tuo codiceCosa vedono i visitatori
width = 70; // [30:160]Un cursore da 30 a 160
width = 70; // [30:0.5:160]Un cursore con passo 0,5
count = 3;Un campo numerico
shape = "round"; // [round, square]Una scelta tra i valori elencati
size = 2; // [1:Small, 2:Large]Una scelta con etichette personalizzate
hole = true;Un interruttore attivo/disattivo
label = "Hi"; // 16Un campo di testo fino a 16 caratteri
colour = "#c08552";Un selettore colori
size = [40, 20, 5];Un numero per asse
/* [Group] */Avvia una nuova sezione di impostazioni
/* [Hidden] */Tutto ciò che segue resta solo nel codice

Assegna alle variabili nomi in snake_case: hole_size viene mostrato come Hole size. Mantieni i valori in millimetri per allinearli al resto del sito.

Versioni per il taglio laser in KerfScript

KerfScript è un linguaggio pensato per il taglio laser. Le forme vengono tagliate a meno che tu non le avvolga in engrave() o score(), e il download è un unico SVG con un livello colorato per ogni operazione, pronto per LightBurn o per il tuo software laser. Il testo può usare qualsiasi font del catalogo MyLaserTools specificandone il nome.

label = "Hello"; // 16
width = 70; // [30:1:160]

difference() {
    rect([width, 30], r = 5, center = true);
    translate([-width / 2 + 7, 0]) circle(d = 5);
}
engrave() text(label, size = 10, font = "Pacifico", halign = "center", valign = "center");
score() offset(delta = -2.5) rect([width, 30], r = 5, center = true);

material() imposta lo spessore del foglio e il kerf, mentre part() assegna un nome a ogni pezzo e ne indica la quantità da tagliare. La documentazione di KerfScript copre tutto il linguaggio e la KerfScript Playground contiene altri esempi.

Guarda i pezzi assemblati

Imposta at = [x, y, z] su un pezzo per spostarlo e rotate = [x, y, z] per ruotarlo, in gradi: l'anteprima 3D mostra il design assemblato. I pezzi vengono prima ruotati e poi spostati, come in OpenSCAD. Quando due pezzi posizionati si scontrano, il Banco di lavoro ti avvisa, ed è così che si nota un bordo di un giunto a dita rivolto nel verso sbagliato. I pezzi senza una posizione restano in piano accanto al montaggio, mentre box() posiziona i propri pannelli. Inserisci i pezzi dentro step("Incolla la base") e l'anteprima mostra frecce che costruiscono il modello un passaggio alla volta. hardware() aggiunge tasselli, viti e calamite alla vista 3D, e part(bend = [x0, x1, angle]) mostra una cerniera a vivo piegata.

material(thickness = 3, kerf = 0.1) {
    part("base", at = [0, 0, 0]) rect([80, 40]);
    part("back", at = [0, 40, 3], rotate = [90, 0, 0]) rect([80, 30]);
    part("spare") rect([20, 20]);
}

Versioni per la stampa 3D in OpenSCAD

La versione per la stampa 3D è un programma OpenSCAD e si scarica come STL e 3MF. Assegna valori color() diversi ai pezzi e ogni colore diventa un oggetto a sé nel 3MF, così puoi assegnare i filamenti nel tuo slicer. L'anteprima segue il selettore della tavolozza.

color("#c08552") cylinder(d = 60, h = 80);
color("#3d3277") translate([0, 0, 80]) cylinder(d = 62, h = 3);

Librerie e font

  • use <kerf/box> scatole e pannelli con giunti a dita in KerfScript.
  • include <BOSL2/std.scad> forme arrotondate, filettature, ingranaggi e giunzioni in OpenSCAD.
  • Font per text() di OpenSCAD: Liberation Sans, Liberation Serif, Liberation Mono e Noto Sans. text() di KerfScript può usare qualsiasi font del catalogo.

Limiti

  • Il codice può arrivare a 500.000 caratteri in un file.
  • Si possono includere solo le librerie fornite. import() e surface() di OpenSCAD non sono disponibili.
  • Un'anteprima OpenSCAD che richiede più di 45 secondi si interrompe. Mantieni $fn contenuto mentre lavori.
  • Vengono mostrate fino a 60 impostazioni, nell'ordine in cui compaiono nel codice.

Pubblicazione

  1. Configura il tuo profilo designer così il tuo design può rimandare a te.
  2. Salva il design nel Banco di lavoro. I design salvati compaiono in I Miei Progetti.
  3. Fai clic su Pubblica, aggiungi un titolo, una descrizione e una foto di qualcosa che hai realizzato con il design, e scegli una licenza.
  4. Modifica il codice in seguito, salva e usa Aggiorna design pubblico per inviare la nuova versione alla tua pagina.

Domande

I visitatori devono saper programmare?

No. I visitatori vedono solo le impostazioni, l'anteprima e i pulsanti di download. Il codice è a disposizione dei maker che vogliono imparare da esso o copiarlo.

Posso caricare un file .kerf o .scad che ho già?

Sì. Usa Carica .kerf o Carica .scad nel Banco di lavoro e il file va nella versione per il suo linguaggio. I file che usano la sintassi dei commenti del personalizzatore mantengono le proprie impostazioni.

Di chi è un design pubblicato?

È tuo. La licenza che scegli si applica al codice e a ciò che le persone realizzano con esso, come per un design pubblicato.

È gratuito?

Scrivere, salvare, pubblicare e personalizzare i design è gratuito. Gli account gratuiti possono mantenere fino a 10 design privati; quelli pubblicati non contano.

Qualcuno può modificare il mio design?

Copia nel Banco di lavoro dà loro una copia privata. Il tuo design pubblicato cambia solo quando lo aggiorni.

Le versioni per la stampa 3D funzionano con OpenSCAD, software libero rilasciato con la GNU General Public License. Il suo codice sorgente è pubblico e la nostra pagina delle licenze cita ogni progetto open source alla base del Banco di lavoro.