Programa CAD Paso A Paso.


Objetivo: Programa CAD Paso A Paso.
Hola a todos.
Estoy tratando de entender como trabajan los programas CAD que han hecho Terco y Julio. El primero orientado a las estructuras de hormigón y el segundo a los diagramas.
Ambos programas son bastante complejos para alguien novel en el uso de estos controles (mi caso) así que prepare un ejemplo muy sencillo para ir paso a paso agregando herramientas.
A ver si los que estemos interesados en aprender estas cosas podemos aprender a usarlas.
¿Que les parece esta hoja de ruta?
1 - Crear entidades
  • líneas [SOLUCIONADO]
  • Polilíneas
  • Textos
  • Círculos
  • Elipses
  • Arcos
  • Puntos
  • Acotaciones
  • Bloques

2 - Modificar entidades
  • Mover
  • Copiar
  • Copia múltiple
  • Simetría
  • Partir
  • Cortar

3 - Abrir
4 - Importar

5 - Guardar
6 - Exportar
  • DXF (dwg ni me lo planteo ya que ahí no hay librerias libres)

Saludos.

última edición por tincho el Lunes, 27 Abril 2020, 18:28; editado 2 veces

ejemplo-class-painting-drawingarea-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.2.tar.gz
Tamaño: 108.05 KB
Descargado: 100 veces
ejemplo-class-painting-drawingarea-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.2.tar.gz
Tamaño: 108.05 KB
Descargado: 100 veces
ejemplo-class-painting-drawingarea-0.0.2.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.2.tar.gz
Tamaño: 108.05 KB
Descargado: 100 veces
ejemplo-class-painting-drawingarea-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.1.tar.gz
Tamaño: 106.85 KB
Descargado: 100 veces
ejemplo-class-painting-drawingarea-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.1.tar.gz
Tamaño: 106.85 KB
Descargado: 100 veces
ejemplo-class-painting-drawingarea-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.1.tar.gz
Tamaño: 106.85 KB
Descargado: 100 veces

Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
Hay un problema que aparece siempre cuando se quieren usar componentes gráficos, como OpenGL y Paint, y es que el programador no sabe cuando puede dibujar las cosas. Quiere y no puede, recibe errores como "Can't paint ouside _Draw event" o "Stop doing that and go for a beer". Me paso mucho y me costo entender que no podía obligar a Gambas3 a dibujar cuando yo quería, sino que tenia que esperar la oportunidad: como con las mujeres y el sexo. Estar preparado e intentar cuando me de la posibilidad.

Supongamos que tengo una Form con una drawingArea y un boton. Quiero dibujar una linea de P1 a P2 cuando presione el boton, este seria el flujo correcto del programa:
captura_de_pantalla_de_2020_04_26_18_02_22

Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
tercoIDE escribió:  
Hay un problema que aparece siempre cuando se quieren usar componentes gráficos, como OpenGL y Paint, y es que el programador no sabe cuando puede dibujar las cosas. Quiere y no puede, recibe errores como "Can't paint ouside _Draw event" o "Stop doing that and go for a beer". Me paso mucho y me costo entender que no podía obligar a Gambas3 a dibujar cuando yo quería, sino que tenia que esperar la oportunidad: como con las mujeres y el sexo. Estar preparado e intentar cuando me de la posibilidad.
Supongamos que tengo una Form con una drawingArea y un boton. Quiero dibujar una linea de P1 a P2 cuando presione el boton, este seria el flujo correcto del programa:

Ahora estoy con el problema de obtener y luego "pasarle" a la clase que crea la línea, los puntos de sus extremos.
Ya contare como va.
Saludos.

Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
Bueno, esto va avanzando.
Gracias a la ayuda de TercoIDE y al código de Julio (PintaScreen) ya logre agregar la función de hacer una linea por dos puntos.
Verán que el código difiere de los dos ejemplos mencionados arriba con la idea de mantener el código lo mas simple posible.
Uso colecciones para el paso de variables a las clases de las entidades, lo cual creo que reduce la cantidad de lineas de código
Voy a ir poniendo el tar.gz en el primer post en cada revisión del ejemplo para ver el avance paso a paso.
Saludos.

última edición por tincho el Lunes, 27 Abril 2020, 03:17; editado 1 vez
Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
Tincho:

[b]
Citar:
1 - Dibujar
líneas [SOLUCIONADO]
polilíneas
textos
circulos
elipses
arcos
¿Que más?

-> Puntos
-> Acotaciones
-> Bloques (conjunto de: lineas, puntos, textos, etc..)

Y te faltan las operaciones tipicas:
mover
copiar
copia multiple
simetria
partir
cortar [eso es complicado de programar]

Objetivo: Re: Programa CAD Paso A Paso.
podrias hacer una barra horizontal de modificacion de las propiedades de la cosas que este arriba del dibujo, entonces la reutilizamos en GambasCADE

Layer/Tipo de linea(continua, puntos, punto raya, etc)/Espesor de linea/Color/Color del relleno/etc

Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
tercoIDE escribió:  
podrias hacer una barra horizontal de modificacion de las propiedades de la cosas que este arriba del dibujo, entonces la reutilizamos en GambasCADE ... Layer/Tipo de linea(continua, puntos, punto raya, etc)/Espesor de linea/Color/Color del relleno/etc

Ahí ahí... se viene el ecosistema CAD
Si, estoy trabajando en una barra que permite, al estilo autogarcha selecionar layer color y estilo de linea por defecto. De esta manera cando creo un nuevo elemento gráfico, este toma la propiedades actuales.
Saludos.

Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
jsbsan escribió:  
-> Puntos -> Acotaciones -> Bloques (conjunto de: lineas, puntos, textos, etc..)
Y te faltan las operaciones tipicas:
mover copiar copia multiple simetria partir cortar [eso es complicado de programar]

Perfecto Julio, lo agrego a la lista.
Saludos.

Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
Me dio por mirar el sitio de LibDWG en GNU (ya que hace mucho que no me pasaba para ver las nodvedades) y resulta que esta bastante avanzada la librería, ya escribe DWG.
https://www.gnu.org/software/libredwg/
Saludos.

Perfil MP  
Objetivo: Re: Programa CAD Paso A Paso.
Miren acá que hice un esbozo de menúes que se ocultan al estilo autocad.


ejemplo-class-painting-drawingarea-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.3.tar.gz
Tamaño: 109.82 KB
Descargado: 98 veces
ejemplo-class-painting-drawingarea-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.3.tar.gz
Tamaño: 109.82 KB
Descargado: 98 veces
ejemplo-class-painting-drawingarea-0.0.3.tar.gz
Descripción:  
Descargar
Nombre del archivo: ejemplo-class-painting-drawingarea-0.0.3.tar.gz
Tamaño: 109.82 KB
Descargado: 98 veces

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4006s (PHP: -81% SQL: 181%)
Consultas SQL: 46 - Debug off - GZIP Activado