3. User Interface¶
PyAero comes with a graphical user interface (GUI) written in Qt for Python aka Pyside6.
3.1. Overview¶
The layout of the user interface can be seen in the figure below. Different functional areas are bordered with blue lines. These areas are:
- Menubar
- Toolbar
- Toolbox
- Graphics view
- Viewing options
- Message window
Loading and saving geometry and meshes is done via the menus and the toolbar. Most operations during geometry preparation and meshing are done inside the toolbox.
3.3. Toolbar¶
The toolbar in PyAero allows fast access to actions which are otherwise triggered by menus. Each of the toolbar buttons launch a specific action. The toolbar can be customized by editing the file $PYAEROPATH/data/PToolBar.xml
.
3.4. Toolbox Functions¶
The toolbox functions are arranged at the left border of the GUI. A toolbox is a GUI element that displays a column of tabs one above the other, with the current item displayed below the current tab. The toolbox is the main working area when generating meshes with PyAero. The complete functionality like splining, refining, contour analysis and meshing are operated there. See the animation below to get an overview on the options available in the toolbox.
3.5. Tabbed Views¶
The graphics view in PyAero and a set of other views (see figure below) are arranged via a tab bar. E.g., the views can be switched between the graphics view and the contour analysis view. The latter contains graphs for curvature analysis.
Note
The look and feel of the tabs might change over time.
3.6. Zooming, Panning¶
When an airfoil is loaded it is displayed with a size that fits into the graphics view (leaving a small margin left and right). The contour can then be panned and zoomed in the following way:
3.6.1. Panning¶
In order to pan (drag) the contour or any other item press and hold CTRL (CMD on MacOS) and then press and hold the left mouse button and move the mouse in order to drag the contour.
3.6.2. Zooming¶
Zooming is activated by pressing and holding the left mouse button. While dragging the mouse, a rubberband rectangle is drawn. This rectangle indicates the area which will be zoomed when releasing the left mouse button. In order to avoid accidential zooming too deep, a minimum size rectangle has to show up. A valid zoom rectangle is indicated by changing its background to a transparent blueish color (the minimum allowed size can be set in Settings.py
by changing the value of RUBBERBANDSIZE). In order to zoom in deeper, the rubberband rectangle can be subsequently used.
Zoom limits (MINZOOM, MAXZOOM) are set in the file Settings.py
.
Another natural possibility to zoom the view, is to use the scroll wheel. Thereby the geometry is zoomed with respect to the current mouse position.
Zooming can further be done using the Page-Up and Page-Up down keys.
A reset to the initial (home) position can either be achieved by pressing the HOME key or by right clicking in the graphics view and selecting Fit airfoil in view from the pulldown menu.
3.7. Keyboard shortcuts¶
To speed up some operations, a set of keyboard shortcuts are defined. In some of the menus the shortcuts for the respective actions are defined at the right side of the menu. Furthermore, the shortcut CTRL+k on Windows and CMD+k on MacOS are used to access an overview of the keyboard shortcuts.
Note
The keyboard shortcuts are rendered as uppercase letters in the GUI. Nevertheless, always lowercase letters need to be used, unless the SHIFT key is a part of the shortcut.