Imprimé la photo 3D (1 / 1 étapes)

Etape 1: Le Code

Tous ces modèles 3D ont été générés par algorithme de traitement à l’aide de la bibliothèque ModelBuilder par Marius Watz. Cette bibliothèque vous permet d’enregistrer des géométries 3D dans le format de fichier STL, fichiers STL qui forment un maillage étanche peuvent être imprimés par une imprimante 3D.

Pour commencer en utilisant ce code vous-même, téléchargez la dernière version de la bibliothèque ModelBuilder, décompressez le fichier et copiez le dossier dans le dossier « bibliothèques » de traitement. Si vous avez installé le prédécesseur à la bibliothèque de ModelBuilder (appelée la bibliothèque de Unlekker), vous aurez besoin de le supprimer. Une fois ceci fait redémarrer le traitement.

image 3d imprimable altitude/lithophanie //by Amanda Ghassaei //May 2013 / /  / * * ce programme est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier * elle aux termes de la GNU General Public License telle que publiée par * la Free Software Foundation ; soit la version 3 de la licence, ou * (à votre choix) toute version ultérieure
. * / //libraries import processing.opengl.* ; Import unlekker.util.* ; Import unlekker.modelbuilder.* ; Import ec.util.* ; String nom = "your_file_name_here.jpg";//name de fichier (avec extension - cela a également des œuvres avec png) //storage pour dimensions int widthRes ; int heightRes ; float widthDim = 5; //width Dimensions (en pouces) flotteur widthScaled ; float heightScaled ; float zDim = épaisseur de flotteur pour le déplacement vertical (en pouces) 0.1;//max = inverti booléenne de l’épaisseur (en pouces) 0.02;//base = true ; //if true, alors les zones blanches sont plus faibles que noir, sinon véritables zones blanches sont taller Byte img ; //storage pour flotteur de l’image [pixeldata]; //storage pour pixel array UVertexList v1, v2, v3, v4 ; //storage pour verticies UGeometry geo //storage pour stl géométrie void setup() {img = loadImage (nom); //load image //get dimensions de l’image widthRes = img.width ; heightRes = img.height ; taille (widthRes heightRes, P3D); //set dimensions de l’image de sortie (img, 0,0); //display image loadPixels (); //poad pixels en tableau pixeldata = nouveau float [widthRes * heightRes]; //initialize de stockage pour les données de pixel pour (int index = 0; index < widthRes * heightRes ; index ++) {int getPixelData = pixels [index]; //get les données de pixels [] tableau pixeldata [index] = getPixelData & 255 ; //convert en niveaux de gris octet (0-255)} //initialize stockage pour stl geo = new UGeometry() ; v1 = new UVertexList() ; v2 = new UVertexList() ; v3 = new UVertexList() ; v4 = new UVertexList() ; dessiner stl if(invert) {//draw dessus pour (int i = 0; j’ai <(heightRes-1); i ++) {v1.reset() ; v2.reset() ; pour (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim ; //top couche v1.add(widthScaled,i/float(widthRes)*widthDim,(255-pixeldata[widthRes*i+j])*zDim/255+thickness) ; v2.add(widthScaled,(i+1)/float(widthRes)*widthDim,(255-pixeldata[widthRes*(i+1)+j])*zDim/255+thickness);} geo.quadStrip (v1 v2) ; } //draw faces v1.reset() ; v2.Reset() ; v3.Reset() ; v4.Reset() ; pour (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim ; v1.add(widthScaled,0,(255-pixeldata[j])*zDim/255+thickness) ; v2.add(widthScaled,0,0) ; v3.add(widthScaled,(heightRes-1)/float(widthRes)*widthDim,(255-pixeldata[widthRes*(heightRes-1)+j])*zDim/255+thickness) ; v4.add(widthScaled,(heightRes-1)/float(widthRes)*widthDim,0);} geo.quadStrip(v2,v1) ; geo.quadStrip(v3,v4) ; tracer les côtés v1.reset() ; v2.Reset() ; v3.Reset() ; v4.Reset() ; pour (int i = 0; i < heightRes; i ++) {heightScaled = i / float (widthRes) * widthDim ; v1.add(0,heightScaled,(255-pixeldata[widthRes*i])*zDim/255+thickness) ; v2.add(0,heightScaled,0) ; v3.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,(255-pixeldata[widthRes*(i+1)-1])*zDim/255+thickness) ; v4.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,0);} geo.quadStrip(v1,v2) ; geo.quadStrip(v4,v3) ; } else {//draw top pour (int j’ai = 0; j’ai <(heightRes-1); i ++) {v1.reset() ; v2.reset() ; pour (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim ; //top couche v1.add(widthScaled,i/float(widthRes)*widthDim,(pixeldata[widthRes*i+j])*zDim/255+thickness) ; v2.add(widthScaled,(i+1)/float(widthRes)*widthDim,(pixeldata[widthRes*(i+1)+j])*zDim/255+thickness);} geo.quadStrip(v1,v2);} //draw côtés v1.reset() ; v2.reset() ; v3.reset() ; v4.reset() ; pour (int j = 0; j < widthRes; j ++) {widthScaled = j/float (widthRes) * widthDim ; v1.add (widthScaled , 0,(pixeldata[j])*zDim/255+thickness) ; v2.Add(widthScaled,0,0) ; v3.Add(widthScaled,(heightRes-1)/float(widthRes)*widthDim,(pixeldata[widthRes*(heightRes-1)+j])*zDim/255+Thickness) ; v4.Add(widthScaled,(heightRes-1)/float(widthRes)*widthDim,0) ; } geo.quadStrip(v2,v1) ; geo.quadStrip(v3,v4) ; tracer les côtés v1.reset() ; v2.Reset() ; v3.Reset() ; v4.Reset() ; pour (int i = 0; i < heightRes; i ++) {heightScaled = i / float (widthRes) * widthDim ; v1.add(0,heightScaled,(pixeldata[widthRes*i])*zDim/255+thickness) ; v2.add(0,heightScaled,0) ; v3.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,(pixeldata[widthRes*(i+1)-1])*zDim/255+thickness) ; v4.add((widthRes-1)/float(widthRes)*widthDim,heightScaled,0);} geo.quadStrip(v1,v2) ; geo.quadStrip(v4,v3) ; } //draw bas v1.reset() ; v2.Reset() ; Ajouter quatre coins v1.add(0,0,0) ; v1.Add(0,(heightRes-1)/float(widthRes)*widthDim,0) ; v2.Add((widthRes-1)/float(widthRes)*widthDim,0,0) ; v2.Add((widthRes-1)/float(widthRes)*widthDim,(heightRes-1)/float(widthRes)*widthDim,0) ; geo.quadStrip(v1,v2) ; changer l’extension de nom de fichier int dotPos = name.lastIndexOf(".") ; Si le nom de (dotPos > 0) = name.substring (0, dotPos) ; geo.writeSTL(this,name+".stl") ; Exit() ; println("finished") ; }

