SlideShare una empresa de Scribd logo
1 de 10
LOS LABERINTOS DE PYTHON
LOS LABERINTOS DE PYTHON
PROBLEMA:
Partiendo de una planta de un edificio pintada en AutoCAD/nanoCAD, obtener
la distancia mínima desde cada punto ocupable hasta unos puntos fijos
definidos por el usuario.
RAZONES:
Es un problema que tenía que resolver de
forma manual y es susceptible de cometer
errores.
Para plantas de edificios grandes se necesita
mucho tiempo haciéndolo manual.
Si hay modificaciones en la planta, tienes
que volver a comenzar el proceso manual.
No existe ningún otro programa ni gratuito
ni comercial que solucione el problema.
PyPATH: Trazado de rutas óptimas en el interior de edificios
LOS LABERINTOS DE PYTHON
PyKALK
Utiliza:
- Algoritmo A Star ó A* para resolver ruta en geometría de manhattan
- Algoritmo propio “Euclidean Shortest” para geometría euclidiana
- Cython para acelerar ejecución de algunas partes del código
- PyQt para crear un GUI para la aplicación
- PyWin32 para comunicar Python y AutoCAD/nanoCAD mediante COM
- IPython Notebook para análisis del código Cython
LOS LABERINTOS DE PYTHON
ALGORITMO A STAR
A* Manhattan
Elementos de Python utilizados:
- Set de tuplas para representar el laberinto y
conjuntos de puntos visitados y sin visitar.
- Diccionarios para guardar el valor de la
función heurística para cada punto.
- Módulo heapq para obtener resultados
ordenados.
Bread First Search A* Euclidean A* 4 x Manhattan
LOS LABERINTOS DE PYTHON
ALGORITMO A STAR
- Diversas fuentes en internet disponen de versiones de Python para este algoritmo.
- Uso una versión muy simple sin programación orientada a objetos.
- Código Python 2.7. Es lo que me sabía.
- El problema a resolver tiene un comportamiento “casi O(N²)”, por lo que
rápidamente queda patente la falta de eficiencia del código CPython.
- Pruebo a optimizar el código utilizando numba y PyPy , pero sin conseguir
resultados suficientemente buenos.
- La respuesta de optimización: Cython. Al final 800 veces más rápido.
Cython + IPython Notebook
- Optimizar el código Cython requiere pocas diferencias con CPython.
- Si tienes conocimientos de C, resulta muy fácil.
- Se puede utilizar IPython Notebook para optimizar Cython (VER EJEMPLO).
Para generar informe html:
C:prueba_cython>cython -a ESPc6.pyx
Para compilar (en Windows genera un pyd):
C:prueba_cython>setup.py build_ext
LOS LABERINTOS DE PYTHON
LOS LABERINTOS DE PYTHON
PyQt
- PyQt es un binding de la biblioteca gráfica Qt para el lenguaje de programación
Python.
- Existen varias formas de hacer entornos gráficos con Python: Tkinter (el estándar
de Python), wxPython, kivy, PySide (casi igual a PyQt pero LGPL), etc.
- Resulta fácil programar PyQt utilizando Qt Designer.
LOS LABERINTOS DE PYTHON
PyWin32
- Módulo externo a Python que nos permite interactuar con el sistema operativo
Windows.
- Utilizando COM podemos comunicar Python con varios programas utilizados en
ingeniería: AutoCAD, nanoCAD, Presto, Excel, Revit, Lotus Notes.
- Inconvenientes: falta de eficiencia, complicado intercambio de datos de algunos
tipos.
- Ventaja: la utilización de Python para comunicar programas diversos, puede dar
lugar a flujos de trabajo muy eficientes.
LOS LABERINTOS DE PYTHON
La herramienta
1. Extrae el laberinto de un dibujo en AutoCAD con una precisión definida.
2. Funciona con AutoCAD y nanoCAD
3. Permite utilizar dos algoritmos de cálculo de distancias: A* y Euclidean Shortest
(cosecha propia).
4. Dibujar una ruta concreta, dibujar resultados
en CAD.
5. Dispone de una ayuda suficiente para operar
con esta simple herramienta.
LOS LABERINTOS DE PYTHON
MUCHAS GRACIAS

Más contenido relacionado

Similar a 19032015_DP.pptx

