https://foro.gambas-es.org/viewtopic.php?f=24&t=8024
-----------------------------------
tercoIDE
Martes, 05 May 2020, 02:21

Lector DXF
-----------------------------------
Necesitamos un algoritmo que recorra un DXF e interprete su contenido para poder dibujarlo con Paint. Si alguno lo tiene armado, se agradece.


-----------------------------------
jsbsan
Martes, 05 May 2020, 10:44

Re: Lector DXF
-----------------------------------
Los de python se nos han adelantado:

https://pypi.org/project/ezdxf/


ya que esta el trabajo realizado (no se si esta terminado)...en python ¿se podría incorporar al programa? (seria una mezcla entre python+gambas)


-----------------------------------
tercoIDE
Martes, 05 May 2020, 11:30

Re: Lector DXF
-----------------------------------
buena info, necesitamos la ayuda de las pythonisas del foro para traducir ese codigo


-----------------------------------
tincho
Martes, 05 May 2020, 12:19

Re: Lector DXF
-----------------------------------
[quote user="tercoIDE" post="48312"]Necesitamos un algoritmo que recorra un DXF e interprete su contenido para poder dibujarlo con Paint. Si alguno lo tiene armado, se agradece.[/quote]
Hola, yo tengo algo que creo que puede servir. me pongo a revisarlo y comento luego los avances.
Saludos


-----------------------------------
tercoIDE
Martes, 05 May 2020, 13:21

Re: Lector DXF
-----------------------------------
GambasCAD va a proveer funciones del tipo:

[code linenumbers=false syntax=gambas]clsEntities.AddLinea(Punto1,Punto2, color, tipo_linea, espesor) [/code]

para poder hacer Scripting y para que el que desarrolle esta herramienta incorpore directamente lo del DXF al dibujo


-----------------------------------
tincho
Martes, 05 May 2020, 13:41

Re: Lector DXF
-----------------------------------
[quote user="tercoIDE" post="48324"]GambasCAD va a proveer funciones del tipo:

[code linenumbers=false syntax=gambas]clsEntities.AddLinea(Punto1,Punto2, color, tipo_linea, espesor) [/code]
para poder hacer Scripting y para que el que desarrolle esta herramienta incorpore directamente lo del DXF al dibujo[/quote]
Buena idea.

Saludos.


-----------------------------------
tercoIDE
Martes, 05 May 2020, 17:04

Re: Lector DXF
-----------------------------------
[quote user="jsbsan" post="48316"]Los de python se nos han adelantado:

https://pypi.org/project/ezdxf/


ya que esta el trabajo realizado (no se si esta terminado)...en python ¿se podría incorporar al programa? (seria una mezcla entre python+gambas)[/quote]

uno en C

https://www.codeproject.com/Tips/652988/Simple-DXF-Reader-Viewer-with-Spline-Support

Voutt, telefono!!!! Traducir esas dos rutinas


-----------------------------------
vuott
Martes, 05 May 2020, 19:04

Re: Lector DXF
-----------------------------------
[quote user="tercoIDE" post="48329"]Voutt, telefono!!!! Traducir esas dos rutinas[/quote]
 :shock: 
...DOS ritinaaaasss ?!?!?!   :evil: 

Ufff.... veré lo qué puedo hacer.  

[quick]https://gif-finder.com/wp-content/uploads/2016/04/Better-Call-Saul-Mike-Ehrmantraut-Get-Angry-Reaction-Jonathan-Banks.gif?v=2[/quick]


-----------------------------------
vuott
Martes, 05 May 2020, 22:39

