Libreria open source cad drawing (dwg) in C #

Qualcuno sa di una libreria DWG open source (autocad) in C #?

L’ostacolo principale con il formato DWG è che il formato binario cambia ogni 3 anni – ed è destinato a cambiare nuovamente a marzo 2009. Viene crittografato e le specifiche non vengono rese pubbliche. È una libreria estremamente complessa con molti vicoli oscuri sconosciuti perfino a AutoDesk (l’hanno acquisita anni fa).

Non open source ma Open Design Alliance … (dal loro sito Web) …

è un consorzio senza scopo di lucro composto da società di software, sviluppatori e utenti impegnati a promuovere lo scambio aperto di dati CAD ora e in futuro. Oltre a stabilire standard per i formati di dati CAD, l’ODA si concentra anche sulla questione pratica dello sviluppo di librerie di software di qualità eccezionale che consentono ai membri ODA di sviluppare applicazioni in grado di leggere e scrivere i formati di file CAD DWG e DGN più diffusi.

Il costo dipende da cosa si stanno utilizzando le librerie, ma il costo base per uno sviluppatore è di U $ 100 / anno con una tassa di iscrizione di U $ 250. Confrontalo con RealDWG di AutoDesk a $ 2500 / anno e $ 5000 per il 1 ° anno, quindi è un vero affare. La licenza RealDWG è per prodotto, a proposito. Le licenze ODA sono un po ‘più ragionevoli e consentono anche di creare più di 1 prodotto sulla stessa licenza. puoi pagare il codice sorgente ma costa una bomba, meno che svilupparlo tu stesso

Se hai solo 1 prodotto, forse RealDWG ti soddisfa ma è solo per Windows – bonus, ha un’API .NET su cui l’ODA sta ancora lavorando … le API .NET dell’ODA (ce ne sono 2) sono ben consolidate. I prodotti ODA sono compilati per un numero di sistemi operativi, inclusi Windows (32 bit), SGI, Solaris, Windows (64 bit), Macintosh, HP, Windows CE, Linux, IBM AIX.

In ogni caso è una grande ruota da reinventare, quindi vale sicuramente la pena pagare per uno che gira già.

Esistono alcune librerie di terze parti con funzionalità API specifiche limitate per provare a cercare quelle se le tue esigenze sono molto specifiche.

Vale anche la pena notare che AutoDesk è stato in più o meno continuo contenzioso con l’ODA da anni. Se decidi di competere con loro, questa è un’altra complessità che non vedi l’ora di fare. AGGIORNAMENTO: Quei giorni sono praticamente finiti.

Sto anche sviluppando un prodotto che parla con file DWG. Sto andando per la via commerciale perché il tempo, le spese e le seccature coinvolte sono assolutamente antieconomiche per me. AGGIORNAMENTO: l’ho fatto. tvCAD.tv è costruito su RealDwg

Aggiornamento luglio 2018

Anche se ho usato RealDwg per tvCAD, probabilmente userei le librerie ODA se avessi iniziato quel progetto oggi. Costruire l’installer di RealDwg è stato un incubo . Inoltre, la dimensione di installazione di RealDwg è di circa 10 volte la dimensione di installazione ODA. Yah, sul serio.

Il predominio di Autodesk nel mercato di AutoCAD sta calando, non è più la scelta “IBM”. Potrei convertire tvCAD nelle librerie ODA in futuro – non ci vorrebbe molto più dolore per spingermi a farlo. I costi di licenza sono comparabili.

Ho storicamente trovato che il supporto dell’ODA è migliore di quello nell’ambiente Autodesk, a parte l’attivo e fantastico supporto tra pari sui forum menzionati nel tag wiki di AutoCAD, che è piuttosto universale per tutte le piattaforms. Il codice .NET di RealDwg può essere utilizzato in modo molto simile alle librerie ODA. Idem con plugin .NET per AutoCAD / BricsCAD, ecc.

Non ci sono soluzioni open source, ce ne sono alcune commerciali, tra cui un componente .NET denominato CadLib fornito da Wout Ware: http://www.woutware.com/cadlib.html .

Se si va giù per la via dxf, suggerirei netDXF . è open source e ha funzionato bene per le mie esigenze limitate anche se manca il supporto del testo multilinea e l’autore dice che ci sono altre cose che non supporterà perché sono proprietarie di autodesk.

Il percorso più semplice è quello di convertire dwg in dxf ascii, è abbastanza semplice interrogare ascii dxf.

L’unico open source che conosco è LibreDwg e non penso che sia completato. Non è mai arrivato molto lontano.

So di uno che è praticamente gratuito, si chiama Ivan CAD Library 2012 e si trova su http://www.ivancad.com.

Potrebbe servire molto bene ai tuoi bisogni.

C’era una volta uno sforzo per portare il parser .dwg di Art Haas (dal progetto pythoncad) a c #. Non riesco a trovare il link ATM, ma è stato qualche anno fa. La creazione di una libreria .dwg multipiattaforma open source è in cima alla mia lista per VectorSection , quindi fammi sapere cosa scopri!