Material De Estudio Que Puede Interesar.


Subject: Material De Estudio Que Puede Interesar.
Hola a todos.
El el marco de el programa CAD que estamos intentando hacer me permito pones a vuestra disposición algunos enlaces que pueden interesar a quien se sume a este proyecto.

Formato DXF
https://images.autodesk.com/adsk/files/acad_dxf1.pdf
https://documentation.help/AutoCAD-DXF/

Librerías libres de símbolos
https://github.com/Xaviju/inkscape-open-symbols

Saludos

Last edited by tincho on Wednesday, 29 April 2020, 17:18; edited 1 time in total
Profile PM  
Subject: Re: Material De Estudio Que Puede Interesar.
Archivo de flujo del programa


cad-flow.dia.tar.gz
Description:  
Download
Filename: cad-flow.dia.tar.gz
Filesize: 2.42 KB
Downloaded: 89 Time(s)
cad-flow.dia.tar.gz
Description:  
Download
Filename: cad-flow.dia.tar.gz
Filesize: 2.42 KB
Downloaded: 89 Time(s)
cad-flow.dia.tar.gz
Description:  
Download
Filename: cad-flow.dia.tar.gz
Filesize: 2.42 KB
Downloaded: 89 Time(s)

Profile PM  
Subject: Re: Material De Estudio Que Puede Interesar.
Yo quiero mucho los .dxf, lo use hace mucho tiempo en una aplicación para crear diagramas.

En la vida real (en el trabajo), casi nunca lo he visto, siempre te pasan .dwg y es una pena porque te amarra a Autocad si o si....

Subject: Re: Material De Estudio Que Puede Interesar.
jsbsan escribió:  
Yo quiero mucho los .dxf, lo use hace mucho tiempo en una aplicación para crear diagramas.
En la vida real (en el trabajo), casi nunca lo he visto, siempre te pasan .dwg y es una pena porque te amarra a Autocad si o si....

Ya no, porque ahora la libreria libreDWG puede escribir DWG en formato 2000
Así que en principio se podría pasar de autocad.
Saludos.

Profile PM  
Subject: Re: Material De Estudio Que Puede Interesar.
Lista de entidades DXF
Public Function GetEntityList() As Collection

Dim entity As New Collection

'entity.Add(True, "3DFACE")
'entity.Add(True, "3DSOLID")
'entity.Add(True, "ACAD_PROXY_ENTITY")
entity.Add(True, "ARC")

'entity.Add(True, "ATTDEF")
'entity.Add(True, "ATTRIB")
'entity.Add(True, "BODY")
entity.Add(True, "CIRCLE")
entity.Add(True, "DIMENSION")
entity.Add(True, "ELLIPSE")
entity.Add(True, "HATCH")
'entity.Add(True, "HELIX")
'entity.Add(True, "IMAGE")
entity.Add(True, "INSERT")
'entity.Add(True, "LEADER")
'entity.Add(True, "LIGHT")
entity.Add(True, "LINE")
'entity.Add(True, "LWPOLYLINE")
'entity.Add(True, "MLINE")
'entity.Add(True, "MULTILEADER")
'entity.Add(True, "MLEADERSTYLE")
'entity.Add(True, "MTEXT")
'entity.Add(True, "OLEFRAME")
'entity.Add(True, "OLE2FRAME")
'entity.Add(True, "POINT")
entity.Add(True, "POLYLINE")
'entity.Add(True, "RAY")
'entity.Add(True, "REGION")
'entity.Add(True, "SECTION")
'entity.Add(True, "SEQEND")
'entity.Add(True, "SHAPE")
'entity.Add(True, "SOLID")
'entity.Add(True, "SPLINE")
'entity.Add(True, "SUN")
'entity.Add(True, "SURFACE")
'entity.Add(True, "TABLE")
entity.Add(True, "TEXT")
'entity.Add(True, "TOLERANCE")
'entity.Add(True, "TRACE")
'entity.Add(True, "UNDERLAY")
'entity.Add(True, "VERTEX")
'entity.Add(True, "VIEWPORT")
'entity.Add(True, "WIPEOUT")
'entity.Add(True, "XLINE")

End

Comento las que no son necesarias al principio ya que son entidades avanzadas que me parece que en la etapa temprana que estamos pueden omitirse.
Saludos.

Profile PM  
Subject: Re: Material De Estudio Que Puede Interesar.
tincho escribió:  
Lista de entidades DXF
Public Function GetEntityList() As Collection

Dim entity As New Collection

'entity.Add(True, "3DFACE")
'entity.Add(True, "3DSOLID")
'entity.Add(True, "ACAD_PROXY_ENTITY")
en

End

Comento las que no son necesarias al principio ya que son entidades avanzadas que me parece que en la etapa temprana que estamos pueden omitirse.
Saludos.


o sea que cuando tengamos esas entidades listas podriamos importar DXF?

Profile PM  
Subject: Re: Material De Estudio Que Puede Interesar.
tercoIDE escribió:  
tincho escribió:  
Lista de entidades DXF
Public Function GetEntityList() As Collection