Plantilla Implementación
Plantilla ImplementaciónPlantilla Implementación
Plantilla Implementaciónenyarl
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonCarlos Gustavo Ruiz
 
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdf
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdfCROL - Proyecto CoDiCe TIC Robótica Arduino.pdf
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdfEdwin4321
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Python para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabPython para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabSistemadeEstudiosMed
 
Integración Continua con Gitlab + Fastlane
Integración Continua con Gitlab + FastlaneIntegración Continua con Gitlab + Fastlane
Integración Continua con Gitlab + FastlaneJesús Martín Alonso
 
Utp pdiva_lab1 introduccion a mat_lab
 Utp pdiva_lab1 introduccion a mat_lab Utp pdiva_lab1 introduccion a mat_lab
Utp pdiva_lab1 introduccion a mat_labjcbenitezp
 
Programación de un PIC con Niple
Programación de un PIC con NipleProgramación de un PIC con Niple
Programación de un PIC con NipleHamiltonn Casallas
 
Dudas printf()
Dudas printf()Dudas printf()
Dudas printf()bad_666
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLABBlackD10
 
Actividad no18 2do_parcial
Actividad no18 2do_parcialActividad no18 2do_parcial
Actividad no18 2do_parcialCarlos Mendoza
 
Presentacion NXT
Presentacion NXTPresentacion NXT
Presentacion NXTv1ct0or
 
PYTHON CON EXCEL
PYTHON CON EXCELPYTHON CON EXCEL
PYTHON CON EXCELpythons60
 
Aplicacion python con excel
Aplicacion python con excelAplicacion python con excel
Aplicacion python con excelguestde89370
 

Similar a 19032015_DP.pptx (20)

Plantilla Implementación
Plantilla ImplementaciónPlantilla Implementación
Plantilla Implementación
 
Integrando mis librerías C++ con Python
Integrando mis librerías C++ con PythonIntegrando mis librerías C++ con Python
Integrando mis librerías C++ con Python
 
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdf
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdfCROL - Proyecto CoDiCe TIC Robótica Arduino.pdf
CROL - Proyecto CoDiCe TIC Robótica Arduino.pdf
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
Python para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlabPython para ingenieros como alternativa a matlab
Python para ingenieros como alternativa a matlab
 
¿Que es Openerp?
¿Que es Openerp?¿Que es Openerp?
¿Que es Openerp?
 
Integración Continua con Gitlab + Fastlane
Integración Continua con Gitlab + FastlaneIntegración Continua con Gitlab + Fastlane
Integración Continua con Gitlab + Fastlane
 
raspeberry para domotica.pdf
raspeberry para domotica.pdfraspeberry para domotica.pdf
raspeberry para domotica.pdf
 
Utp pdiva_lab1 introduccion a mat_lab
 Utp pdiva_lab1 introduccion a mat_lab Utp pdiva_lab1 introduccion a mat_lab
Utp pdiva_lab1 introduccion a mat_lab
 
Data green entrega final
Data green   entrega finalData green   entrega final
Data green entrega final
 
Programación de un PIC con Niple
Programación de un PIC con NipleProgramación de un PIC con Niple
Programación de un PIC con Niple
 
Plantilla implementación
Plantilla implementaciónPlantilla implementación
Plantilla implementación
 
PIAD-211_TRABAJOFINAL.pdf
PIAD-211_TRABAJOFINAL.pdfPIAD-211_TRABAJOFINAL.pdf
PIAD-211_TRABAJOFINAL.pdf
 
Dudas printf()
Dudas printf()Dudas printf()
Dudas printf()
 
Software libre en la ingeniería. Charla4
Software libre en la ingeniería. Charla4Software libre en la ingeniería. Charla4
Software libre en la ingeniería. Charla4
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLAB
 
Actividad no18 2do_parcial
Actividad no18 2do_parcialActividad no18 2do_parcial
Actividad no18 2do_parcial
 
Presentacion NXT
Presentacion NXTPresentacion NXT
Presentacion NXT
 
PYTHON CON EXCEL
PYTHON CON EXCELPYTHON CON EXCEL
PYTHON CON EXCEL
 
Aplicacion python con excel
Aplicacion python con excelAplicacion python con excel
Aplicacion python con excel
 

