Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libDwg / doc / dev_notes.txt @ 2896

History | View | Annotate | Download (5.43 KB)

1
jdwglib Development Notes
2

    
3
Objetivos
4

    
5
- gvSIG debe leer ficheros en formato DWG
6

    
7

    
8
Alternativas
9
	
10
	Librer?as OpenDWG
11
		
12
		Ventajas
13
		
14
		- Soporte del formato DWG de la m?s alta calidad garantizado
15
		
16
		- Permite tanto lectura como escritura
17
		
18
		- Todas las versiones est?n soportadas
19
		
20
		- OpenDWG tiene gran capacidad de desarrollo
21
		
22
		Inconvenientes
23
		
24
		- Est? en C y es necesario un acceso JNI
25
		
26
		- Una empresa que de un uso comercial a gvSIG debe pagar a OpenDWG por sus
27
		  librer?as
28
		
29
		- Un usuario que no de un uso comercial a gvSIG debe mandar un contrato
30
		  firmado a la OpenDWG
31
		
32
		- OpenDWG puede decidir no facilitar sus librer?as
33
		
34
		- OpenDWG en la pr?ctica no tiene ninguna obligaci?n para con sus
35
		  usuarios
36
	
37
	Acceso v?a jython a la librer?a de DWG en Python de Art Haas
38
		
39
		Ventajas
40
		
41
		- M?xima reutilizaci?n de la librer?a original de Art Haas
42
		
43
		- Facilidad a la hora de incorporar nuevas versiones de la librer?a original
44
		
45
		Inconvenientes
46
		
47
		- Incremento muy muy considerable de la complejidad del c?digo
48
		
49
		- Ralentizaci?n de la librer?a
50
		
51
		- Grandes dificultades para realizar cambios en el c?digo
52
		
53
		- Es posible que Art no vaya a sacar nuevas versiones de esta librer?a
54
		
55
		- La librer?a de Art no est? orientada a objetos. La propia opini?n de Art es
56
		  que la mejor opci?n es el porting dotando a la nueva librer?a de orientaci?n
57
		  a objetos
58
	
59
	Port a Java de la librer?a de DWG en Python de Art Haas
60
		
61
		Ventajas
62
		
63
		- Desarrollo completo GPL
64
		
65
		- Lectura completa de ficheros DWG hasta la versi?n 2000
66
		
67
		- Si se publica la librer?a quiz? se logre la colaboraci?n de otros
68
		  desarrolladores
69
		
70
		- Art Haas no descarta la posibilidad de implementar la escritura de DWG
71
		
72
		Inconvenientes
73
		
74
		- Hoy por hoy no existe colaboraci?n en este sentido por parte de la
75
		  OpenDWG, ni por parte de Art Haas (desarrollador de la librer?a en python
76
		  de lectura de DWG)
77
		
78
		- La especificaci?n de la OpenDWG tiene errores que no piensan resolver
79

    
80

    
81
Cronolog?a
82

    
83
050308 - 050520 = 2 meses. Menos el tiempo empleado en el Proyecto del CAD y en
84
el de Felipe ... mes y medio.
85

    
86
050308 - 050316 --> Reparando bugs del modulo de CAD e investigando las
87
					alternativas para la lectura de DWG
88

    
89
050316 - 050321 --> Investigando las alternativas para la lectura de DWG. Intento
90
					de desarrollo seg?n la especificaci?n. Descubrimiento de la
91
					librer?a de Art
92

    
93
050321 - 050331 --> Probando la librer?a de Art. Probando el acceso v?a jython
94

    
95
050331 - 050408 --> Probando el acceso v?a jython y portando la librer?a a Java
96
					paralelamente. Correcci?n de bugs del CAD
97

    
98
050408 - 050425 --> Portando la librer?a a java y dotarla de orientaci?n a objectos.
99
					Correcci?n de bugs
100

    
101
050425 - 050510 --> Correcci?n de bugs. Gesti?n de polil?neas y bloques en el driver.
102
					Obtenci?n de nombres de capa y colores por capa