Télécharger la dernière version de l’esquisse de la transformation de GitHub (télécharger un zip en cliquant sur le bouton de nuage). Ouvrez le dossier appelé Lithograph3DPrint. Copier des images de niveaux de gris, que vous voulez convertir dans ce dossier.

Pour exécuter l’esquisse, remplacez la partie entre guillemets dans la ligne suivante :

String nom = « your_file_name_here » ;

avec le nom de votre image de niveaux de gris. Je crois .gif, .jpg, .tga et fichiers .png tous fonctionneront très bien, mais je n’ai testé que .jpg jusqu'à présent. Exécuter l’esquisse, après une minute ou deux traitement vous dira que c’est écrit un fichier STL et finalement, il vous dira que c’est fini. Le fichier qui en résulte se situera dans dossier de l’esquisse nommé « NAME_OF_ORIGINAL_FILE.stl », vous pouvez ouvrir le fichier stl avec une variété de logiciels et stl CAO, j’aime MeshLab pour visualisation simple (c’est gratuit et open source).

Par défaut, mon esquisse dimensionnera images à 8" de large, avec une épaisseur de base de 0.02" et fonction épaisseur de jusqu'à 0,1", vous pouvez modifier ces paramètres en réglant la variable dans la partie supérieure de l’esquisse.

Articles Liés

Lithophanes: 3D imprimant vos photos !

Lithophanes: 3D imprimant vos photos !

Chaque fois qu'il y a un anniversaire ou un événement quelconque, où j'ai besoin d'acheter un cadeau, je suis toujours confronté au même problème... « Que dois-je recevoir lui/elle? » et je trouve rarement une idée qui est à noter.Depuis j'ai acheté
Comment à la 3D imprimer une Photo : Lithophanes 101

Comment à la 3D imprimer une Photo : Lithophanes 101

Si vous cherchez pour votre prochain projet d'impression 3D, vous ne devez pas chercher plus loin. Photos imprimées 3D, également connu sous le nom 3D imprimé Lithophanes, sont une application extrêmement créative et unique qui ne manquera pas de « W
3D imprimé cadre Photo numérique

