Commit Graph

114 Commits

Author SHA1 Message Date
Miguel d1ec7f4d12 Se mejoró el sistema de guías curvas para incluir apertura en cono en los extremos, facilitando la entrada y salida de botellas. Se añadió un nuevo parámetro `AnguloAperturaGuias` para ajustar la apertura, optimizando el flujo de materiales. Además, se implementaron nuevas propiedades en `ucBottGenerator` para gestionar la distancia mínima sin botellas y se realizaron ajustes en la lógica de colisiones y visualización en 3D. 2025-07-06 00:07:36 +02:00
Miguel 83fc828a4c Se implementaron mejoras en la visualización y animación de transportes en movimiento, incluyendo un indicador visual que cambia de color según el estado de movimiento. Se añadió un sistema de animaciones automáticas utilizando StoryBoard de WPF, que combina rotación y pulsación de color para los transportes activos. Además, se ajustaron las propiedades de presión en las botellas para mejorar la gestión de fricción y se optimizó la lógica de animación y limpieza de objetos en la simulación. 2025-07-05 20:20:59 +02:00
Miguel eb6ed62d5b Eliminación del archivo "Memoria de evolución" y cambios en la creación de botellas en la simulación. Se reemplazó el método AddCircle por AddBotella en ucBotella y ucBotellaCuello, y se ajustaron propiedades en simBotella para mejorar la gestión de inercia y fricción. Se eliminaron referencias a barreras físicas en BEPU, optimizando la lógica de colisiones y ajustando parámetros de fricción para mejorar la simulación. 2025-07-05 17:04:39 +02:00
Miguel a6cbd8c4ab Se realizaron mejoras en la gestión de barreras en el sistema de simulación. Se eliminó la dependencia de cuerpos físicos para las barreras, implementando un sistema de detección basado en RayCast. Se actualizaron los métodos de creación y actualización de barreras, así como su visualización en 3D, optimizando la representación del haz de luz. Además, se simplificó la lógica de detección y se eliminaron métodos obsoletos relacionados con la geometría de barreras. 2025-07-04 22:45:26 +02:00
Miguel e38adc9f56 Se eliminaron archivos de documentación innecesarios en el proyecto y se realizaron ajustes en la visibilidad de métodos en la clase osBase, cambiando de privado a protegido. Se implementó un nuevo método para verificar las dimensiones de los descartes y se mejoró la lógica de actualización de geometrías en ucDescarte y ucGuia, utilizando un sistema inteligente para optimizar el rendimiento. Además, se corrigieron errores en la conversión de coordenadas y se restauró el factor de conversión de velocidad en BEPU. 2025-07-02 17:19:31 +02:00
Miguel fd215bc677 Intento con LinearAxisMotor 2025-07-02 15:17:50 +02:00
Miguel 3e53a51e8b Se añadió un comando para alternar la actualización 3D en MainViewModel, permitiendo habilitar o deshabilitar esta función para mejorar el rendimiento. Se implementó la lógica correspondiente en la visualización 3D y se eliminaron propiedades redundantes en varias clases, optimizando la gestión de objetos en la simulación. 2025-07-01 23:08:05 +02:00
Miguel 3773da0ee3 Se añadió un nuevo manager para la visualización 3D en MainWindow y se conectó con el simulation manager. Además, se implementaron métodos para manejar cambios de posición en ucTransporteCurvaGuias, actualizando la geometría en BEPU y sincronizando con la visualización 3D. Se mejoró la creación de guías desde dos puntos y se corrigieron errores en la actualización de curvas. 2025-07-01 20:02:23 +02:00
Miguel fbac81ec45 Codigo adaptado base aun errores 2025-07-01 19:47:10 +02:00
Miguel 121e586d53 Inicio de Migracion de 2D a 3D 2025-07-01 19:03:06 +02:00
Miguel d259f53081 Antes de cambiar Motor de Fisica 2025-06-26 19:25:44 +02:00
Miguel 256d86aca5 Se realizaron actualizaciones en múltiples clases para mejorar la legibilidad y la organización de las propiedades. Se añadieron nuevos atributos de descripción y nombre en varias clases, como ucBasicExample, ucTransporteCurva, y ucTransporteGuias, facilitando la identificación de los elementos en la interfaz de usuario. Además, se eliminaron archivos innecesarios del proyecto y se ajustaron las categorías de propiedades para una mejor clasificación. Estas mejoras optimizan la experiencia del usuario y la gestión de los objetos en la simulación. 2025-06-24 21:35:17 +02:00
Miguel 3bc314182c Se realizaron mejoras en la clase MainViewModel al agregar espacios en blanco para mejorar la legibilidad. En TagEditorAttribute, se añadieron nuevos atributos y se implementó la lógica para manejar nombres personalizados de propiedades. En UserControlFactory, se optimizó la obtención de nombres de propiedades y se eliminaron espacios en blanco innecesarios. Finalmente, se añadió un atributo Name en ucTransporteTTop para el coeficiente de fricción, mejorando la claridad en la interfaz de usuario. 2025-06-24 17:45:47 +02:00
Miguel 6928088691 Se añadieron nuevas propiedades y métodos en el control CircularSegment para gestionar guías visuales, incluyendo la distancia, grosor y color de las guías. Se implementó la lógica para dibujar las guías en el segmento circular, mejorando la visualización y personalización del control. 2025-06-24 17:32:17 +02:00
Miguel 81329e4c09 Se añadieron nuevas propiedades y métodos en la clase ucTransporteCurvaGuias para gestionar guías curvas, incluyendo la creación y actualización de segmentos de guías. Se implementaron validaciones para el número de segmentos y se mejoró la lógica de actualización de geometrías al cambiar propiedades relevantes. 2025-06-24 17:07:37 +02:00
Miguel b6f616f6cc Agregado del control TransportCurva con Guias 2025-06-24 16:53:03 +02:00
Miguel 1449544d71 Se actualizaron las propiedades en las clases osBase, ucCustomImage y ucVMmotorSim para utilizar el nuevo atributo [property: JsonIgnore], mejorando la gestión de la serialización JSON. Además, se ajustó la configuración del serializador en StateSerializer.cs para respetar los atributos JsonIgnore, optimizando la deserialización de objetos. 2025-06-24 11:17:34 +02:00
Miguel 5c2daaeb98 Se añadió un estilo global para TreeViewItem en App.xaml para evitar errores de binding. Se actualizaron las referencias de paquetes en CtrEditor.csproj, cambiando la versión de LiveChartsCore.SkiaSharpView.WPF y añadiendo SkiaSharp.Views.WPF. Se mejoró la gestión de carga de imágenes en osBase.cs y ucCustomImage.xaml.cs, implementando un manejo de errores más robusto y estableciendo imágenes por defecto en caso de fallos. Se ajustó el XAML de ucBoolTag para mejorar la conversión de color. Se implementó un convertidor seguro para ImageSource en StateSerializer.cs, mejorando la deserialización de imágenes. 2025-06-24 10:59:58 +02:00
Miguel 3af9ad99d8 Se añadió un nuevo parámetro de ángulo en el método CrearAnimacionStoryBoardTrasnporteCircular en la clase osBase, permitiendo ajustar la dirección de la animación según el valor del ángulo. Se actualizaron las llamadas a este método en ucTransporteCurva para incluir el nuevo parámetro, mejorando la lógica de animación en función de la dirección y el ángulo proporcionado. 2025-06-23 23:40:48 +02:00
Miguel da8d0516cb Se añadió la funcionalidad para crear y actualizar animaciones de transporte circular en la clase osBase y se integró en ucTransporteCurva. Se implementaron métodos para gestionar la dirección de las animaciones y se mejoró la lógica de actualización de geometrías. Además, se realizaron ajustes en el XAML de CircularSegment para incluir un patrón visual en el Path. 2025-06-23 22:10:00 +02:00
Miguel 75c507be4e Se añadieron nuevas propiedades relacionadas con el encoder en la clase ucVMmotorSim, permitiendo la lectura del valor actual de la posición del encoder y la habilitación de su uso. Se eliminaron instancias innecesarias de Stopwatch en las clases ucEncoderMotor y ucEncoderMotorLineal, optimizando el código. Además, se realizaron ajustes en la interfaz de usuario de ucBoolTag para incluir una opción de visualización de descripción. 2025-06-23 15:29:40 +02:00
Miguel fefc0a700d Se añadió un nuevo método para verificar si un objeto visual es un hijo visual de otro, mejorando la gestión de transformaciones en la clase osBase. Además, se implementaron mejoras en la obtención de coordenadas de rectángulos, incluyendo validaciones para asegurar que los rectángulos estén cargados y disponibles antes de realizar transformaciones. Se mejoró la lógica de creación de geometría en ucTransporteTTop, asegurando que el layout esté actualizado y manejando excepciones para evitar fallos en la creación de simulaciones. 2025-06-22 16:44:19 +02:00
Miguel 58781c13a3 Se implementó una nueva ventana de configuración de escala que permite a los usuarios ajustar la escala de simulación de manera modeless. Se añadió un temporizador para aplicar automáticamente los cambios de escala después de 0.5 segundos. Además, se mejoró la gestión de la escala en el ViewModel principal y se actualizaron los bindings de posición en osBase para asegurar una correcta visualización. Se incluyó un botón de "Aplicar" en la interfaz de usuario para facilitar la aplicación de cambios. 2025-06-18 21:23:39 +02:00
Miguel b48dbeb76e Se añadió un nuevo método para configurar la escala desde el menú contextual en MainViewModel, permitiendo a los usuarios ajustar la escala de simulación. Se implementó la lógica para detener simulaciones, actualizar la escala en el convertidor de unidades y forzar el redibujo del canvas. Además, se agregó una opción en el menú contextual de MainWindow para acceder a esta funcionalidad. Se mejoró la gestión de bindings de posición y tamaño en osBase para asegurar actualizaciones adecuadas tras cambios de escala. 2025-06-18 19:54:51 +02:00
Miguel 354b4a8acf Se mejoró la funcionalidad de renombrado de imágenes en la interfaz, integrando un PropertyGrid para editar propiedades de imágenes, incluyendo etiquetas. Se actualizó la lógica para eliminar entradas vacías y se modificó el diseño de la ventana de renombrado para una mejor experiencia de usuario. Además, se implementó un editor de etiquetas que permite gestionar etiquetas de manera más eficiente. 2025-06-18 15:20:26 +02:00
Miguel 67fa5eef3d Se implementó un sistema de filtrado por etiquetas en la interfaz de usuario, permitiendo a los usuarios buscar y seleccionar objetos basados en etiquetas personalizadas. Se añadieron nuevas propiedades y métodos en la clase osBase para gestionar etiquetas, así como mejoras en la lógica de actualización de filtros en función de los objetos disponibles. Además, se realizaron ajustes en la visualización y manejo de los filtros en el control osVisFilter. 2025-06-17 18:38:00 +02:00
Miguel 99248e9112 Se implementaron mejoras en la gestión de copias de objetos seleccionados, reutilizando la lógica de duplicación para crear copias serializables. Se agregó manejo de errores al intentar copiar objetos y se implementaron nuevas propiedades en la clase osBase para gestionar el punto de pivote en la rotación. Además, se aseguraron validaciones para evitar diámetros inválidos en la simulación, garantizando un comportamiento más robusto en la manipulación de objetos. 2025-06-17 17:35:35 +02:00
Miguel 88e6de77cb Se implementaron métodos para actualizar la posición relativa de los objetos en función de un FramePlate, incluyendo la gestión de la rotación orbital. Se añadieron propiedades para almacenar la posición relativa y el ángulo inicial, y se mejoró la lógica de actualización de posición al cambiar la posición del FramePlate. Además, se implementó un método para recalcular la posición relativa al mover los objetos, asegurando un comportamiento más preciso en la simulación. 2025-06-14 17:07:05 +02:00
Miguel 94b11cf068 Se implementó un sistema de gestión de historial de deshacer (undo) en la aplicación, permitiendo capturar y restaurar estados de objetos seleccionados. Se añadieron métodos para limpiar el historial y se mejoró la interfaz de usuario para mostrar información sobre el estado del historial de deshacer. Además, se realizaron ajustes en la lógica de manipulación de objetos para asegurar la correcta captura de estados antes de movimientos y redimensionamientos. 2025-06-14 16:47:25 +02:00
Miguel 20467c88ae Se agregaron nuevas propiedades y métodos para gestionar el ángulo de rotación en la clase ucFramePlate, incluyendo la implementación de encoders para la rotación. Se mejoró la actualización de la posición en función del valor del encoder de rotación y se implementaron cambios en la gestión de eventos para reflejar adecuadamente las modificaciones en el ángulo. 2025-06-13 23:50:19 +02:00
Miguel 380bc14b69 Implementada la función para forzar la actualización de bindings en el PropertyGrid antes de limpiar la selección y al cambiar el objeto seleccionado. Se mejoró la gestión del foco en el PropertyGrid para asegurar la correcta actualización de los datos. 2025-06-13 20:48:48 +02:00
Miguel 0d8780b16f Implementada la funcionalidad de bloqueo de movimiento para objetos: se agregó la propiedad 'lock_movement' en la clase osBase y se modificaron las funciones de manipulación de objetos para respetar este bloqueo, evitando redimensionamientos, movimientos y eliminaciones de objetos bloqueados. 2025-06-13 20:16:12 +02:00
Miguel b8d3c953e6 Actualización de la simulación de fluidos: se han agregado nuevos comandos para iniciar y detener la simulación de fluidos, así como métodos para manejar su inicio, detención y actualización. Se han modificado las referencias de Emgu.CV a una versión anterior y se han realizado ajustes en los archivos XAML para reflejar cambios en los espacios de nombres. 2025-06-13 19:52:43 +02:00
Miguel 53af46ec06 Primeras funciones de Fluidos 2025-04-13 17:07:54 +02:00
Miguel 20bdad509b Correccion errores de OCR 2025-04-02 17:34:51 +02:00
Miguel 736068619a Agregado de PaddleOCR y correccion de TagPattern 2025-03-27 14:50:51 +01:00
Miguel 98c5f2e6ff Creada las opciones de datos locales para las posiciones de los objetos globales 2025-03-26 21:12:04 +01:00
Miguel 211c518be6 Agregada la posibilidad de invertir la imagen ucCustomImage 2025-03-26 15:18:58 +01:00
Miguel 304bdb06d4 Agregado posibilidad al Frame de moverse horizontal y verticalmente. Agregado TransporteDualInverter para que sea comandado por dos inverters seleccionables desde un tag. Agregada funcionalidad de cambio de tamaño a las curvas. 2025-03-07 11:00:27 +01:00
Miguel f264efd9ce Cambiado Path de teseract a absoluto en la carpeta de la aplicacion 2025-03-01 23:28:29 +01:00
Miguel b6b078f8ce Cambiado funcionamiento de BuscarCoincidencias para guardar el clip original. 2025-02-25 21:36:07 +01:00
Miguel 621ee8be39 CustomImage con imagen por defecto. Creada visualizcion de tiempo de ciclo. Modificada logica de Preserve_Outside_Transport. Agregada opcion a osFramePlate de showPlate 2025-02-24 16:33:27 +01:00
Miguel 5e95459e3e Agregado un nuevo objeto CustomImage 2025-02-24 11:37:52 +01:00
Miguel 5f680b3a7a Mejorado de las curvas. Se creo un overlapPercentage para las curvas. 2025-02-23 21:22:42 +01:00
Miguel 3dab570f5d Multiseleccion funcionando 2025-02-18 18:08:55 +01:00
Miguel 633cd71d00 Mejorado la descripcion de las extracciones de Tag con Patrones 2025-02-17 13:04:21 +01:00
Miguel 3a2e87cd75 Agregada funcion de analizar la matriz de exportacion de tags. Creada un submenu para cargar los ultimos directorios ustilizados. Cambiado intercambio de datos para los Motores simulados a DINT 2025-02-14 14:04:29 +01:00
Miguel dc164e96ef Agregadas las opciones de consultar si guardar luego de hacer modificaciones y agregado el uso de la tecla Delete para borrar elementos 2025-02-13 16:52:33 +01:00
Miguel e63577e5c3 Modificado Zindex para soportar los Frame 2025-02-13 14:00:47 +01:00
Miguel 9f41401e40 Creado Encoder Lineal. Corregido error de inicio de tiempo en simulacion. Creado Frame Plate para que se muevan los objetos con un encoder lineal. Agregado a los transportes la actualizacion de geometrias en caso de que sean movidos por la interfaz. 2025-01-04 10:34:19 +01:00