Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. 3D Builder
  3. Un support pour smartphone
Extrait - 3D Builder 5 projets pour apprendre à modéliser pour l'impression 3D
Extraits du livre
3D Builder 5 projets pour apprendre à modéliser pour l'impression 3D
2 avis
Revenir à la page d'achat du livre

Un support pour smartphone

L’idée

Dans ce projet, nous allons modéliser un support pour smartphone. L’idée est de faire quelque chose de simple et efficace, adapté à une utilisation verticale aussi bien qu’horizontale.

images/05TDB001.png

La base du support sera une plaque de 60 mm par 60 mm. Une autre plaque, haute de 90 mm et large de 60 mm, sera placée verticalement sur la base avec une légère inclinaison. C’est sur elle que le téléphone s’appuiera. Enfin, une dernière petite plaque, large de 10 mm et haute de 20 mm, fera office de cale pour éviter que le téléphone ne glisse. Tous les éléments auront une épaisseur de 5 mm.

C’est la distance entre la plaque arrière et la cale qui limitera l’épaisseur du téléphone qui pourra être posé. Elle sera d’environ 12 mm.

La cale ne sera pas centrée sur la base mais sera positionnée au bord. Ce choix n’est pas uniquement esthétique. Lorsqu’un objet est modélisé, il faut penser également à comment il sera imprimé. Positionner la cale de cette manière va permettre d’imprimer le support en le couchant sur le côté.

images/05TDB002.png

Cette position a deux avantages :

  • Elle ne nécessite pas de support puisqu’il n’y a aucune partie en porte-à-faux.

  • Dans ce sens, les couches qui formeront la plaque arrière offriront une meilleure résistance à la flexion résultant du poids du téléphone ou de la pression du doigt lorsqu’on utilise le téléphone dans le support.

Le chapitre Trucs et astuces pour aller plus loin - Concevoir et orienter les objets pour l’impression explique ces notions plus en détail.

Les techniques abordées

Même si le projet peut paraître simple, nous allons aborder pas mal de notions et de techniques :

  • Créer une nouvelle scène.

  • Enregistrer un fichier.

  • Enregistrer un fichier sous un nouveau nom.

  • Insérer un cube images/05TDB006.png.
  • Modification de la position avec l’outil Mouvement :

images/05TDB007.png
  • Pivoter avec l’outil Rotation :

images/05TDB008.png
  • Modification des dimensions avec l’outilMise à l’échelle :

images/05TDB009.png
  • Dupliquer des pièces images/05TDB010.png.
  • Fusionner des pièces images/05TDB011.png.
  • Positionner des pièces sur le plateau avec l’outil Positionner images/positionner.png.

La méthode

Le support pour smartphone sera formé à partir de trois cubes qui formeront la base, la plaque arrière et la cale. Ils seront redimensionnés puis repositionnés. La plaque arrière et la cale seront pivotées pour donner une petite inclinaison au smartphone.

Toute modélisation commence généralement par insérer une forme, ici un cube.

images/05TDB012.png

Il sera redimensionné à la taille de la base.

images/05TDB013.png

Pour pouvoir travailler plus facilement, la base sera repositionnée pour la poser et vérifier son centrage sur le plateau de 3D Builder.

images/05TDB014.png

L’étape suivante consiste à insérer un nouveau cube qui servira à former la plaque arrière.

images/05TDB015.png

Il sera redimensionné.

images/05TDB016.png

Puis légèrement incliné.

images/05TDB017.png

Avant d’être enfin positionné sur la base.

Une astuce sera utilisée pour reposer la plaque arrière sur le plateau.

images/05TDB018.png

L’étape suivante est la modélisation de la cale. Cette petite cale servira à empêcher que le téléphone ne glisse lorsqu’il sera posé sur le support. 

Un troisième cube est inséré.

images/05TDB019.png

Comme le précédent, il sera redimensionné.

images/05TDB020.png

Et incliné.

images/05TDB021.png

Puis enfin positionné.

La même astuce sera utilisée pour faciliter le positionnement.

images/05TDB022.png

La dernière étape est la finalisation du fichier. Tous les éléments seront fusionnés et le support sera couché sur le côté pour préparer l’impression.

images/05TDB023.png

La modélisation guidée

 Pour commencer, ouvrez 3D Builder et cliquez sur Nouvelle scène dans l’écran de démarrage pour avoir un nouveau document vierge.

1. La base

 Une fois votre nouvelle scène créée, cliquez sur l’onglet Insérer du ruban.

 Puis cliquez sur images/05TDB006.png pour insérer un cube.

images/05TDB024.png

Un projet ne peut pas être enregistré tant qu’il est vide. Celui-ci contient désormais un cube, l’enregistrement devient possible.

 Enregistrez le projet sous le nom support_1 avec l’extension 3MF.

Le cube doit être redimensionné à la taille prévue pour la base. La largeur et la profondeur seront de 60 mm et la hauteur de 5 mm.

 Si besoin, sélectionnez le cube en cliquant dessus puis cliquez sur l’outil Mise à l’échelle images/ico_mise_a_echelle.png et redimensionnez successivement X, Y et Z à la taille prévue soit X = 60, Y = 60 et Z = 5. Veillez à ce que les proportions (le cadenas) ne soient pas verrouillées et à ce que l’unité soit mm pour millimètre.

images/05TDB025.png

Lors de son insertion, le cube était posé sur le plateau de 3D Builder mais, suite au redimensionnement, maintenant que sa hauteur (Z) a changé, il n’est plus posé sur celui-ci. Comme dans les autres projets, pour faciliter le positionnement des éléments les uns par rapport aux autres, il va être remis sur le plateau.

