tutorial descargar import wolfram-mathematica collada sketchup

import - tutorial - layout sketchup descargar



ImportaciĆ³n de modelos de Google Sketchup en Mathematica (4)

Sketchup de Google es un modelador de objetos 3D agradable y simple. Además, Google tiene un enorme almacén de objetos tridimensionales, de modo que usted no tiene que hacer mucho modelado si no está especialmente dotado en esta área. Muchos de los edificios 3D en Google Earth están hechos con Sketchup. La capacidad de importar archivos SKP de Sketchup en Mathematica sería muy agradable, pero lamentablemente todavía no lo hace.

La versión gratuita de Sketchup no exporta a ningún otro formato que los formatos KMZ (Google Earth) y DAE (Collada). Aunque MMA puede leer archivos KMZ / KML, no lee los que contienen objetos 3D. Los archivos DAE se comprimen en archivos Collada y se pueden leer como XML mediante la importación de MMA. El árbol XML resultante es bastante complejo, como lo es la definición de Collada y llegar a la geometría del objeto no es trivial (logré forzar el conjunto de coordenadas de un modelo).

Mi pregunta es: ¿cómo convertir archivos SKP en una estructura limpia basada en un polígono en Mathematica?

Preferiría un convertidor de importación que proporciona MMA con esta capacidad de importación, pero también son bienvenidas otras rutas. Voy a publicar el método bastante indirecto que estoy usando actualmente como respuesta mañana.


La respuesta depende de lo que quieras hacer exactamente. Si solo desea ver la imagen, puede exportarla como un archivo .obj (archivo de teselación, ¡no código de objeto!).

Prueba esto por ejemplo:

bunny = Import["http://graphics.stanford.edu/~mdfisher/Data/Meshes/bunny.obj", "OBJ"]

Si realmente quiere trabajar con él como un modelo sólido, tendrá más dificultades. Los modelos sólidos tienen estructuras de datos bastante complejas para representar la topología y la geometría. Es posible que pueda sacar las superficies del modelo, por ejemplo, pero tendrá que tener una topología para decir qué parte de la superficie utiliza una cara.


Probablemente no sea exactamente lo que estás buscando, pero mantengo una biblioteca de python llamada pycollada . Puede usarlo para exportar al formato de Mathematica. También he estado trabajando en una utilidad de importación / exportación / conversión llamada meshtool, que podría escribir un módulo para exportarlo al formato de Mathematica.


Aquí hay un código que importó con éxito un archivo .dae muy simple producido por la versión gratuita de SketchUp 8.0 en Mathematica 8. Este código no detecta o actúa sobre transformaciones, solo mira las coordenadas y triángulos, por lo que no espere demasiado.

data = Import[SystemDialogInput["FileOpen"], "XML"]; points = Map[( Partition[ReadList[StringToStream[#[[1]] ], Number], 3]) &, (Map[Part[#, 3] &, (Partition[ Cases[data, XMLElement["float_array", _, _], Infinity], 2][[All, 1]])] ) ]; triangles = Map[Partition[1 + ReadList[StringToStream[#[[1]]], Number],3] &, Map[Part[#, 3, 2, 3]&, Cases[data, XMLElement["triangles", _, _], Infinity]]]; Graphics3D[Map[GraphicsComplex[#[[1]], Polygon[#[[2]]]] &, Transpose[{points, triangles}]], Boxed -> False]


La ruta que sigo actualmente implica una serie de pasos:

  1. Descargue el archivo SKP del repositorio de Google
  2. Ábrelo en la versión gratuita de Sketchup
  3. Exportar desde allí como DAE
  4. Conviértalo en formato FBX usando el convertidor gratuito AutoDesk fbx (en el fondo de la página aquí )
  5. Usando el mismo programa, convierta el archivo FBX recién creado a DXF u OBJ
  6. Importar en Mathematica.

Los resultados son bastante buenos, aunque pareces perder las texturas. Las siguientes figuras muestran los resultados. Izquierda: el modelo original de Sketchup, medio: conversión / importación a través de DXF, derecha: conversión / importación a través de OBJ.

Obviamente, no desea hacer esto con demasiada frecuencia, y para la aplicación específica en la que estoy trabajando me gustaría una solución que los usuarios que no son muy conocedores de la informática también puedan manejar.

Actualizar:

A partir de la versión 10.4, Mathematica tiene la capacidad de importar y exportar archivos DAE: https://reference.wolfram.com/language/ref/format/DAE.html