3D imprimé cadre Photo numérique

Visitez www.project3dprint.com pour télécharger les fichiers STL et commander le kit électronique pour ce projet ! Contrairement à nos autres plus impliqué des projets impression il n'y a aucune vidéo pédagogique comme ses aussi simple que :1. person
3D imprimées des Photos à l’aide de deux matériaux

3D imprimées des Photos à l’aide de deux matériaux

Bienvenue sur mon Instructable à faire des photos avec les imprimantes 3d ! Il y a autres Instructables sur l'utilisation des imprimantes 3D pour faire lithopanes, mais celui-ci est un peu différent car nous allons faire des images pleine de nuances
Transférer une photo ou une image imprimée au transfert de bois, bois

Transférer une photo ou une image imprimée au transfert de bois, bois

Voici un moyen simple pour imprimer une photo sur votre imprimante personnelle et transférez-la vers le bois. Vous pouvez l'utiliser avec texte, photos, graphiques ou autre chose que vous faites. Amusez-vous à faire des trucs.
Bon marché mise en valeur de photos imprimées

Bon marché mise en valeur de photos imprimées

les imprimantes bon marchés fait son travail très bien, mais les photos imprimées sont très sensibles :ruine toute goutte d'eau.Le livre « photo » pour imprimer des photos est très cher. Le papier normal donne des résultats réguliers.J'ai utilisé nor
DIY mariage Photo Booth Portable

DIY mariage Photo Booth Portable

lors de la planification pour notre mariage, nous avons décidé que ce serait formidable d'utiliser un photomaton comme notre livre d'or.  Après avoir regardé les frais de location, j'ai décidé de le prendre sur moi de construire mon propre, et comme
Carte de Stero bricolage / stéréoscopiques glisse (photos 3-d!)

Carte de Stero bricolage / stéréoscopiques glisse (photos 3-d!)

Nota Bene : Ce Instructable vous mènera à travers le processus de prise de photos 3D pour libre (sans équipement supplémentaire nécessaire à l'extérieur une sorte de caméra, même que votre téléphone appareil photo fera), ainsi que quelques procédés d
BRICOLAGE photo veilleuse tourné vase

BRICOLAGE photo veilleuse tourné vase

à la recherche d'un cadeau fait maison bricolage de dernière minute pour un être cher ? Votre recherche se termine ici. Ce projet est ridiculement simple et peut être fait avec des choses déjà disponible dans la plupart des maisons. Et la meilleure p
Machine de gravure laser CNC (production de Machine de gravure Laser de gaspillé à l’aide de CD-lecteur ou imprimante)

Machine de gravure laser CNC (production de Machine de gravure Laser de gaspillé à l’aide de CD-lecteur ou imprimante)

Etes-vous toujours inquiet au sujet quels cadeaux conviennent le mieux pour vos amis ? Vous voulez choisir quelque chose de créatif pour exprimer vos souhaits sincères ? Avec l'avancement de l'économie, des exigences plus élevées sur les cadeaux devi
Maison Laser Mini imprimante Machine bricolage XY axe de l’outil de gravure

Maison Laser Mini imprimante Machine bricolage XY axe de l’outil de gravure

Maison Laser Mini imprimante Machine bricolage XY axe de l'outil de gravurePlus maison Mini Laser gravure Cutter DIY 3D imprimante Machine Frame ici :Maison laser mini machine de gravure est à venir. 300 X 30 mm grande zone de gravure. conception de
Instructables Robot photo plateau

Instructables Robot photo plateau

Faire le Robot utile au lieu de juste traîner. Faire cette étagère knicknack maniable avec une image du Instructables Robot.Mettre de la porte d'entrée pour déposer les clés ou l'utiliser comme une base de recharge pour vos appareils électroniques. E
Photo brillant

Photo brillant

Pour ce projet que vous établissez une photo avec une lumière de fond. Le but de ce projet est d'avoir un fond qui change de couleur selon la quantité de lumière est dans la salle. C'est un effet vraiment cool et peut être utilisé sur presque n'impor
Lampe de Batman ambiant - Arduino | Photo-Resistive| Automatique-sur quand Dark | MultiColor

Lampe de Batman ambiant - Arduino | Photo-Resistive| Automatique-sur quand Dark | MultiColor

Bonjour tout le monde ! Il s'agit de mon premier instructables et toute suggestion serait grandement appréciée. Il existe plusieurs versions de la lampe batman et j'ai pensé à mettre en valeur ma version. Cette lampe est dépendante de la lumière, c'e