sldprt obj convertir archivos solidworks exporter

convertir - SolidWorks para exportar OBJ



convertir archivos sldprt a obj (1)

No estoy seguro de lo que significan TextureTranslationX y TextureTranslationY en este contexto, pero TextureTranslationU y TextureTranslationV casi seguramente se refieren a las coordenadas de textura del modelo.

Por lo general, las coordenadas de textura (U, V) se especifican entre [0,1] y determinan cómo se mapea una imagen en una superficie. (U, V) = (0,0) normalmente será el píxel superior izquierdo de la imagen de textura.

Así que si tienes un conjunto de vértices como:

v 0 0 0 v 1 0 0 v 0 1 0 v 1 1 0

Lo que define un cuadrado en el espacio (X, Y, Z), y estos vértices tienen las siguientes coordenadas de textura (U, V):

vt 0 0 vt 1 0 vt 0 1 vt 1 1

Luego, una "textura", por la cual realmente nos referimos a la imagen, se aplicará al cuadrado de manera que su píxel superior izquierdo se aplicará al vértice (0, 0, 0) del cuadrado.

TectureUScale y TextureVScale probablemente se refieren a parámetros de escala que permiten obtener imágenes de texturas no rectangulares.

Para traducir esto a OBJ, consulte http://en.wikipedia.org/wiki/Wavefront_.obj_file . El formato que utilicé anteriormente es consistente con la especificación de formato de archivo.

También deberá guardar la imagen de textura en un archivo .tga de acuerdo con la documentación y luego crear un archivo .mtl que tenga el siguiente aspecto:

newmtl texture1 Ka 1.000 1.000 1.000 # Only ambient to keep things simple Kd 0.000 0.000 0.000 # Disable diffuse component Ks 0.000 0.000 0.000 # Disable specular component illum 1 # Only color and ambient are enabled map_Ka texture.tga # Ambient texture map

La pieza final es poner:

usemtl [texture1]

Antes de las definiciones de coordenadas de vértice y textura en su archivo .obj.

Comenzaría con algo muy simple como un cuadrado texturizado con un patrón de tablero de ajedrez que tiene el mismo ancho y alto.

En este momento estoy involucrado en la creación del complemento de SolidWorks para exportar modelos 3D en formato OBJ.

Se abre el formato OBJ y muy sencillo.

Busqué en Google y descubrí la siguiente información sobre las soluciones existentes: hay varios complementos de pago y 1 gratis, que se llama "Exportador OBJ gratuito".

Fue tomada como base. Pero no exporta las calcomanías.

Las calcomanías son imágenes que dibuja sobre la textura principal (si se aleja del contexto de SolidWorks, en la programación 3D es como una marca de balas, gotas de sangre, etc.)

Las calcomanías de exportación son una parte importante del proyecto.

Reescribí todo el código VBA en C #.

Y ahora me enfrento al tema de las calcomanías de exportación. Documentación Solidworks API bastante pobre.

Después de una semana de leer la documentación y un par de preguntas en LinkedIn encontré lo siguiente:

IDecal es una clase IRendererMaterial de IRendererMaterial . Por lo tanto, puedo obtener una lista de todas las calcomanías y obtener la siguiente información:

  • Yposition
  • Xposition
  • Anchura
  • Altura

También puedo obtener una lista de objetos IFace2 y obtener FaceDecalProperties . IFaceDecalProperties proporciona la siguiente información:

  • TextureTranslationU
  • TextureTranslationV
  • TextureTranslationX
  • TextureTranslationY
  • TextureUScale
  • TextureVScale

No sé qué es, qué significa y cómo usarlo.

El formato OBJ no admite calcomanías directamente.

¿Cómo puedo usar estos parámetros para la textura de concatenación y la calcomanía en un archivo? Quiero hacerlo para representar la calcomanía en la cara y resolver el problema de Z-fighting, porque no tengo el código fuente del renderizador.