Imprimer une ville en 3D à partir d'une scène web et de City Download Portal
À la croisée des mondes numérique et physique, l’impression 3D ouvre de nouvelles perspectives pour l’exploitation des données SIG. En transformant des modèles numériques – tels que les modèles de terrain, les bâtiments ou les infrastructures – en objets tangibles, elle permet de matérialiser l’information géographique et d’en proposer une lecture plus immersive. Cette convergence entre géospatial et fabrication additive constitue un levier d’innovation pour la visualisation, la communication et l’exploration collaborative des territoires. Techniquement, la méthode consiste globalement à exporter un fichier STL imprimable à partir de la plateforme ArcGIS.
Il existe désormais deux flux de travail. L'un utilise le kit de développement logiciel (SDK) ArcGIS Maps pour JavaScript, et l'autre ArcGIS Pro, que j'aborderai dans un prochain article. Avec l'essor de l'impression 3D, cette technologie offre une approche concrète pour explorer les données SIG en transformant une visualisation 3D numérique en un modèle physique.
Impression 3D au sein du système ArcGIS : un point de départ
L'équipe ArcGIS Maps SDK pour JavaScript d'Esri a publié en début d'année le portail de téléchargement de villes en tant que projet open source. Cet outil web permet d'exporter des modèles de villes imprimables en 3D à partir d'une scène web. Il commence par extraire le maillage du sol et les bâtiments 3D, puis exporte le résultat au format GLB. Le format GLB est la version binaire de glTF, le format d'objets 3D basé sur JSON .
Comme les logiciels de découpe attendent généralement un format de maillage triangulaire, tel que STL, on peut étendre l'application City Download Portal pour qu'elle convertisse directement les fichiers GLB en STL dans le navigateur. J'ai également ajouté une extrusion de base optionnelle afin de créer une surface d'impression plane. Par conséquent, la version dérivée de City Download Portal peut exporter des modèles STL imprimables en 3D directement via le SDK ArcGIS Maps pour JavaScript.
La démarche
Le City Download Portal fonctionne en effectuant deux requêtes clés :
- Élévation de la surface, pour récupérer le maillage du sol.
- Couche d'entités d'objet 3D, pour récupérer les bâtiments associés au service de scène.
Étant donné que l'application charge une scène Web hébergée dans ArcGIS Online ou ArcGIS Enterprise, vous pouvez voir une invite d'authentification en fonction de la façon dont le contenu est partagé.
Dans ce tutoriel, je vais vous montrer comment créer votre propre couche d'entités d'objets 3D prête pour l'impression 3D à l'aide d'ArcGIS Pro et de données de bâtiments provenant de la fondation Overture Maps.
Créer une ville 3D et l’héberger en tant que couche d’entités d’objet 3D
Collecte de données : Pour commencer avec des données Open Data
Ouvrez d'abord Overture Maps Explorer et suivez ces étapes.
- Activez les bâtiments (et les parties de bâtiments si nécessaire).
- Déplacez-vous vers la zone qui vous intéresse (zoom).
- Effectuez un zoom jusqu'au niveau 15+ environ jusqu'à ce que l'option "Télécharger" s'active.
- Cliquez sur Télécharger ( visible).
- Dans la boîte de dialogue, choisissez GeoJSON et téléchargez les fichiers.
- Conservez les fichiers GeoJSON des bâtiments et des parties de bâtiments pour ce flux de travail (ils incluent les attributs de hauteur que vous utiliserez pour générer des modèles 3D).
- Cela téléchargera 8 fichiers GeoJSON, mais les deux qui nous intéressent sont "buildings" et "building-part".
Préparation des données : Préparer les données pour l'impression
Nos données étant importées, nous pouvons ouvrir ArcGIS Pro, créer une nouvelle scène locale et placer nos deux fichiers GeoJSON dans le dossier du projet. Le premier outil à utiliser est "JSON vers entités" pour les bâtiments et les pièces. Sélectionnez le fichier GeoJSON , indiquez un nom de sortie et choisissez "Polygone" comme type de géométrie.
À ce stade, vous devriez disposer d'une couche d'entités pour les bâtiments et les éléments de bâtiments . Si les couches ne sont pas visibles, ajustez leurs paramètres d'altitude dans les propriétés de la couche. Définissez l'altitude absolue pour les deux.
Ensuite, sélectionnez chaque couche. Dans le sous-ruban de la couche d'entités en haut, vous pouvez maintenant sélectionner le type d'extrusion, puis la hauteur de base, et enfin la hauteur comme champ, en laissant l'unité en mètres.
Élimination des chevauchements : suppression des bâtiments superflus
Après l'extrusion, vous devriez voir des bâtiments 3D dans la scène, mais certains bâtiments et leurs parties se chevauchent. Pour commencer, cliquez sur l'onglet « Carte » en haut, puis sur "Sélection par emplacement". Utilisez les bâtiments comme entités d'entrée, la relation « Intersection », les entités sélectionnées comme parties et le type de sélection "Nouvelle sélection". Exécutez le processus : tous les bâtiments qui se chevauchent devraient maintenant être sélectionnés. Dans l'onglet "Édition", supprimez ces entités. Cela résoudra la plupart des chevauchements, mais s'il en reste, n'hésitez pas à supprimer également les bâtiments qui se chevauchent.
Après avoir corrigé les chevauchements, exécutez l'outil Fusionner (Outils de gestion des données) pour combiner les bâtiments et les éléments en une seule classe d'entités. Utilisez les deux jeux de données comme entrées et activez l'option "Ajouter les informations de la source à la sortie".
Conversion de données 2D en 3D : solidification des extrusions
Actuellement, vous disposez d'une couche d'entités polygonales extrudée pour créer une représentation 2,5D. Les données sont en 2D, mais nous les extrudons pour les représenter en 3D, d'où le terme 2,5D. Il faut maintenant exécuter l'outil "Couche 3D vers classe d'entités" qui prend les polygones extrudés et crée des entités multipatch, formant ainsi de véritables modèles 3D fermés. Exécutez l'outil avec notre couche "all_buildings" et générez une classe d'entités "all_buildings_3D".
Avant la publication, une dernière étape consiste à convertir notre couche d'entités multipatch en une couche d'entités d'objets 3D. Pour ce faire, exécutez l'outil "Ajouter des formats 3D à un multipatch". Sélectionnez "all_buildings_3D" comme entités en entrée et ajoutez les formats 3D .glb et .gltf. Une fois l'outil exécuté, vous obtiendrez une couche d'entités d'objets 3D contenant de véritables objets 3D. Utilisez ensuite « Ajouter des formats 3D à un multipatch" au lieu d' "Exporter les objets 3D", car nous souhaitons convertir notre classe d'entités en une couche d'entités d'objets 3D, format attendu par l'outil avec "Exporter les objets 3D".
Publication de nos données 3D : les préparer au partage
Ensuite, suivrez ces étapes pour publier la couche de fonctionnalités de l'objet 3D ainsi que la scène 3D.
- Dans ArcGIS Pro, ouvrez "Partager > Couche Web > Publier la couche Web".
- Nommez la couche et ajoutez un résumé, des étiquettes et (le cas échéant) des catégories conformément aux normes de votre organisation.
- Définissez le type de couche sur « Entités » (ou « Scène » pour les couches d’objets 3D).
- Ouvrez l'onglet "Configuration → Opérations" et activez l'exportation des données (si vous souhaitez que les utilisateurs puissent exporter).
- Cliquez sur "Analyser", corrigez les messages éventuels, puis publiez .
Remarque : La publication de contenu 3D peut créer un calque de scène associé et constituer un cache dans votre organisation, ce qui peut prendre plus de temps.
Chargement des données dans le City Download Portal : notre dernière étape
Dès que le cache est terminé, ouvrez la scène dans Scene Viewer et passez à un fond de carte 2D pour éviter toute confusion visuelle.
Une fois la scène prête, copiez l'identifiant de l'élément depuis l'URL en haut du navigateur et collez-le à la fin de l'URL du City Download Portal (la version personnalisée).
La version personnalisée du City Download Portal possède déjà cet identifiant d'élément
La scène web devrait s'afficher après l'authentification, en fonction du niveau de partage. Nous pourrons ensuite sélectionner les éléments à imprimer .
Enfin, définir une origine, tracer le cadre de sélection, puis choisir le format GLB ou STL, nommer le fichier, indiquer si l'on souhaite inclure le marqueur d'origine, et si l'on souhaite extruder la base du terrain vers le bas, et le cas échéant, dans quelle mesure.
Votre fichier STL peut maintenant être utilisé pour l'impression 3D.
Foire aux questions
Qu'est-ce que l'impression 3D ?
L'impression 3D est un procédé de fabrication qui permet de construire des objets physiques couche par couche à partir d'un modèle 3D numérique. Les imprimantes lisent le code G généré par un logiciel de découpe et déposent ou solidifient un matériau (comme un filament de plastique ou de la résine) pour créer la forme.
Qu'est-ce qu'une scène ?
Dans ArcGIS, une scène est un environnement de visualisation 3D affichant le terrain, l'altitude, les couches 3D et d'autres données géospatiales. Les scènes peuvent être visualisées dans Scene Viewer, ArcGIS Pro ou le kit de développement logiciel (SDK) ArcGIS Maps pour JavaScript ; elles prennent en charge la visualisation en perspective, l'inclinaison et le rendu 3D complet.
Qu'est-ce que l'open source ?
Le terme « logiciel libre » désigne un logiciel dont le code source est accessible au public et sous licence libre, permettant à chacun de le consulter, de le modifier et de le redistribuer. Les projets de logiciels libres favorisent la transparence, la collaboration et l'amélioration continue par la communauté.
Qu'est-ce qui différencie la version personnalisée de Paul du City Download Portal ?
Il utilise Three.js pour lire le fichier GLB généré par le portail de téléchargement de la ville et le convertir au format STL . Il ajoute également une base extrudée optionnelle sous le modèle pour faciliter et stabiliser l'impression 3D.
Qu'est-ce qu'un Slicer ?
Un logiciel de découpe (ou slicer) prend un fichier de modèle 3D ( STL , OBJ , GLB , 3MF , etc.) et le convertit en instructions G-code pour une imprimante 3D. Le logiciel détermine les trajectoires d'outil, la hauteur de couche, le remplissage, les supports et la vitesse d'impression, traduisant ainsi le maillage 3D en mouvements et températures précis pour l'imprimante.
Quelles sont les limites de ce flux de travail ?
Seuls les calques de scène d'objets 3D peuvent être exportés, car ils exposent des géométries 3D complètes. Les calques polygonaux ou multipatch standard ne fonctionneront pas à moins d'être préalablement convertis en calques d'objets 3D.
Vous avez mentionné un deuxième flux de travail utilisant ArcGIS Pro ?
Oui. ArcGIS Pro peut également générer directement des fichiers STL via une autre méthode. Un article de blog dédié à ce processus sera bientôt disponible.
Si je n'ai pas d'imprimante 3D, où pourrais-je imprimer quelque chose que je fabrique ?
De nombreuses bibliothèques publiques et fablabs proposent des services d'impression 3D. Vous pouvez également faire appel à des services d'impression en ligne qui produiront votre modèle dans divers matériaux et vous l'expédieront.
Quelle imprimante a été utilisée ? Quel matériau a été utilisé ?
J'ai utilisé une Bambu Lab X1 Carbon avec du PETG orange.


