Dim entity As New Collection

'entity.Add(True, "3DFACE")
'entity.Add(True, "3DSOLID")
'entity.Add(True, "ACAD_PROXY_ENTITY")
en

End

Comento las que no son necesarias al principio ya que son entidades avanzadas que me parece que en la etapa temprana que estamos pueden omitirse.
Saludos.


o sea que cuando tengamos esas entidades listas podriamos importar DXF?

La cosa es mas sencilla de lo que parece, el DXF es un archivo de texto de un formato bastante arcaico, si cabe la expresión, y se pueden "leer" entero como cualquier archivo de texto y, por lo tanto, extraer desde un solo tipo de entidad hasta todas las que contienga.
Digamos que si en GambasCADE queremos representar rectángulos, líneas y círculos podríamos hacerlo con las clases que hay ahora mismo en nuestro querido CAD.
Saludos.
Saludos.

Profile PM  
Subject: Re: Material De Estudio Que Puede Interesar.
Tincho:

Os comento, yo lo programaría el tema de como Importar/Exportar información de las clases a ficheros dwg, svg, o cualquier otro formato (el formato que usa TercoIde en su programa de estructuras).

Para cada clase de dibujo (linea, punto, rectángulo, etc...) tendria dos métodos nuevos:
.devuelve() as string
.cargar(datos as string)


Para Exportar:
Cada clase tiene que tener un método ".devuelve()" que devuelva una string, en formato json que contiene el nombre de las propiedades y sus valores (por ejemplo "color","rojo", o "capa","planta1") y luego los elementos graficos por los que esta compuesto (una linea seria "linea",ValorXinicio,ValorYinicio,ValorXfin,ValorYfin)

Se crea otra clase que recorra todos los elementos gráficos del dibujo y que use el método ".devuelve()" de cada elemento para ir construyendo el fichero de salida.

Esto tiene la ventaja de que se puede ir ampliando con varias clases para convertir los elementos a varios tipos de formato:
clase ExportaDxf()
clase ExportarSvg()
.....
Sin tener que tocar para nada el código de las clases linea, punto, rectangulo, etc...

Para Importar:
Iríamos en el siguiente orden:
Una clase que lee el contenido del fichero de datos, y va creando los nuevos objetos del dibujos
Estos objetos tienen cada uno método ".cargar(datos as string)" donde se les pasa una cadena tipo json donde les pasamos todos los valores y ese método es el encargado de "cargarse a si mismo", con las valores.

De esta forma tendríamos varias clases:
clase ImportarDXF()
clase ImportarSVG()
.....

No se, lo mismo esto diciendo una cosa de "perogrullo", pero me esta rondando toda la mañana esta idea.

Saludos

Julio


Nota:
Hay otra forma de crear nuevas clases usando el método _new(), usando el numero de parametros, pero creo que es menos clara. La podeis ver aqui:

https://cursogambas.blogspot.com/20...-hacer-una.html

Last edited by jsbsan on Friday, 01 May 2020, 17:21; edited 1 time in total
Subject: Re: Material De Estudio Que Puede Interesar.
jsbsan escribió:  
Tincho:

Os comento, yo lo programaría el tema de como Importar/Exportar información de las clases a ficheros dwg, svg, o cualquier otro formato (el formato que usa TercoIde en su programa de estructuras).
...


Terco esta haciendo estos días las clases para las entidades que faltan. Seguro que le interesan estos temas.
Respecto a guardar, esto que decís es interesante porque al guardar los datos en XML ( no digo SVG que es un XML pero mas complejo ) estos datos lo sacamos de las clases, de una array de clases bueno y el código de preparación de los datos para guardarlos es cambiante según que entidad sea, pero si en la clase ya hay un string listo para guardar ahorra un paso, lo cual es interesante ademas de mas seguro respecto a errores.
Luego sucede que las entidades gráficas como lineas círculos digamos, se pueden trasladar desde y hacia todos los formatos que imaginemos. Pero sucede que los elementos smart ademas de la información grafica tienen algo mas que podríamos llamar meta-datos y eso cambia la cosa a la hora de guardarlo en, por ejemplo DXF.
Pero seguimos dialogando estos temas y haciendo alguna prueba.
¿Quieres que te agregue al proyecto en girhub? Supongo que siempre sera mejor subir una clase de prueba con el método que dices así yo también hago la prueba para guardar y esos temas.
Saludos.

Profile PM  
Subject: Re: Material De Estudio Que Puede Interesar.
Tincho:

Citar:
¿Quieres que te agregue al proyecto en girhub? Supongo que siempre sera mejor subir una clase de prueba con el método que dices así yo también hago la prueba para guardar y esos temas.

Vale.

Lo ideal seria trabajar en ramas con github y luego unirlas al proyecto principal.. pero yo no se como se trabaja con ramas , yo voy siempre a lo bruto... una rama principal...


Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1568s (PHP: -15% SQL: 115%)
SQL queries: 25 - Debug Off - GZIP Enabled