![]() 2/25/2025 14:51:00 batch y Tcl/Tk en GiD/Iber De puro Tcl/Tk hay muchos tutoriales en Internet https://wiki.tcl-lang.org/page/Tcl+Tutorial+Index , así como la referencia de los comandos https://www.tcl-lang.org/man/tcl8.6/TclCmd/contents.htm Pero tampoco necesitas aprender este lenguaje scripting solo para hacer un simple batch, te basta con saber que para dar valor a una variable tcl es el comando es "set variable valor" tu batch sería algo como esto una primera línea de palabras process "Mescape Postprocess escape"· para que GiD cambie de pre a post y despues una llamada al proc tcl llamado ::PostRaster::ApplyListEntities que es lo que está implementado en <IBER>\problemtypes\IBER.gid\scripts\ResultsToRaster.tcl para exportar el resultado este proc tiene un argumento w no usa luego, así que le paso cualquier cosa como la palabra 'nada' Mescape Postprocess escape *****tcl PostRaster::ApplyListEntities nada pero este mirando proc PostRaster::ApplyListEntities no ha sido pensado para ser llamado fácil y limpio, y no se le pasan como argumento sus parámetros, sino que le llegan 'por arte de magia' en variables globales que han sido rellenadas en la GUI en la ventana que permite seleccionar el nombre de análisis, el nombre de resultado, etc. por ejemplo el nombre de análisis ha de ponerse en la variable global ::PostRaster(thisanalysis), supongamos que tu resultado deseado está en el nombre de análisis Hydraulic que es uno de los nombres escritos en el fichero de resultados .post.res por el cálculo de Iber si la variable empieza por :: significa que es global en Tcl esto es la sintáxis explicada set ::PostRaster(thisanalysis) Hydraulic
y para el .bch hay que añadirle *****tcl para indicar que lo siguiente es código Tcl Mescape Postprocess escape *****tcl set ::PostRaster(thisanalysis) Hydraulic *****tcl ::PostRaster::ApplyListEntities nada Faltarán rellenar mas variables similares a esta, para indicar lo que quieres exportar, el nombre de resultado, etc. Antes de escribirlo en el batch conviene que lo pruebes interactivamente en GiD, para ver los errores que da por variables no definidas, etc. puedes escribir comandos Tcl interactivamente en la línea inferior de GiD, con el prefijo -np- (es un truco similar a los ****tcl del batch, -np- viene de NoProcess, que significa que lo siguente no son palabras process de GiD sino Tcl -np- set ::PostRaster(thisanalysis) Hydraulic -np- PostRaster::ApplyListEntities nada esto de un mensaje de "No results have been selected" porque faltan por poner valores de variables, puede ayudar a seguir el flujo ejecutando el código tcl paso a paso con el debugger (Utilities->Tools->Develop->Debugger) Hay material explicando cosas de Tcl, en cursos antiguos de GiD de las GiD conventions que hacemos bianualmente https://downloads.gidsimulation.com/GiD_Convention/2004/courses/gid_basic_and_advanced/09-Depuraci%C3%B3n%20de%20c%C3%B3digo%20tcl.pdf https://downloads.gidsimulation.com/GiD_Convention/2004/courses/gid_basic_and_advanced/08-Herramienta%20de%20edici%C3%B3n%20de%20malla.pdf https://downloads.gidsimulation.com/GiD_Convention/2002/courses/gid_advanced_spanish/A3-Extensi%C3%B3n_tcl.pdf puedes descargarlos los de cualquier año desde aqui https://downloads.gidsimulation.com/#GiD_Convention/ Enrique |
Comando Batch Herramientas Iber
![]() |
Clemente Gotelli Alvial | 2/13/2025 09:28 | |
![]() ![]() |
Enrique Escolano | 2/20/2025 18:40 | |
![]() ![]() |
Clemente Gotelli Alvial | 2/21/2025 09:39 | |
![]() ![]() |
2/25/2025 14:51 | ||
![]() ![]() |
Enrique Escolano | 2/25/2025 15:23 |