svn-gvsig-desktop / tags / v1_9_Build_1236 / libraries / libDwg / doc / dev_notes.txt @ 40002
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 |
|