Último

Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...RichardRivas28
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxClaudiaPerez86192
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxYajairaMartinez30
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 

Último (20)

Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 
Presentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptxPresentación electricidad y magnetismo.pptx
Presentación electricidad y magnetismo.pptx
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 

19032015_DP.pptx

  • 2. LOS LABERINTOS DE PYTHON PROBLEMA: Partiendo de una planta de un edificio pintada en AutoCAD/nanoCAD, obtener la distancia mínima desde cada punto ocupable hasta unos puntos fijos definidos por el usuario. RAZONES: Es un problema que tenía que resolver de forma manual y es susceptible de cometer errores. Para plantas de edificios grandes se necesita mucho tiempo haciéndolo manual. Si hay modificaciones en la planta, tienes que volver a comenzar el proceso manual. No existe ningún otro programa ni gratuito ni comercial que solucione el problema.
  • 3. PyPATH: Trazado de rutas óptimas en el interior de edificios LOS LABERINTOS DE PYTHON PyKALK Utiliza: - Algoritmo A Star ó A* para resolver ruta en geometría de manhattan - Algoritmo propio “Euclidean Shortest” para geometría euclidiana - Cython para acelerar ejecución de algunas partes del código - PyQt para crear un GUI para la aplicación - PyWin32 para comunicar Python y AutoCAD/nanoCAD mediante COM - IPython Notebook para análisis del código Cython
  • 4. LOS LABERINTOS DE PYTHON ALGORITMO A STAR A* Manhattan Elementos de Python utilizados: - Set de tuplas para representar el laberinto y conjuntos de puntos visitados y sin visitar. - Diccionarios para guardar el valor de la función heurística para cada punto. - Módulo heapq para obtener resultados ordenados. Bread First Search A* Euclidean A* 4 x Manhattan
  • 5. LOS LABERINTOS DE PYTHON ALGORITMO A STAR - Diversas fuentes en internet disponen de versiones de Python para este algoritmo. - Uso una versión muy simple sin programación orientada a objetos. - Código Python 2.7. Es lo que me sabía. - El problema a resolver tiene un comportamiento “casi O(N²)”, por lo que rápidamente queda patente la falta de eficiencia del código CPython. - Pruebo a optimizar el código utilizando numba y PyPy , pero sin conseguir resultados suficientemente buenos. - La respuesta de optimización: Cython. Al final 800 veces más rápido.
  • 6. Cython + IPython Notebook - Optimizar el código Cython requiere pocas diferencias con CPython. - Si tienes conocimientos de C, resulta muy fácil. - Se puede utilizar IPython Notebook para optimizar Cython (VER EJEMPLO). Para generar informe html: C:prueba_cython>cython -a ESPc6.pyx Para compilar (en Windows genera un pyd): C:prueba_cython>setup.py build_ext LOS LABERINTOS DE PYTHON
  • 7. LOS LABERINTOS DE PYTHON PyQt - PyQt es un binding de la biblioteca gráfica Qt para el lenguaje de programación Python. - Existen varias formas de hacer entornos gráficos con Python: Tkinter (el estándar de Python), wxPython, kivy, PySide (casi igual a PyQt pero LGPL), etc. - Resulta fácil programar PyQt utilizando Qt Designer.
  • 8. LOS LABERINTOS DE PYTHON PyWin32 - Módulo externo a Python que nos permite interactuar con el sistema operativo Windows. - Utilizando COM podemos comunicar Python con varios programas utilizados en ingeniería: AutoCAD, nanoCAD, Presto, Excel, Revit, Lotus Notes. - Inconvenientes: falta de eficiencia, complicado intercambio de datos de algunos tipos. - Ventaja: la utilización de Python para comunicar programas diversos, puede dar lugar a flujos de trabajo muy eficientes.
  • 9. LOS LABERINTOS DE PYTHON La herramienta 1. Extrae el laberinto de un dibujo en AutoCAD con una precisión definida. 2. Funciona con AutoCAD y nanoCAD 3. Permite utilizar dos algoritmos de cálculo de distancias: A* y Euclidean Shortest (cosecha propia). 4. Dibujar una ruta concreta, dibujar resultados en CAD. 5. Dispone de una ayuda suficiente para operar con esta simple herramienta.
  • 10. LOS LABERINTOS DE PYTHON MUCHAS GRACIAS