Créations personnalisables

Écrire une création personnalisable

Les créations personnalisables sont du code avec des réglages : KerfScript pour la version de découpe laser et OpenSCAD pour la version d'impression 3D. Ce guide présente la syntaxe des réglages, les calques laser et l'assemblage 3D de KerfScript, les impressions 3D multicolores, les bibliothèques disponibles et la publication.

Qu'est-ce qu'une création personnalisable ?

Une création personnalisable est du code qui construit une création à partir de quelques valeurs. Les visiteurs ne voient le code que s'ils le demandent : ils disposent d'un panneau de réglages classique, d'un aperçu en direct et de téléchargements. Le code s'exécute dans leur navigateur ; rien n'est donc envoyé pendant la personnalisation.

Une création peut avoir deux versions : une version de découpe laser écrite en KerfScript, téléchargeable en SVG à plusieurs calques, et une version d'impression 3D écrite en OpenSCAD, téléchargeable en STL et en 3MF. Remplissez un emplacement ou les deux dans l'atelier pour les publier ensemble.

Transformer les variables en réglages

Placez vos réglages en haut du fichier, avant le premier module. Chacun nécessite une valeur simple. Un commentaire après la valeur décrit la commande, une ligne de commentaire au-dessus devient l'indication et un commentaire de groupe ouvre une nouvelle section. KerfScript et OpenSCAD lisent les mêmes commentaires ; un réglage portant le même nom fonctionne donc de la même manière dans les deux versions.

/* [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;
Dans votre codeCe que voient les visiteurs
width = 70; // [30:160]Un curseur de 30 à 160
width = 70; // [30:0.5:160]Un curseur avec un pas de 0.5
count = 3;Un champ numérique
shape = "round"; // [round, square]Un choix parmi les valeurs répertoriées
size = 2; // [1:Small, 2:Large]Un choix avec vos propres libellés
hole = true;Un interrupteur activé/désactivé
label = "Hi"; // 16Un champ texte de 16 caractères maximum
colour = "#c08552";Un sélecteur de couleur
size = [40, 20, 5];Un nombre par axe
/* [Group] */Commence une nouvelle section de réglages
/* [Hidden] */Tout ce qui suit reste uniquement dans le code

Nommez les variables en snake_case : hole_size apparaît comme Hole size. Conservez les valeurs en millimètres pour rester cohérent avec le reste du site.

Versions de découpe laser en KerfScript

KerfScript est un langage conçu pour la découpe laser. Les formes sont découpées sauf si vous les placez dans engrave() ou score(), et le téléchargement fournit un SVG avec un calque de couleur par opération, prêt pour LightBurn ou votre logiciel laser. Le texte peut utiliser par son nom n'importe quelle police du catalogue MyLaserTools.

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() définit l'épaisseur de la plaque et la largeur de coupe, tandis que part() nomme chaque pièce et indique combien en découper. La documentation KerfScript couvre tout le langage, et l'atelier KerfScript propose d'autres exemples.

Voir les pièces assemblées

Attribuez à une pièce at = [x, y, z] pour la déplacer et rotate = [x, y, z] pour la faire pivoter en degrés : l'aperçu 3D montre alors la création assemblée. Les pièces pivotent d'abord, puis sont déplacées, comme dans OpenSCAD. Lorsque deux pièces placées se heurtent, l'atelier vous avertit ; cela révèle par exemple un bord à queues droites orienté dans le mauvais sens. Les pièces sans position restent à plat à côté de l'assemblage, et box() place ses propres panneaux. Placez des pièces dans step("Glue the base") pour obtenir des flèches qui construisent le modèle étape par étape. hardware() ajoute des tourillons, des vis et des aimants à la vue 3D, et part(bend = [x0, x1, angle]) montre une charnière souple pliée.

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]);
}

Versions pour impression 3D en OpenSCAD

La version pour impression 3D est un programme OpenSCAD téléchargeable en STL et en 3MF. Donnez aux pièces des valeurs color() différentes : chaque couleur devient un objet distinct dans le 3MF pour attribuer les filaments dans votre logiciel de tranchage. L'aperçu suit le sélecteur de palette.

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

Bibliothèques et polices

  • use <kerf/box> boîtes et panneaux à queues droites dans KerfScript.
  • include <BOSL2/std.scad> formes arrondies, filetages, engrenages et fixations dans OpenSCAD.
  • Polices pour text() dans OpenSCAD : Liberation Sans, Liberation Serif, Liberation Mono et Noto Sans. text() dans KerfScript peut utiliser n'importe quelle police du catalogue.

Limites

  • Le code peut contenir jusqu'à 500 000 caractères dans un fichier.
  • Seules les bibliothèques fournies peuvent être incluses. Les fonctions import() et surface() d'OpenSCAD ne sont pas disponibles.
  • Un aperçu OpenSCAD qui dépasse 45 secondes est arrêté. Gardez une valeur $fn modérée pendant le travail.
  • Jusqu'à 60 réglages sont affichés, dans leur ordre d'apparition dans le code.

Publication

  1. Configurez votre profil de créateur pour que votre création puisse renvoyer vers vous.
  2. Enregistrez la création dans l'atelier. Les créations enregistrées apparaissent dans Mes créations.
  3. Cliquez sur Publier, ajoutez un titre, une description et une photo d'un objet fabriqué à partir de la création, puis choisissez une licence.
  4. Pour modifier le code plus tard, enregistrez puis utilisez Mettre à jour la création publique pour envoyer la nouvelle version sur votre page.

Questions

Les visiteurs doivent-ils savoir programmer ?

Non. Les visiteurs ne voient que les réglages, l'aperçu et les boutons de téléchargement. Le code est accessible aux créateurs qui souhaitent l'étudier ou le copier.

Puis-je importer un fichier .kerf ou .scad existant ?

Oui. Utilisez Importer un .kerf ou Importer un .scad dans l'atelier ; le fichier rejoint la version correspondant à son langage. Les fichiers utilisant la syntaxe de commentaires du personnalisateur conservent leurs réglages.

À qui appartient une création publiée ?

À vous. La licence choisie s'applique au code et aux objets fabriqués à partir de celui-ci, comme pour une création publiée.

Est-ce gratuit ?

Écrire, enregistrer, publier et personnaliser des créations est gratuit. Les comptes gratuits peuvent conserver jusqu'à 10 créations privées ; les créations publiées ne comptent pas dans cette limite.

Quelqu'un peut-il modifier ma création ?

Copier dans l'atelier fournit à cette personne sa propre copie privée. Votre création publiée ne change que lorsque vous la mettez à jour.

Les versions pour impression 3D fonctionnent avec OpenSCAD, un logiciel libre publié sous licence publique générale GNU. Son code source est public, et notre page de licences cite chaque projet open source utilisé par l'atelier.