La base du support a une épaisseur de 5 mm. Pour qu’elle soit sur le plateau de 3D Builder, il faut régler son Z à 5 / 2 soit 2,5 mm et vérifier qu’elle est toujours centrée sur le plateau.

 Si besoin, sélectionnez la base en cliquant dessus puis cliquez sur l’outil Mouvement images/ico_mouvement.png et modifiez Z à 2,5....

Aller plus loin

Ce projet simple peut être facilement personnalisé. Voici quelques pistes.

Le rehausser et prévoir un passage pour le câble USB de recharge :

images/05TDB048.png

Ou, si l’option est disponible, prévoir un emplacement pour un anneau de recharge sans fil :

images/05TDB047.png

Que vous modélisiez la version standard ou que vous choisissiez de la faire évoluer, n’hésitez pas à partager avec nous le résultat de vos modélisations ou de vos impressions sur les réseaux sociaux !

Écrire des fonctions et des classes PHP

Fonctions

1. Introduction

À l’instar des différents langages de développement, PHP offre la possibilité de définir ses propres fonctions (appelées fonctions « utilisateur ») avec tous les avantages associés (modularité, capitalisation…). Une fonction est un ensemble d’instructions identifiées par un nom, dont l’exécution retourne une valeur et dont l’appel peut être utilisé comme opérande dans une expression. Une procédure est un ensemble d’instructions identifiées par un nom qui peut être appelé comme une instruction.

2. Déclaration et appel

Le mot-clé function permet d’introduire la définition d’une fonction.

Syntaxe

function nom_fonction([paramètres]) [: type] { 
  instructions; 
} 

nom_fonction

Nom de la fonction (doit respecter les règles de nommage présentées dans le chapitre Introduction à PHP - Structure de base d’une page PHP). Ce nom n’est pas sensible à la casse (pour PHP les fonctions unefonction et UneFonction sont les mêmes).

paramètre

Paramètres éventuels de la fonction exprimés sous forme d’une liste de variables (cf. Paramètres) : $paramètre1, $paramètre2, ...

type

Déclaration du type de données retourné par la fonction. Valeurs possibles : int, float, string, bool, array, callable, iterable, object, mixed, void, never, un nom de classe ou d’interface (cf. dans ce chapitre la section Classes), une union de types, ou une intersection de types. Le nom du type peut être précédé d’un point d’interrogation (?) qui indique que la fonction peut retourner une valeur NULL, sauf pour les types suivants : void, never, mixed (déjà...

Classes

1. Concept

PHP propose des fonctionnalités classiques de programmation orientée objet :

  • Définition de classe.

  • Utilisation de méthodes constructeur et destructeur.

  • Notions de propriété ou de méthode publique, privée, protégée.

  • Héritage.

  • Notions de classe ou méthode abstraite, de classe ou méthode finale, d’interface, de propriété ou méthode statique (de classe).

  • Exceptions.

  • Attributs (similaire au concept d’annotation en Java ou de décorateurs en Python ou en JavaScript, apparus en version 8, non présentés dans cet ouvrage)

Une classe est un type composite regroupant des variables (appelées propriétés de la classe) et des fonctions (appelées méthodes de la classe). En soi, une classe ne contient pas de données ; c’est juste un modèle, une définition.

À partir de la classe, il est possible de définir ("instancier") des objets qui ont la structure de la classe et qui, eux, contiennent des données.

Dans cette partie, nous allons présenter les fonctionnalités de base les plus couramment utilisées : c’est une introduction pratique aux fonctionnalités objet de PHP. Pour plus d’informations, reportez-vous à la documentation de PHP.

2. Définir une classe

Le mot-clé class permet d’introduire la définition d’une classe.

Syntaxe

class nom_classe { 
  // définition des propriétés 
  [ 
  public | private | protected [type [readonly]] $propriété [= expression]; 
  ... 
  ] 
  // définition des méthodes 
  [ 
  [public | private | protected] function méthode() { ...

Espaces de noms

Les espaces de noms (namespace en anglais) permettent de résoudre deux problèmes fréquemment rencontrés lors de l’utilisation de classes ou de bibliothèques de fonctions :

  • utilisation d’un même nom (classe, fonction, constante) dans deux bibliothèques ;

  • manipulation de noms particulièrement longs qui rendent le code pénible à écrire.

Un espace de noms est déclaré avec le mot-clé namespace au tout début d’un fichier, avant tout autre code, à l’exception de l’instruction declare qui est autorisée avant (sinon, une erreur fatale se produit).

Exemple

<?php 
// Définition de l'espace de noms. 
namespace MaLibrairie; 
// Définition d'une constante. 
const UN = 1; 
// Définition d'une classe. 
class uneClasse { 
  /* 
  ... 
  */ 
} 
// Définition d'une fonction. 
function uneFonction() { 
  /* 
  ... 
  */ 
} 
?> 

Le même espace de noms peut être défini dans plusieurs fichiers, ce qui permet d’organiser le code dans plusieurs fichiers tout en le regroupant au sein d’un même espace de noms.

Plusieurs espaces de noms peuvent être définis dans un même fichier mais ce n’est pas une bonne pratique de codage.

Un espace de noms peut être défini avec des sous-niveaux en utilisant le séparateur antislash (\) : MaLibrairie\Sous\Niveau.

Par défaut, si aucun espace de noms n’est défini, toutes les définitions (classes, fonctions, constantes) sont placées dans l’espace de noms global.

La constante __NAMESPACE__ donne le nom de l’espace de noms courant (chaîne...