Descargo de responsabilidad.
Este es un resumen de mi flujo de trabajo sobre cómo crear.Lámparas de mapa de ciudad minimalistas.como los de abajo. TEl flujo de trabajo también se puede utilizar para convertir cualquier imagen en una lámpara litofánica cilíndrica.Salta a "Creando Litofanías" si ya tienes una imagen.
|
|
Debido a la abrumadora demanda de crear ciudades específicas para las personas (que no puedo satisfacer), decidí publicar todo lo necesario para crear tu propia lámpara de mapa de la ciudad. Sin embargo, lo haré.No proporcionar ningún apoyo.a este flujo de trabajo. Si no puedes hacer que funcione, ¡estás por tu cuenta!
Todas mis configuraciones (especialmente las configuraciones de renderizado del mapa) son meras recomendaciones y reflejan mis preferencias personales. Siéntete libre de experimentar con el diseño como creas conveniente. Solo...Ten en cuenta que si cambias las relaciones de aspecto de la imagen, también tendrás que adaptar la configuración de lithophane y el diseño del hilo.(¡Los archivos F3D están disponibles!).
Lo que estoy compartiendo aquí es solo un flujo de trabajo. Más específicamente, el que encontré que funciona bien para mis necesidades. Soy completamente nuevo en el renderizado de mapas y aprendí a hacerlo solo para este proyecto. Gran parte de lo que estoy mostrando aquí quizás se pueda hacer mejor, más rápido y de manera más eficiente. ¡Y de ninguna manera soy un experto en ninguno de los siguientes temas. Si encuentra mejoras, siént
Todas las capturas de pantalla muestran el software mencionado en su versión más actualizada (a partir del 03.2025). Puede haber actualizaciones en el futuro, lo que haría que mis capturas de pantalla fueran incorrectas o obsoletas.
Licencia
Todo lo publicado aquí esDominio público. Eres libre de usar tus propias obras de la forma que quieras.No hay necesidad de acreditarme, no hay necesidad de publicarlo como un remix.. Eres libre de elegir tu propia licencia y vender tus propios diseños. También puedes incluir las bases (proporcionadas aquí) con tu carga.
Aún sugiero que si estás subiendo tu diseño, lo hagas como un remix de mi colección.:https://www.printables.com/model/1203176-minimalist-city-map-lithophane-lamps.Esto hará que sea más fácil para la gente encontrar tu modelo y tanto mi subida como la tuya pueden beneficiarse de la popularidad del otro.Si lo subes como un remix, por favor no lo subas como un remix de este tutorial, sino como un remix de la colección.Pero, de nuevo, esto es solo una sugerencia y eres libre de hacer lo que prefieras.
Prerrequisitos.
Se requiere bastante software para crear una lámpara de mapa. Afortunadamente, todo el software necesario es gratuito. La siguiente lista asume que estás ejecutando un ordenador con Windows. Además del software vinculado a continuación, necesitarás un mínimo de 8 GB de RAM. Los requisitos de software son:
- Python- Si no estás familiarizado con Python, te recomiendo que simplemente instales Anaconda en el siguiente enlace:https://www.anaconda.com/download. No hay necesidad de registrarse en esta página. Hay unOmitir el registro.botón.
- GDAL- ¡La siguiente instrucción asume que has instalado Anaconda! Para otras instrucciones de instalación, consulta. Lanza Anaconda Prompt. Si estás en una máquina Windows, simplemente escribe Anaconda Prompt en el menú de inicio. En el prompt que aparece, escribe:
- QGIS.- excelente software de renderizado de mapas, disponible aquí:
- Blender- Descarga e instala Blender:https://www.blender.org/download/
- PrusaSlicer.- Si aún no estás usando PrusaSlicer, descarga e instálalo:https://www.prusa3d.com/page/prusaslicer_424/. Otros cortadores también pueden funcionar. Solo requerimos un algoritmo de reparación de STL.
- Inkscape o GIMP.- Si quieres hacer alguna edición de imágenes o añadir textos/etiquetas a tus mapas. Inkscape:GIMP:
Creando mapas.
El primer paso para crear tu propio mapa es, obtener los datos de OpenStreetMap de la región para la que deseas crear un mapa. Puedes obtenerlos de sitios web como Geofabrik () o Openstreetmap.fr (). En ambos sitios web, puedesDescarga extractos en lugar de un conjunto de datos completo.para un continente o país. Por lo general, es mejor descargar el conjunto de datos más pequeño disponible que contenga tu ciudad.
En algunos casos, también puede necesitar descargar datos de mapas marinos. Puede encontrarlos aquí:https://osmdata.openstreetmap.de/data/water-polygons.html. Elija la segunda opción de descarga:Shapefile.formato,Mercator.Proyección yLos polígonos grandes se dividen.. Solo descarga este archivo si es necesario. Más detalles a continuación.
Suponiendo que encontraste el conjunto de datos correcto, deberías quedarte con un archivo que termine en.osm.pbf. Esto es unFormato de archivo comprimido.¡Recomiendo encarecidamente convertir a un formato no comprimido para evitar tiempos de renderización muy largos. Para hacerlo, necesitarás GDAL. Para usar GDAL, vuelve a lanzar Anaconda Prompt y escribe el siguiente comando:
ogr2ogr -f sqlite -dsco spatialite=yes "<path> debe ser reemplazado por la ruta donde se encuentra tu archivo y <filename> por el nombre del archivo. Por ejemplo:
ogr2ogr -f sqlite -dsco spatialite=yes "C:\Users\FritzPeppone\Downloads\barcelona.sqlite" "C:\Users\FritzPeppone\Downloads\barcelona.osm.pbf"El ejemplo anterior convierte un.osm.pbfarchivo a un.sqliteArchivo. Ambos se encuentran en mi carpeta de Descargas.
Si has creado con éxito tu.sqliteArchivo, es hora de iniciar QGIS. Crea un nuevo proyecto (1). Luego haz clic enCapa(2) →Añadir capa(3) →Añadir capa vectorial...(4).
En el menú que aparece, haz clic en ... (1) y elige tu.sqlitearchivo. Asegúrate de no seleccionar accidentalmente el.osm.pbfarchivo. Finalmente, haz clic enAñade(2).
Aparece otro menú en el que puedes elegir qué capas añadir. Selecciona líneas y polígonos múltiples (1), (2). Finaliza haciendo clic en Añadir capas (3) y cierra el primer menú haciendo clic en Cerrar (4).
Ahora, ya deberías ver una representación básica del mapa que acabas de descargar. Debería parecerse a esto:
Tu renderización ahora contiene dos tipos diferentes de renderizaciones: líneas y polígonos. Ambos sin ningún formato. Necesitamos las líneas para renderizar calles, caminos o vías férreas, y los polígonos múltiples para renderizar edificios, cuerpos de agua o ríos. Ahora, tenemos que elegir ajustes de renderización adecuados.
En primer lugar, recomiendo cambiar a una proyección de mapa de Mercator. Dado que normalmente nos enfrentamos a mapas de Google Maps o similares, estamos acostumbrados a su proyección de Mercator. Para hacerlo, haga clic enEPSG:4326En la esquina inferior derecha (1). A continuación, en la consola de Filtro, escribe.EPSG:3857(2). Ahora, en la lista filtrada de proyecciones, elija.WGS 84 / Pseudo-Mercator.(3). Puede que tengas que navegar allí haciendo clic enProyectado→Mercator.Primero. Finalmente, haz clic enAplicar(4).
Ahora comenzamos por renderizar las calles correctamente. Te sugiero que primero desactives elPolígonos múltiples.Al eliminar la marca correspondiente (1). Hay múltiples tipos diferentes de calles, ordenadas por su tamaño:
- Autopista.
- Tronco.
- primario
- secundario
- Terciario.
- residencial
- Senda peatonal.
Para mis representaciones de mapas minimalistas, elegí renderizarlas en diferentes anchuras de línea en orden descendente. Esto se puede lograr seleccionando ellíneasCapa (2), haz clic derecho y selecciona.Propiedades...(3) O simplemente haz doble clic en él.
Para filtrar por diferentes tipos de calles, primero seleccione Fuente (1), el Generador de consultas (2).
En la siguiente ventana, escribe una expresión de filtro (1) para seleccionar un tipo de línea específico. Aquí hay algunos ejemplos para mostrar la sintaxis:
Si quieres obtener líneas para ambos, autopista Y troncal:
"Autopista" = 'autovía' O "autopista" = 'carretera principal'Si quieres filtrar por calles principales:
"Autopista" = 'principal'Si desea obtener todas las líneas de un grupo específico, por ejemplo, todas las líneas relacionadas con el ferrocarril, escriba:
"ferrocarril" NO ES NULO.Es posible realizar consultas de búsqueda más sofisticadas. Por ejemplo, lo siguiente busca en other_tags cadenas que contienen la palabra costa y, por lo tanto, extrae dicha costa:
"other_tags" LIKE '%coastline%'Creo que entiendes cómo funciona esto. Si quieres renderizar algo específico, Google o IA de LLM como Gemini o ChatGPT son buenas fuentes para averiguar qué consulta va a producir exactamente lo que necesitas. Para mis mapas, usé como máximo 6 o 7 consultas diferentes. Estas consultas son una herramienta realmente poderosa y estoy usando como máximo un porcentaje de lo que se puede hacer.Si quieres aprender más, tendrás que hacer tu propia investigación (ya que no soy un experto en QGIS).
Después de definir nuestro Filtro, podemos probar si funciona haciendo clic enPrueba.(2). El filtro funciona si contiene más de un elemento. Finalmente, haz clic enOK(3) si tu filtro funciona.
Ahora, hemos filtrado la capa de líneas. En nuestro ejemplo, he filtrado las autopistas y las calles principales. A continuación, seleccionamos la configuración de renderizado. Para hacerlo, haga clic enSimbología.(1). En mi ejemplo, estoy usando unLínea simple.(2). También puedes elegir diseños de líneas o caminos más complejos (3). Primero, establezco las unidades de anchura aMetros a escala(4).
A continuación, elegimos un color diferente (1), confirmamos haciendo clic.OK(2) y establece la línea.Ancho(3). Mis ajustes predeterminados se muestran en la tabla a continuación. Tenga en cuenta que, para un litofán normal, solo los colores en escala de grises son relevantes. Finalmente, confirme haciendo clic.OK(4).
Tu resultado debería parecerse a la imagen siguiente. Ahora, todavía necesitas renderizar más líneas. Para hacerlo, haz clic derecho en tulíneasCapa (1) y haz clic.Capa duplicada.(2). Para una organización adecuada, también considere renombrar sus capas de manera apropiada.
Por defecto, mis renders contienen las siguientes capas con estos filtros y ajustes:
- Autopista y carretera principal. < "autopista" = 'autopista' O "autopista" = 'troncal' >, Anchura: 80 metros a escala, color: negro, Opacidad: 100%
- primario< “autopista” = ‘principal’ >, Anchura: 60 metros a escala, color: negro, Opacidad: 100%
- secundario< “autopista” = ‘secundaria’ >, Ancho: 40 metros a escala, color: negro, Opacidad: 100%
- Terciario y residencial.< "autopista" = 'terciaria' O "autopista" = 'residencial' >, Anchura: 20 metros a escala, color: negro, Opacidad: 50%
Sin embargo, estas son solo recomendaciones. Sé creativo y diseña tus propios mapas según lo que consideres apropiado.También puedes echar un vistazo a los archivos del proyecto de ejemplo.(Terminando en.qgz) Lo subí.
A continuación, queremos renderizar cuerpos de agua. Esto funciona de manera similar al renderizado de líneas. Primero, filtramos elCapa de multipolígono.. El filtro más fácil debería mostrar casi todos los cuerpos de agua, como ríos, estanques y el mar:
"natural" = 'agua'Si quieres obtener exclusivamente ríos o exclusivamente el mar, quizá te resulten útiles las siguientes consultas:
"natural" = 'agua' Y "otras_etiquetas" LIKE '%río%' "natural" = 'agua' Y "otras_etiquetas" LIKE '%mar%'Los multipolígonos a veces no están tan bien ordenados como te gustaría y diferentes cuerpos de agua pueden almacenarse en diferentes posiciones. Las bahías, por ejemplo, pueden encontrarse mediante la siguiente consulta:
"boundary" ES NULL Y "natural" = 'bahía'En nuestro ejemplo, el mar se encuentra debajo de "natural" = 'bahía'. Si no puedes encontrar cuerpos de agua o el mar, es posible que no formen parte del conjunto de datos que descargaste. Entonces puede que necesites descargar un conjunto completo de polígonos de agua. Puedes encontrarlos aquí:https://osmdata.openstreetmap.de/data/water-polygons.html. Elija la segunda opción de descarga:Shapefile.formato,Mercator.Proyección yLos polígonos grandes se dividen.. Importe de la misma manera que el.sqliteArchivos y añadir polígonos múltiples. Filtrar con las consultas anteriores. Los ajustes que utilicé para renderizar los cuerpos de agua son:
- cuerpos de agua < “natural” = ‘agua’ >, color: gris (#808080), Opacidad: 100%, sin línea circundante.
Finalmente, guarde su proyecto (1) y exportelo como una imagen (2).
Puedes elegir el alcance de tu exportación simplemente colocando el mapa en consecuencia en tu pantalla. Elige al menos 300 dpi como resolución (1) y pulsa Guardar (2).
¡FELICITACIONES!¡Acabas de crear tu propia representación de mapa!
¿Algo no funcionó o te encontraste con problemas? Subí unos cuantos.Proyectos de ejemploPuedes abrir y comprobar cómo configuré mis renderizados.
Creando litofanías.
Ahora, tienes un mapa de renderizado o otro tipo de imagen en escala de grises que quieres convertir en un Lithophane. Primero, cambiamos la relación de aspecto de la imagen a 2:1 (anchura x altura). Puedes hacer esto con software como GIMP (https://www.gimp.org/) o Photoshop. No voy a detallar aquí cómo lograr esto. Si necesitas ayuda, debería haber muchos tutoriales buenos en Youtube o Google. Otra cosa que puedes considerar es, invertir tu imagen. Esto también es posible en GIMP o Photoshop. Ve cómo puede resultar esto:
Además, también puedes agregar una etiqueta como lo hice yo. Puedes hacer esto usando GIMP, Photoshop, Illustrator, Inkscape o software similar. En mi caso, usé Adobe Illustrator. Una vez más, no estoy proporcionando detalles sobre cómo hacer esto. Debería haber mucha documentación sobre esto en línea.
Atención:Puedes elegir cualquier relación de aspecto que te guste. Sin embargo, si usas una relación de aspecto diferente, los siguientes ajustes de Lithophane y el archivo stl que contiene los hilos ya no coincidirán con tu archivo.Si lo cambias, procede con precaución y ten en cuenta que tendrás que modificar mis archivos CAD.
Suponiendo que tienes una imagen con una relación de aspecto de 2:1, dirígete a lithophanemaker:https://lithophanemaker.com/Curved%20Lithophane.html.Suba su imagen (una sola imagen) y use la siguiente configuración:

Si todo funciona bien, tanto X Span como Y Span deberían leer 105.0 mm.¡Verifica esto!
A continuación, haz clic enCrear .stly descarga el archivo stl. Y eso es todo. Acabas de crear un STL a partir de una imagen.
Añadiendo un hilo.
Ahora, pasemos a la última parte: agregar un hilo M100 para usar las bases que diseñé. Para hacerlo, primero queremos solucionar cualquier problema que pueda estar presente en nuestra malla. Lithophanemaker a veces crea mallas con agujeros, bordes irregulares, orientaciones de caras inversas o múltiples capas. Pero no se preocupen, por lo general, esto se puede solucionar fácilmente.
Mi flujo de trabajo personal para arreglar mallas incluye Autodesk Netfabb. Pero dado que este es un software propietario y de pago, estoy proponiendo un enfoque de software libre utilizando tu slicer. El ejemplo muestra Prusa Slicer, pero otros slicers (Bambu Studio, Orca, Slic3r, ...) pueden tener la misma característica.
Abra su slicer y cargue su archivo de malla.Cambia la posición de tu archivo a [0, 0, 0](1).¡Esto es muy importante para que las operaciones booleanas en Blender funcionen!
A continuación, comprobamos la calidad de la malla (2) y utilizamos el Algoritmo de Reparación de Windows haciendo clic con el botón derecho en la malla y haciendo clic enArreglar mediante el algoritmo de reparación de Windows.(3). Esto obviamenteNo funciona en Mac o Linux.sistemas. Finalmente, exportamos el modelo fijo, de nuevo haciendo clic derecho en la malla, y luego seleccionandoExportar como STL/OBJ...(4).
Una vez que tenemos una malla libre de errores, abrimos Blender e importamos la malla. Además, importamos el archivo de hilo.map_lamp_thread_M100.stl(Archivo → Importar → Stl. (stl.)). Si posicionaste tu malla en [0, 0, 0] en el paso anterior, el resultado debería verse así:
Pista: al abrir Blender, generalmente hay un cubo inicial colocado en tu entorno. Elimínalo haciendo clic en él y presionando SUPR.
Ahora finalmente combinamos lithophane y mesh realizando unintersectarOperación booleana.Este paso consume mucho tiempo y memoria.Si Blender se bloquea, una razón probable es que te has quedado sin memoria. ¡Recomiendo al menos 8 GB de RAM!
Seleccione la malla litofánica (1). En elModificadores.Pestaña (2) Haga clic enAñadir modificador.(3) y selecciona elBooleano.Modificar (4). Dependiendo de tu versión de Blender, es posible que tengas que seleccionar el modificador booleano de una lista grande o navegar hasta él.Generar → Booliano.
Select the Intersect operation (1) and click in the Object field and select the map_lamp_thread_M100 mesh (2). Depending on your Blender version, there may also be additional solver options (Intersección de uno mismo.,Tolerante con los agujeros.). Si la operación booleana no te proporciona el resultado esperado, primero comprueba.Intersección de uno mismo.y compruebe el nuevo resultado. Si aún no funciona, también puede intentar comprobarlo.Tolerante con los agujeros.y si esto tampoco funciona, elige elRápido.Solucionador. He tenido algunas mallas en el pasado, donde Blender simplemente no pudo crear una operación booleana. Esto es raro, pero puede suceder. No tengo ninguna solución para tales casos.
Tu resultado debería verse como sigue.Asegúrate de deshabilitar el renderizado de la malla map_lamp_thread_M100 para comprobar los resultados.Al alternar el símbolo de ojo que está a su lado (1). De lo contrario, siempre verás una superposición de los dos. Si estás satisfecho con el resultado, haz clic en la flecha de la pestaña del modificador booleano (2) y haz clic en .Aplicar(3).
Finalmente, podemos exportar la nueva malla.¡Primero, o elimina la malla map_lamp_thread_M100 o asegúrate de seleccionar la malla lithophane!(1) Si te pierdes esto, puedes exportar ambas mallas en un solo archivo. A continuación, haz clic en Archivo -→ Exportar -→ STL (2).
En la ventana que aparece, marque Solo selección (1). Esto es necesario para evitar exportar ambas mallas. Si ha eliminado la malla map_lamp_thread_M100, también puede omitir este paso. Elija una ubicación y un nombre de archivo y haga clic en Exportar STL (2).
¡FELICITACIONES! Acabas de crear tu lámpara de mapa litofánica.
¡Imprímelo, súbelo y compártelo con la Comunidad!
Observaciones finales
Espero que encuentres este tutorial útil. Si te encuentras con problemas o tienes sugerencias sobre cómo mejorarlo, por favor, deja un comentario.
Registro de cambios.
- 04.03.2025:Subida inicial del tutorial.
태그
모델 소스
