2009-06-21 21 views
6

Estamos desarrollando algunos software de análisis de tensión y tensión en la universidad. Ahora es el momento de pasar de rectángulos y cajas y esferas a algunos modelos reales. Pero todavía tengo poca idea de dónde empezar.¿Punto de partida para aprender formatos de archivo CAD/CAE?

En nuestro software vamos a construir malla y luego hacer cálculos, pero ¿cómo importo cuerpos sólidos del software CAD/CAE?

1) ¿Cómo se organizan los modelos CAD/CAE? ¿Cómo se representan los cuerpos sólidos? ¿Cuáles son las posibilidades de los formatos DWG, DXF, IGES, STEP? Hay, por ejemplo, una referencia DXF completa, pero es muy difícil para mí entender sin conocer los conceptos básicos.

2) ¿Hay bibliotecas C++ para importar cuerpos sólidos desde formatos de archivo CAD/CAE? ¿No será demasiado difícil construir un modelo completo para poder importar un archivo completo?

Respuesta

7

Para importar cuerpos sólidos, primero debe exportarlos desde el sistema CAD. La mayoría de los archivos de datos del sistema CAD son correctos (a menos que todos se hayan trasladado a XML en los pocos años que he estado fuera de la industria). DWG es el formato de archivo de Autodesk y no (no lo hizo) alienta a las personas a leerlo directamente. Sí ofrecieron una biblioteca de lectura/escritura de archivos si la memoria sirve, pero no sé cuál es el estado de eso ahora. DXF, IGES y STEP son todos formatos de transferencia de datos.

DXF es propiedad de Autodesk pero está publicado para que otras compañías puedan usarlo para leer y escribir modelos. La referencia DXF es complicada, pero es solo una referencia: debe conocer los conceptos antes de poder comprender lo que representa.

Los modelos sólidos se pueden representar de varias formas, ya sea mediante Geometría sólida de construcción (CSG) donde la forma se compone de la suma o resta de primitivas sólidas entre sí, o mediante Representación de contorno (B-Rep) donde se almacenan los bordes, o por caras trianguladas (como lo usan 3D Studio MAX, WPF y muchos otros) y así sucesivamente. El formato particular dependerá de lo que el modelador esté diseñado para hacer.

Hay bibliotecas y herramientas para leer los diversos formatos de archivo. No sé cuáles siguen activos ya que son más de 5 años desde que participé activamente en gráficos 3D. Será mejor que busques la cosecha actual tú mismo. Recomiendo comenzar con Wikipedia, tendrá algunos artículos sobre gráficos 3D y debería haber muchos enlaces para leer más y herramientas/bibliotecas.

Una vez que tenga un lector, tendrá que convertir los datos a su formato interno, lo que no es una tarea trivial. Tal vez sea mejor que adopte un formato existente. Uno de mis trabajos fue la lectura de modelos de diversas fuentes en la estructura de datos de mi empresa. Mi tarea se vio muy beneficiada por el hecho de que los modeladores que admitimos venían con API que nos permitían leer las mallas del modelo directamente y desde allí era una tarea relativamente sencilla (pero nunca fácil) convertir su malla en la nuestra. Siempre hubo casos extremos y matices del formato que causaban dolores de cabeza. Estos se multiplicaron varias veces si teníamos que leer el formato de archivo nosotros mismos, como para DXF o VRML.

3

Su mejor opción es trabajar con un sistema de CAD de código abierto existente, como BRL-CAD, que incluye soporte para numerosos importadores y exportadores.

Su intuición de que aprender un formato determinado sería difícil de entender y de implementar, es bastante cierta, especialmente cuando se trata de formatos de geometría sólida destinados a fines de análisis. Preservar la solidez con garantías topológicas es importante para producir análisis válidos, pero raramente se trata con formatos de malla simples.

En particular para los dos estándares internacionales prevalentes (IGES y STEP), son excesivamente complejos de admitir, ya que pueden contener la misma geometría sólida codificada de numerosas maneras. Considera un simple ejemplo de esfera. Esa esfera podría codificarse como un punto simple y radio (sin información superficial explícita, una forma implícita común con el uso de CSG), podría ser una malla poligonal (formato de malla de facetas BREP con pérdidas), podría ser una superficie estriada (BREP NURBS), podría ser volumétrica (piense en datos de tomografía computarizada) y más. Centrarse en cualquiera de ellos implica varias concesiones (simplicidad, solidez, garantías analíticas, flexibilidad, etc.).

Como se mencionó con BRL-CAD, es un sistema de modelado sólido de código abierto grande que tiene mucha funcionalidad en muchas áreas que puede aprovechar, una docena de bibliotecas de funcionalidad y más de 400 herramientas sucintas (dos docenas de ellas aproximadamente). convertidores de geometría). Incluso si no hace exactamente lo que necesita, tiene el código fuente y puede contribuir con mejoras y colaborar con una comunidad existente para ayudar a implementar lo que necesita.

2

Al volver a leer su pregunta, permítame cambiar completamente mi respuesta. Si lo que necesitan es mallas, simplemente utilicen un formato simple basado en malla.

OBJ es simple, bueno y muy estándar. La conversión de muchos formatos CAD a OBJ requiere un tessellator/mesher, que no desea escribir de todos modos, simplemente obtenga un asiento de un paquete CAD para hacer la traducción. Moi o Rhino son de bajo costo y admiten muchos formatos.

1

Trabajo regularmente con una pieza de software comercial para simulaciones electromagnéticas que utiliza el kernel de modelado ACIS y componentes de Simmetrix. Si bien no puedo dar fe personal de la facilidad de uso de esas bibliotecas, parecen funcionar como se anuncian y pueden ahorrarle mucho trabajo. Es posible que no estén disponibles en términos adecuados para uso académico, pero parecen estar diseñados para hacer exactamente lo que usted desea.

0

En cuanto a lo que sé, todos los softwares CAD/CAE soportan formatos de archivo IGES, STEP etc. para geometría e ideas, anysis etc. para datos de malla. La mayoría de las veces, encontramos que iges no contiene información topológica. Pero el desarrollo de STEP (Estándar para el Intercambio de Producto) comenzó en 1984 como sucesor de IGES. El plan inicial era que "STEP se basaría en un Modelo de Información de Producto único, completo e independiente de la implementación, que sería el Máster Registro de los modelos de información tópica y de aplicación integrados ". Tenemos algunas bibliotecas para leer y escribir este formato de archivo. Pero a medida que escribía código para leer y escribir geometrías, así como malla, leer o escribir estos formatos de archivo no es difícil, pero es muy aburrido.

4

La forma más común en que se representan los modelos sólidos en el software CAD 3D actual (CATIA, Pro/Engineer/Solidworks/NX) es a través de la Representación de límites (B-REP).

Sin embargo, la mayoría de las bibliotecas para importar dichos datos CAD son de propiedad. Algunas bibliotecas provienen directamente de modeladores geométricos (como ACIS con Interop, Parasolid o Granite), otras son de pequeñas compañías de software especializadas en el mercado de traducción de datos CAD.

En el lado del código abierto, tal vez hayas visto el kernel de OpenCascade. Este kernel ha sido de origen abierto (principalmente), y tiene algunas funciones de importación y engranamiento de STEP.

Cuestiones relacionadas