103

    
104
050510 - 050515 --> Corrigiendo bugs. Reestructurando la librer?a para que soporte
105
					la gesti?n que antes se hac?a en el driver
106

    
107
050515 - 050520 --> Corrigiendo bugs. Buscando ayuda para resolver estos bugs.
108
					Maqueando jdwglib v0.1 y su driver para gvSIG
109

    
110

    
111
Perspectivas
112

    
113
Mientras no cambie la pol?tica (y no creo que eso suceda) de la OpenDWG, la gesti?n de
114
informaci?n contenida en ficheros DWG a trav?s de su librer?a ser? propietaria y de
115
pago. La ventaja de su utilizaci?n es su potencia. Representa el camino r?pido y
116
sencillo
117

    
118
jdwglib se ajusta a los requisitos exijidos en el pliego para gvSIG y adem?s constituye
119
la primera librer?a libre de lectura de ficheros DWG en Java. Para lograr que la
120
lectura de DWG a trav?s de esta librer?a sea tan efectiva como la de DXF, tan solo
121
hay que solucionar los bugs conocidos. Para ello ser?a de gran ayuda la publicaci?n de
122
la librer?a y la colaboraci?n de la comunidad en el desarrollo. Sobre este tema habr?a
123
que discutir cuando es buen momento para la publicaci?n, puesto que esta librer?a podr?a
124
ser aprovechada por ProDevelop para mejorar su oferta de CAD
125

    
126
Con ayuda de la comunidad los objetivos pueden cumplirse en un plazo breve, quiz? un
127
mes. Sin ayuda, el proceso de depuraci?n de la librer?a puede prolongarse m?s y hasta
128
es posible que no se consigan eliminar todos los bugs
129

    
130

    
131
Supported features
132

    
133
Fomatos gr?ficos soportados
134

    
135
- Lectura del formato DWG de Autodesk
136

    
137
Versiones soportadas
138

    
139
- Versi?n 15 del formato DWG
140

    
141
Objectos gr?ficos soportados
142

    
143
- Arc
144

    
145
- Block
146

    
147
- Block Control
148

    
149
- Block Header
150

    
151
- Circle
152

    
153
- Endblk
154

    
155
- Insert
156

    
157
- Layer
158

    
159
- Layer Control
160

    
161
- Line
162

    
163
- Linear Dimension
164

    
165
- MText
166

    
167
- Point
168

    
169
- Polyline2D
170

    
171
- LwPolyline
172

    
173
- Seqend
174

    
175
- Solid
176

    
177
- Spline
178

    
179
- Text
180

    
181
- Vertex2D
182

    
183
- Ellipse
184

    
185
- Polyline3D
186

    
187
- Vertex3D
188

    
189

    
190
Otros elementos implementados
191

    
192
- bulges
193

    
194
- 3D
195

    
196
- Extrusiones
197

    
198

    
199
TODO List
200

    
201
- Inserci?n de bloques en 3D
202

    
203
- Completar la implementaci?n de todos los elementos dentro de bloques
204

    
205
- Attdef
206

    
207
- Attrib
208

    
209
- Thickness
210

    
211
- Aceleraci?n de la lectura
212

    
213
- Aceleraci?n de la gesti?n de elementos complejos
214

    
215

    
216
Known bugs
217

    
218
- Bugs concretos en el manejo de bloques
219

    
220
- LwPolylines  <-- FIXED 050524
221

    
222
- Layer handle "4 0" --> layer names, color by layer y bloques
223

    
224
- leve inclinaci?n an?mala y homogenea de los textos (quiz? relacionada con el ?ngulo
225
  de convergencia de las hojas) <-- FIXED 050527
226

    
227
- Bugs relacionados con polil?neas sin v?rtices
228

    
229
- Elementos fuera de sitio
230

    
231
- Elipses completas dentro de bloques
232

    
233
- Arcos de elipse
234

    
235
- Peque?os errores en arcos o polil?neas con bulges
236

    
237

    
238
Feature Request
239

    
240
- Lectura del formato DWG versi?n 13 y 14
241

    
242
- Lectura y escritura del formato DXF de Autodesk
243

    
244
- Escritura del formato DWG
245

    
246