Génération de fichiers 3D à la demande : le process
Dans cet article, nous allons détailler la totalité du process qui aboutit à la publication d'un nouveau template sur iteration3d.fr.
Les étapes sont nombreuses et variées. Nous prendrons le template Boîtier avec couvercle vissé comme support d'explication de la démarche. Et nous partirons du principe que l'on sait déjà que l'on veut faire un boîtier.
Déterminer les contours de l'"idée"
La première étape consiste à déterminer les contours de l'idée. Il s'agit là d'une des phases les plus complexes et consommatrices de neurones humains. Partons du principe que nous voulons publier un template de boîtier (cette décision étant déjà le fruit d'un travail de réflexion...).
Très bien, les ennuis commencent. Quel type de boîtier ? Une simple boîte avec un couvercle posé dessus ? Le couvercle doit-il être vissé ou clipsé ? Souhaite-t-on un système de charnière ? Le boîter doit-il être étanche ?
Nous pourrions ainsi continuer cette liste de choix à faire. Car il faut bien faire des choix. L'une des forces de la plateforme iteration3d.fr est de laisser à l'utilisateur la possibilité de faire des choix, justement. Nous pourrions donc décider que l'utilisateur puisse définir la longueur, la largeur et la hauteur du boîtier mais aussi le système de fixation, à visser, à clipser ou à charnière !
Mais il convient de limiter ces choix pour fluidifier l'expérience de l'utilisateur. Si la multiplicité des choix conduit à la publication d'un formulaire de personnalisation de trente champs, il y a de fortes chances que l'expérience échoue devant la complexité des décisions à prendre pour l'utilisateur, certaines d'entre elles étant souvent fonction d'une autre !
Bref, vous avez saisi l'enjeu. Et ce travail en amont, avant même qu'une ligne de code soit posée, est fondamentale. Il faut suffisamment borner le projet sans pour autant tomber dans un template minimaliste qui, pour le coup, perdrait tout de son intérêt.
C'est décidé, nous ferons un boîtier avec un couvercle à visser dessus !

Choisir les paramètres et fixer leurs limites
Nous voilà bien avancés, nous savons où nous voulons aboutir. A présent il convient de déterminer ce sur quoi l'utilisateur va pouvoir agir, sur quoi on lui laisse la main. Ici encore la réflexion humaine (pourquoi pas couplée à un peu d'intelligence non humaine) va devoir faire ses preuves.
Il y a des paramètres qui coulent de source. Comment proposer la génération 3D à la demande d'un boîtier si on ne laisse pas l'utilisateur décider de ses longueur, largeur et hauteur. Cela ve de soi. Très bien, mais laisse-t-on l'utilisateur générer un boîtier de deux mètres de long ? Pourquoi pas me direz-vous ? Oui pourquoi pas, mais pour le coup c'est côté plateforme que des choix doivent être faits. iteration3d.fr ayant pour vocation à générer des fichiers 3D essentiellement destinés à l'impression 3D, il ne serait pas totalement absurde de laisser l'utilisateur générer un boîtier de deux mètres de long, mais disons que cela a tout de même tendance à perdre de son sens. Et c'est pour ces raisons que le formulaire de personnalisation "bridera" le champ longueur à la plage 10 à 500 mm par exemple.
Il convient aussi de prendre en compte les limites de l'impression 3D. Par exemple, une paroi de 0.40 mm en impression 3D FFF (impression 3D à dépôt de filament fondu) est difficilement envisageable.
Vous l'avez compris, dans cette phase il convient de déterminer tous les paramètres sur lesquels peut agir l'utilisateur et leurs limites.

Coder le template
Comme expliqué dans l'article Comment les fichiers 3D sont-ils générés ?, les modèles publiés sur la plateforme iteration3d.fr ne sont pas conçus sur un logiciel CAO traditionnel, ils sont programmés. Le moteur de génération de la plateforme utilise la librairie build123d qui prend appui sur le language de programmation Python.
Cette phase consiste donc à coder le modèle mais aussi à définir des variables qui prendront les valeurs des paramètres saisies par l'utilisateur sur le site.
Nous n'irons pas plus loin ici mais il s'agit ici d'une phase cruciale, bien entendu.

Vérifier les données utilisateur
On parle ici encore de code. La règle numéro 1 de tout bon programmeur est de ne jamais faire confiance à l'utilisateur. Cela peut paraître un peu abrupt, expliquons. Ce n'est pas parce que vous demandez à l'utilisateur de renseigner 1 ou 2 dans un champ qu'il le fera. Il peut très bien saisir 3. Si les actions suivantes sont conditionnées sur les uniques valeurs 1 ou 2, ça coincera (ce qu'on appelle un bug !).
Même bien intentionné, tout utilisateur peut se tromper, c'est humain. Aussi tout programme informatique doit, avant tout et surtout, vérifier la validité des données saisies.
C'est le rôle des pages de génération à la demande. Lorsque l'utilisateur soumet sa demande, le serveur vérifie la cohérence des données. Cette phase est également très importante.
On ne parlera pas ici des mesures à mettre en place pour protéger le système des mauvaises intentions, pour le coup, de robots ou utilisateurs malveillants...
Imprimer en 3D
Voilà, le template est programmé et les vérifications adéquates sont en place. On peut alors lancer les premiers tests de génération de boîtiers à couvercle.
Il s'agit là de confronter la théorie et la pratique, comme toujours.
Dans notre cas il s'agit d'imprimer les premiers modèles produits. Cela permet de vérifier que les dimensions finales sont bien celles souhaitées. Dans le cas précis de notre boîtier, on doit par exemple s'assurer que les deux parties s'emboîtent correctement.
Ces premières impressions permettront également d'illustrer un article de blog par exemple.

Faire connaître
C'est fini ! Ou presque. Et oui à présent il faut faire connaître le template fraîchement conçu. Et c'est peut-être bien, au final, la phase la plus importante.
Et comme dit le slogan : on compte sur vous !