Autor |
Mensaje |
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
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.
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-class-painting-drawingarea-0.0.2.tar.gz |
Tamaño: |
108.05 KB |
Descargado: |
100 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-class-painting-drawingarea-0.0.2.tar.gz |
Tamaño: |
108.05 KB |
Descargado: |
100 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-class-painting-drawingarea-0.0.2.tar.gz |
Tamaño: |
108.05 KB |
Descargado: |
100 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-class-painting-drawingarea-0.0.1.tar.gz |
Tamaño: |
106.85 KB |
Descargado: |
100 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-class-painting-drawingarea-0.0.1.tar.gz |
Tamaño: |
106.85 KB |
Descargado: |
100 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
ejemplo-class-painting-drawingarea-0.0.1.tar.gz |
Tamaño: |
106.85 KB |
Descargado: |
100 veces |
última edición por tincho el Lunes, 27 Abril 2020, 18:28; editado 2 veces
|
#1 Domingo, 26 Abril 2020, 15:00 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
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:
=================== "Los IF son mas rápidos" - autor anónimo
|
#2 Domingo, 26 Abril 2020, 22:05 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
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.
|
#3 Domingo, 26 Abril 2020, 23:51 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
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
|
#4 Lunes, 27 Abril 2020, 03:08 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
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]
|
#5 Lunes, 27 Abril 2020, 16:21 |
|
|
tercoIDE
Analista Programador
Registrado: Noviembre 2013
Mensajes: 713
Edad: 54
|
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
=================== "Los IF son mas rápidos" - autor anónimo
|
#6 Lunes, 27 Abril 2020, 16:43 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
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.
|
#7 Lunes, 27 Abril 2020, 18:11 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
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.
|
#8 Lunes, 27 Abril 2020, 18:14 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
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.
|
#9 Martes, 28 Abril 2020, 00:07 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Programa CAD Paso A Paso.
|
#10 Martes, 28 Abril 2020, 15:51 |
|
|
|