Re: Lector DXF
-----------------------------------
Hay un problema: hace falta instalar todo el sistema (librarias en [color=#990000]C++[/color]) [i]dxfparser[/i], porqué necesita usar recursos declarados en varios archivos [i]header[/i] (xxx.h).; y despues crear Clases... uffff   :x 

En alternativa, habeis visto la libreria "Gaia common support for DXF files" ? ...que, además, está escrita en C.


-----------------------------------
tercoIDE
Martes, 05 May 2020, 23:06

Re: Lector DXF
-----------------------------------
[quote user="vuott" post="48342"]Hay un problema: hace falta instalar todo el sistema (librarias en [color=#990000]C++[/color]) [i]dxfparser[/i], porqué necesita usar recursos declarados en varios archivos [i]header[/i] (xxx.h).; y despues crear Clases... uffff   :x 

En alternativa, habeis visto la libreria "Gaia common support for DXF files" ? ...que, además, está escrita en C.[/quote]

 :shock: 

acabo de hacerlo, es muy extensa...


-----------------------------------
vuott
Martes, 05 May 2020, 23:50

Re: Lector DXF
-----------------------------------
:|


-----------------------------------
vuott
Miercoles, 06 May 2020, 01:18

Re: Lector DXF
-----------------------------------
ok, siguo probando con la libreria que me señalaste.


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 02:57

Re: Lector DXF
-----------------------------------
encontre esto , ya lo vamos a resolver entre todos, no os preocupeis 

[img]https://d3i71xaburhd42.cloudfront.net/3a932ab8926581542dd1956c03480500532e50a7/2-Figure1-1.png[/img]

[img]https://d3i71xaburhd42.cloudfront.net/3a932ab8926581542dd1956c03480500532e50a7/3-Figure3-1.png[/img]


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 03:11

Re: Lector DXF
-----------------------------------
Cada funcion se ve mas o menos asi, entonces a medida que "descubrimos" una entidad en el archivo importado, se agrega directamente al listado de entidades de gambasCAD

[code linenumbers=false syntax=gambas]
Public Function AddCircle(Points As Float[], radious As Float, Optional _color As Integer = 0, Optional LineWidth As Float = 1, Optional Linetye As Integer = 0, Optional Layer As Integer = 0, Optional Block As Integer) As Boolean

    Dim oEntity As Object                       ' creamos la entidad de la clase apropiada
    oEntity = Object.New("cadCircle")             ' create the new entity of proper class
    
    oEntity.P.insert(points)                    ' centro x1,y1
    
    oEntity.fParam[0] = radious                 ' radio
    
    oEntity.layer = Layer
    oEntity._color = _color
    oEntity.LineWidth = LineWidth               ' datos CAD
    oEntity.Block = Block
    
    clsEntities.Add(oEntity)

    oEntity = Null                  ' free object
    
End[/code]


-----------------------------------
vuott
Miercoles, 06 May 2020, 07:24

Re: Lector DXF
-----------------------------------
[quote user="tercoIDE" post="48347"]encontre esto , ya lo vamos a resolver entre todos, no os preocupeis [/quote]
Perdona, asì yo no tengo hacer nada con aquella libreria DXF escrita en C++ ?


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 10:48

Re: Lector DXF
-----------------------------------
[quote user="vuott" post="48353"][quote user="tercoIDE" post="48347"]encontre esto , ya lo vamos a resolver entre todos, no os preocupeis [/quote]
Perdona, asì yo no tengo hacer nada con aquella libreria DXF escrita en C++ ?[/quote]

si la puedes traducir a Gambas me ayudaría mucho


-----------------------------------
vuott
Miercoles, 06 May 2020, 16:19

Re: Lector DXF
-----------------------------------
Yo esperaba que no.    :mrgreen: 

    :(  :cry:


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 16:33

Re: Lector DXF
-----------------------------------
lo hare yo, no te preocupes

necesito abrir DXF para verificar la perfomance de gambasCAD y si vale la pensa seguir con Paint que tiene un rendimiento inferior a OpenGL aun que mas facilidad de uso


-----------------------------------
vuott
Miercoles, 06 May 2020, 17:47

Re: Lector DXF
-----------------------------------
[quote user="tercoIDE" post="48358"]lo hare yo, no te preocupes[/quote]

No, estoy terminando de escribirla.

Espera.


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 17:51

Re: Lector DXF
-----------------------------------
[quote user="vuott" post="48359"][quote user="tercoIDE" post="48358"]lo hare yo, no te preocupes[/quote]

No, estoy terminando de escribirla.

Espera.[/quote]

ok


-----------------------------------
vuott
Miercoles, 06 May 2020, 18:34

Re: Lector DXF
-----------------------------------
He escrito este [i]Modulo principal [i][color=#B20000]DXF.module[/color][/i][/i]  y otras Clases secundarias.

He mantenido tres funciones externas de C para acelerar la traducción de todo el proyecto de C++ en Gambas.

Espero no haber cometido errores de distracción.  :|  :? 
Asì, por favor, [u]compruebe[/u] mi traducción con los archivos de la biblioteca C++ en cuestión que me has pasado.

saludos


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 19:14

Re: Lector DXF
-----------------------------------
Adapte alguna cosas para alejarnos del perverso C++ y ya funciona!!! :mrgreen: 
[img]https://foro.gambas-es.org/files/images/2399/captura_de_pantalla_de_2020_05_06_17_27_28.png[/img]


-----------------------------------
vuott
Miercoles, 06 May 2020, 22:00

Re: Lector DXF
-----------------------------------
Usaste, cambiandola, mi traducción o escribiste otra ?


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 22:14

Re: Lector DXF
-----------------------------------
[quote user="vuott" post="48365"]Usaste, cambiandola, mi traducción o escribiste otra ?[/quote]

tu traduccion , y un poco de Buscar y Reemplazar


-----------------------------------
vuott
Miercoles, 06 May 2020, 22:47

Re: Lector DXF
-----------------------------------
Hiciste bien.
La has mejorada.


-----------------------------------
tercoIDE
Miercoles, 06 May 2020, 23:31

Re: Lector DXF
-----------------------------------
Codigo final que funciona para: Line, PolyLine, Circle, SPline, Arc 

Tuve que cambiar los codigos de la PolyLine porque cambio el Standard. 

Habria que ampliar para otras entidades. 

Gracias, gran Jedi del inframundo

[code linenumbers=false syntax=gambas]' Gambas module file

Public Struct lineSt
    
    layer As Integer
    x1 As Float
    y1 As Float
    x2 As Float
    y2 As Float
    
End Struct


Public Struct circleSt
    
    layer As Integer
    x As Float
    y As Float
    r As Float
    
End Struct

Public Struct arcSt
    
    layer As Integer
    x As Float
    y As Float
    r As Float
    sa As Float
    ea As Float
    
End Struct


Public Struct StructpolylineSt
    
    layer As Integer
    vertexcount As Integer
    poliflag As Integer
    x As Float[]
    y As Float[]
    
End Struct

Public Struct StructsplineeSt
    
    layer As Integer
    m_FitPointCount As Integer
    x As Float[]
    y As Float[]
    
End Struct



Public m_Line As New LineSt
Public m_Circle As New CircleSt
Public m_PolyLine As New StructpolylineSt

Public m_Spline As New StructsplineeSt
Public m_Arc As New ArcSt

Private m_LineCount As Integer
Private m_PolyLineCount As Integer
Private m_CircleCount As Integer
Private m_ArcCount As Integer
Private m_SplineCount As Integer
' 
' Private m_Line As CLine[]
' Private m_PolyLine As CPolyLine[]
' Private m_Circle As CCircle[]
' Private m_Arc As CArc[]
' Private m_Spline As CSpline[]


' Library "libc:6"
' 
' ' FILE *fopen (const char *__restrict __filename, const char *__restrict __modes)
' ' Open a file and create a new stream for it.
' Private Extern fopen(__filename As String, __modes As String) As Pointer
' 
' ' int feof (FILE *__stream)
' ' Return the EOF indicator for STREAM.
' Private Extern feof(__stream As Pointer) As Integer
' 
' ' int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...)
' ' Read formatted input from STREAM.
' Private Extern fscanf(__stream As Pointer, __format As String, array1 As Pointer, __array2 As Pointer) As Integer
' 
' ' int fclose (FILE *__stream)
' ' Close STREAM.
' Private Extern fclose(__stream As Pointer) As Integer


Public Procedure LoadFile(stn As String)


  
  Dim fp As File
  Dim lpCode, lpValue As String
  Dim i As Integer
  Dim m_LoadStatus As Boolean

    m_PolyLine.x = New Float[]
    m_PolyLine.y = New Float[]

    m_Spline.x = New Float[]
    m_Spline.y = New Float[]

  
  fp = Open stn For Read
  If Not fp Then Error.Raise("Error !") 
    
  ' While Not Eof(fp)
  '     
  '   Read #fp, lpCode, lpValue
  '      
  '   If (trim(lpcode) =  "0") and not eof(fp) And (lpvalue =  "LINE") and not eof(fp) Then
  '     Inc m_LineCount
  '   Else If
  '     (trim(lpcode) =  "0") and not eof(fp) And (lpvalue =  "LWPOLYLINE") and not eof(fp) Then
  '     Inc m_PolyLineCount
  '   Else If
  '     (trim(lpcode) =  "0") and not eof(fp) And (lpvalue =  "CIRCLE") and not eof(fp) Then
  '     Inc m_CircleCount
  '   Else If
  '     (trim(lpcode) =  "0") and not eof(fp) And (lpvalue =  "ARC") and not eof(fp) Then
  '     Inc m_ArcCount
  '   Else If
  '     (trim(lpcode) =  "0") and not eof(fp) And (lpvalue =  "SPLINE") and not eof(fp) Then
  '     Inc m_SplineCount
  '   Endif
  '    
  ' Wend
  '   
  ' fclose(fp)
  ' 
  ' ' AllocMemory()
  ' ' 
  ' m_LineCount = 0
  ' m_CircleCount = 0
  ' m_ArcCount = 0
  ' m_PolyLineCount = 0
  ' m_SplineCount = 0
  ' 
  ' fp = fopen(stn, "r") and not eof(fp)
  ' If fp <> 0 Then
  ' 
  '   m_LoadStatus = True
  ' 
  '   lpCode.Fill(&00, 0, lpCode.Count)
  '   lpValue.Fill(&00, 0, lpCode.Count)
  
    While Not Eof(fp)
        
        Line Input #fp, lpcode
        Line Input #fp, lpValue
        'Print lpcode, lpvalue
        If (lpvalue = "LINE") And Not Eof(fp) Then

        While (Trim(lpcode) <> "8") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        
        Wend
        If Trim(lpcode) = "8" Then m_Line.layer = CInt(lpvalue)
        While (Trim(lpcode) <> "10") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        
        Wend
        If Trim(lpcode) = "10" Then m_Line.x1 = CFloat(lpValue)
        While (Trim(lpcode) <> "20") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        
        Wend
        If Trim(lpcode) = "20" Then m_Line.y1 = CFloat(lpValue)
        While (Trim(lpcode) <> "11") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        
        Wend
        If Trim(lpcode) = "11" Then m_Line.x2 = CFloat(lpValue)
        While (Trim(lpcode) <> "21") And Not Eof(fp) 
            Line Input #fp, lpcode
            Line Input #fp, lpValue
            
        Wend
        If Trim(lpcode) = "21" Then m_Line.y2 = CFloat(lpValue)
        Inc m_LineCount
        
        
        Print "Line", m_Line.layer, m_Line.x1, m_Line.y1, m_Line.x2, m_Line.y2
      
        '' Lwpolyline command:
      Else If (Trim(lpcode) = "0") And (lpvalue = "LWPOLYLINE") Then
        While (Trim(lpcode) <> "8") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "8" Then m_PolyLine.layer = CInt(lpvalue)
        While (Trim(lpcode) <> "90") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "90" Then m_PolyLine.vertexcount = Val(lpValue)
        While (Trim(lpcode) <> "70") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "70" Then m_PolyLine.poliflag = Val(lpValue)
        
        For i = 0 To m_PolyLine.vertexcount - 1
          While (Trim(lpcode) <> "10") And Not Eof(fp) 
            Line Input #fp, lpcode
          Line Input #fp, lpValue
          Wend
          If Trim(lpcode) = "10" Then m_PolyLine.x.Add(CFloat(lpValue))
          While (Trim(lpcode) <> "20") And Not Eof(fp) 
            Line Input #fp, lpcode
          Line Input #fp, lpValue
          Wend
          If Trim(lpcode) = "20" Then m_PolyLine.y.Add(CFloat(lpValue))
        Next
        Inc m_PolyLineCount
        
        Print "PolyLine", m_PolyLine.layer, m_PolyLine.poliflag, m_PolyLine.vertexcount
        For i = 0 To m_PolyLine.x.Max
            Print "PolyLine vertex", m_PolyLine.x[i], m_PolyLine.y[i]
        Next
            
      
         '' Circle command:
      Else If (Trim(lpcode) = "0") And (lpvalue = "CIRCLE") Then
        While (Trim(lpcode) <> "8") And Not Eof(fp) 
            Line Input #fp, lpcode
            Line Input #fp, lpValue
            
        Wend
        If Trim(lpcode) = "8" Then m_Circle.layer = CInt(lpvalue)
        While (Trim(lpcode) <> "10") And Not Eof(fp) 
          Line Input #fp, lpcode
            Line Input #fp, lpValue
            
        Wend
        If Trim(lpcode) = "10" Then m_Circle.x = CFloat(lpValue)
        While (Trim(lpcode) <> "20") And Not Eof(fp) 
              Line Input #fp, lpcode
            Line Input #fp, lpValue
            
        Wend
        If Trim(lpcode) = "20" Then m_Circle.y = CFloat(lpValue)
        While (Trim(lpcode) <> "40") And Not Eof(fp) 
           Line Input #fp, lpcode
            Line Input #fp, lpValue
            
        Wend
        If Trim(lpcode) = "40" Then m_Circle.r = CFloat(lpValue)
        Inc m_CircleCount
      
      Print "Circle", m_Circle.layer, m_Circle.x, m_Circle.y, m_Circle.r
      ' Arc command
      Else If (Trim(lpcode) = "0") And (lpvalue = "ARC") Then
        While (Trim(lpcode) <> "8") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "8" Then m_Arc.layer = CInt(lpvalue)
        While (Trim(lpcode) <> "10") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "10" Then m_Arc.x = CFloat(lpValue)
        While (Trim(lpcode) <> "20") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "20" Then m_Arc.y = CFloat(lpValue)
        While (Trim(lpcode) <> "40") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "40" Then m_Arc.r = CFloat(lpValue)
        While (Trim(lpcode) <> "50") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "50" Then m_Arc.sa = CFloat(lpValue)
        While (Trim(lpcode) <> "51") And Not Eof(fp) 
          Line Input #fp, lpcode
          Line Input #fp, lpValue
        Wend
        If Trim(lpcode) = "51" Then m_Arc.ea = CFloat(lpValue)
        Inc m_ArcCount
        
        Print "Arc", m_Arc.layer, m_Arc.x, m_Arc.y, m_Arc.r, m_Arc.sa, m_Arc.ea
        
        
      Else If (Trim(lpcode) = "0") And (lpvalue = "SPLINE") Then
        While (Trim(lpcode) <> "8") And Not Eof(fp) 
              Line Input #fp, lpcode
              Line Input #fp, lpValue
            
        Wend
      If Trim(lpcode) = "8" Then m_Spline.layer = CInt(lpvalue)
        While (Trim(lpcode) <> "73") And Not Eof(fp) 
              Line Input #fp, lpcode
              Line Input #fp, lpValue
            
        Wend
      If Trim(lpcode) = "73" Then m_Spline.m_FitPointCount = Val(lpValue)
      For i = 0 To m_Spline.m_FitPointCount - 1
        While (Trim(lpcode) <> "10") And Not Eof(fp) 
            Line Input #fp, lpcode
            Line Input #fp, lpValue
          
        Wend
        If Trim(lpcode) = "10" Then m_Spline.x.Add(CFloat(lpValue))
        While (Trim(lpcode) <> "20") And Not Eof(fp) 
            Line Input #fp, lpcode
            Line Input #fp, lpValue
          
        Wend
        If Trim(lpcode) = "20" Then m_Spline.y.Add(CFloat(lpValue))
      Next
      Inc m_SplineCount
      
      Print "SPLine", m_Spline.layer, m_Spline.m_FitPointCount
        For i = 0 To m_Spline.x.Max
            Print "SPLine vertex", m_Spline.x[i], m_Spline.y[i]
        Next
        
      
      
      Endif
  
  
  
    Wend
    
  ' Else
  '   m_LoadStatus = False
  ' Endif
  fp.Close
  
  
End

' 
' Private Procedure AllocMemory()
'   
'   m_Line = New CLine
' 	m_Arc = New CArc
' 	m_Circle = New CCircle
' 	m_PolyLine = New CPolyLine
' 	m_Spline = New CSpline
'   
' End


'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 
' 
' Public Function GetLineCount() As Integer
'   
'   Return m_LineCount
'   
' End
' 
' Public Function GetCircleCount() As Integer
'   
'   Return m_CircleCount
'   
' End
' 
' Public Function GetArcCount() As Integer
'   
'   Return m_ArcCount
'   
' End
' 
' Public Function GetLwPolyLineCount() As Integer
'   
'   Return m_PolyLineCount
'   
' End
' 
' Public Function GetSplineCount() As Integer
'   
'   Return m_SplineCount
'   
' End[/code]


-----------------------------------
vuott
Jueves, 07 May 2020, 00:16

Re: Lector DXF
-----------------------------------
Bravo, Has sido hábil y capáz,  y más paciente que yo.
Interesante tu solución con Estructuras: por otra parte, las Estructuras son Clases sin eventos.

[i]Bonum fecisti, melius egisti ![/i]


-----------------------------------
tercoIDE
Jueves, 07 May 2020, 00:43

Re: Lector DXF
-----------------------------------
[quote user="vuott" post="48370"]Bravo, Has sido hábil y capáz,  y más paciente que yo.
Interesante tu solución con Estructuras: por otra parte, las Estructuras son Clases sin eventos.

[i]Bonum fecisti, melius egisti ![/i][/quote]

yo andaba con las Struct hasta que conocí a las Class y me enamore


-----------------------------------
tincho
Domingo, 10 May 2020, 16:59

Re: Lector DXF
-----------------------------------
Por si se quieren divertir un poco mas
https://www.gnu.org/software/libredwg/
Saludos.


-----------------------------------
vuott
Domingo, 10 May 2020, 17:31

Re: Lector DXF
-----------------------------------
:-D


-----------------------------------
tercoIDE
Domingo, 10 May 2020, 18:36

Re: Lector DXF
-----------------------------------
[quote user="tincho" post="48429"]Por si se quieren divertir un poco mas
https://www.gnu.org/software/libredwg/
Saludos.[/quote]

Supongamos que "lees" DWG con esa lib, que haces con lo "leido"? Digo, hay que aprender a usar la libreDWG , y despues transformar entidades libreDWG a entidades GambasCAD. Un camino demasiado largo. Si ni siquiera completamos la lectura del DXF que es super facil.

Con Load/Save DXF es suficiente para "hablar" con cualquier app CAD existente. Este proyecto se va a enfocar en leer todo DXF v2007 (la version Default de LibreCAD) y no solo lo que hemos hecho que son las enidades basicas.


-----------------------------------
tercoIDE
Martes, 12 May 2020, 12:31

Re: Lector DXF
-----------------------------------
A eso le falta trabajo, pero va bien. Aqui les muestro una captura del lector DXF en accion, abriendo un viejo plano de un edificio. Las polilineas aparecen descontroladas y todavia no leemos Layers ni Linetypes.

[img]https://foro.gambas-es.org/files/images/2399/captura_de_pantalla_de_2020_05_12_08_26_46.png[/img]


-----------------------------------
jsbsan
Miercoles, 13 May 2020, 18:20

Re: Lector DXF
-----------------------------------
tercoIDE:

Tiene buena pinta, +1


