Pregunta

¿Alguien sabe de una biblioteca de código abierto DWG (autocad drawing) en C #?

¿Fue útil?

Solución

El principal obstáculo con el formato DWG es que el formato binario cambia cada 3 años, y volverá a cambiar en marzo de 2009. Está cifrado y las especificaciones no se hacen públicas. Es una biblioteca masivamente complicada con muchos callejones oscuros desconocidos incluso para AutoDesk (lo adquirieron hace años).

No es de código abierto, pero Open Design Alliance ... (de su sitio web) ...

  

es una membresía sin fines de lucro   consorcio de empresas de software,   desarrolladores y usuarios comprometidos con   promoviendo el intercambio abierto de CAD   Datos ahora y en el futuro. En   Además de establecer estándares para CAD   formatos de datos, la AOD también se centra en   El asunto práctico de desarrollar.   bibliotecas de software de excepcional   Calidad que permite a los miembros de la AOD   desarrollar aplicaciones capaces de   leyendo y escribiendo el popular DWG   y formatos de archivo DGN CAD.

El costo depende de para qué está usando las bibliotecas, pero el costo de nivel básico para un desarrollador es de U $ 100 / año con una tarifa de inscripción de U $ 250. Compare eso con RealDWG de AutoDesk a $ 2500 / año y $ 5000 para el primer año, entonces es una ganga. La licencia RealDWG es por producto, por cierto. Las licencias de AOD son un poco más razonables y también le permiten hacer más de 1 producto con la misma licencia. puede pagar por el código fuente, pero cuesta una bomba, menos que desarrollarlo usted mismo, aunque

Si solo tiene 1 producto, quizás RealDWG sea adecuado para usted, pero es solo para Windows. Además, tiene una API .NET en la que la AOD aún está trabajando ... las API .NET de la ODA (hay 2) están bien establecidos. Los productos de AOD están compilados para una serie de sistemas operativos, incluidos Windows (32 bits), SGI, Solaris, Windows (64 bits), Macintosh, HP, Windows CE, Linux, IBM AIX.

En cualquier caso, es una rueda masiva para reinventar, así que definitivamente vale la pena pagar por una que ya gira.

Algunas bibliotecas de terceros existen por ahí con una funcionalidad API específica limitada para intentar buscarlas si sus necesidades son muy específicas.

También vale la pena señalar que AutoDesk ha estado en más o menos litigios continuos con la AOD durante años. Si decides competir con ellos, entonces esa es otra complejidad que debes esperar.

ACTUALIZACIÓN:

Esos días ya casi han terminado.

También estoy desarrollando un producto que habla con archivos DWG. Voy por la ruta comercial porque el tiempo, el gasto y la molestia implicados no me resultan económicos.

ACTUALIZACIÓN:

Lo hice. tvCAD.tv se basa en RealDwg

Actualización de julio de 2018

Aunque usé RealDwg para tvCAD, probablemente usaría las bibliotecas ODA si comenzara ese proyecto hoy. Construir el instalador RealDwg fue una pesadilla . Además, el tamaño de instalación de RealDwg es aproximadamente 10 veces el tamaño de instalación ODA. Yah, en serio.

El dominio de Autodesk en el mercado de AutoCAD está disminuyendo, ya no es el " IBM " elección. Es posible que convierta tvCAD a las bibliotecas de AOD en el futuro, no me costaría mucho más empujarme a eso. Los costos de licencia son comparables.

Históricamente, he encontrado que el soporte de la AOD es mejor que en el entorno de Autodesk, aparte del soporte activo y fantástico en los foros mencionados en wiki de etiquetas de AutoCAD que es bastante universal para todas las plataformas. El código .NET de RealDwg se puede usar de forma bastante literal con las bibliotecas ODA. Lo mismo ocurre con los complementos .NET para AutoCAD / BricsCAD, etc.

Otros consejos

Si vas por la ruta dxf, sugeriría netDXF . es de código abierto y funcionó bien para mis requisitos limitados, aunque carece de soporte de texto multilínea y el autor dice que hay otras cosas que no admite porque son propiedad de Autodesk.

No hay soluciones de código abierto, hay algunas comerciales, entre las que se encuentra un componente .NET llamado CadLib proporcionado por Wout Ware: http://www.woutware.com/cadlib.html .

La ruta más fácil es convertir dwg a dxf ascii, es bastante sencillo consultar ascii dxf.

El único código abierto que conozco es LibreDwg y no creo que se haya completado. Nunca llegó muy lejos.

Sé de uno que es prácticamente gratuito, se llama Ivan CAD Library 2012 y está ubicado en www.ivancad.com.

Podría satisfacer tus necesidades muy bien.

Hubo una vez un esfuerzo por portar el analizador .dwg de Art Haas (del proyecto pythoncad) a c #. Parece que no puedo encontrar el enlace ATM, pero fue hace unos años. La creación de una biblioteca .dwg multiplataforma de código abierto está en la parte superior de mi lista para VectorSection , así que avíseme en qué consiste. ¡Descúbrelo!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top