GiD - The personal pre and post processor

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

From the entry that is placed at the bottom of the GiD window, can invoke Tcl code writing -np- followed some space and then some tcl code an press <Return>

Note: -np- mean ‘No-Process’ (that the words are not GiD process keywords) and instead the next command is expected to be Tcl code. It is used as a fast way to run a simple procedure or re-define code.

Use copy/paste code after -np-

In particular there are some predefined Tcl procs that run python code, like GiD_Python_Exec that expects the python code to be evaluated

Example: matplotlib graph of a line

This is a simple example of call from Tcl a Python code that uses the matplotlib to show a graph (in new Tk window opened by tkinter)

GiD_Python_Exec {
    import matplotlib.pyplot as plt
    plt.plot([1, 2, 3, 4])
    plt.ylabel('some numbers')
    plt.show()
}

GiD_Python_Exec do an implicit package require tohil and then tohil::exec

Can invoke this Tcl code for example pasting it after -np- in the command line (with one or more spaces separating the code pasted), and press <return>

 

then will appear a window like this

There are other procs similar to GiD_Python_Exec ,like GiD_Python_Eval (for a single instruction and value is returned) or GiD_Python_Call (to invoke a function that must be previously defined)

Source a file with the code

The normal way to write long Python code is write it in a .py file.

Note: Visual Studio Code is our recommended editor, installing the MS Python extension for this language.

GiD_Python_Source is a Tcl proc that expects the name of a python file with the code to be sourced

Example: matplotlib graph of two curves

The file <GiD>/scripts/tohil/doc/demo_matplotlib.py contain a code like the one of the image

and can source this file writing this (<GiD> must be replaced by the true path)

-np- GiD_Python_Source {<GiD>/scripts/tohil/doc/demo_matplotlib.py}

then this window will appear:

Python force reload a file

Other Tcl procs related to source Python code are GiD_Python_Import_File and GiD_Python_Import

Using our Tcl command GiD_Python_Import (that do tohil::import) will import a module in Python from its tail name without .py extension, and must be found based on the path environment variable

GiD_Python_Import_Fileis similar to GiD_Python_Import but expects the full path.

But if we are developing and modify the .py file doing a new import won’t refresh the code in the interpreter.

A trick to do it it to use the Tcl command GiD_Python_Source,then the new code of the file is used without need to restart GiD.

In fact it seems that this is similar to use in Python the function reload of the importlib module

import importlib
importlib.reload(module)
  • No labels