3.5.0-rc1
Introduction

Documentation Structure

The goal of this documentation is to facilitate the understanding of TiGL for all the users. Depending on your objective you may be interested in different parts. Please find below some pointers that might help you.

What is TiGL? : An overview of TiGL and TiGLCreator

Installation , Tutorials , Python-Demo : To get your hand dirty

TiGLCreator : TiGLCreator GUI (ex-CPACS Creator resp. TiGL Viewer) documentation TiGL Library : Library and API overview and examples

High-level Parameters : Definition of the high-level parameters used by this framework Module, Namespace, Data Structures, Files: API and class documentation generated by doxygen (close to the code source)

What is TiGL?

The goal of TiGL framework is to facilitate the processing, the editing and the creation of the geometric data stored inside CPACS data sets.

TiGL offers query functions for the geometry structure. These functions can be used for example to detect how many segments are attached to a certain segment, which indices these segments have, or how many wings and fuselages the current airplane configuration contains. This functionality is necessary because not only the modeling of simple wings or fuselages but also the description of quite complicated structures with branches or flaps is targeted.

Furthermore, TiGL offers functions to modify or to create CPACS geometries. These functions can be used for example to modify the wing sweep angle, the fuselage length, the orientation of a section or to create a wing from scratch. They are necessary to avoid the manual editing of a CPACS-file which is based on xml. The idea was to provide a user-friendly interface for CPACS geometrical data and to hide the complexity of the CPACS format. To do so, a set of high-level parameters was defined. You can find the exact definition of these parameters here: High-level Parameters .

The framework is release under Apache2 license. The developed library uses the open-source software OpenCASCADE to represent the airplane geometry by B-spline surfaces in order to compute surface points and also to export the geometry in the IGES/STEP/STL/VTK format.

Framework Structure

TiGL can be divided into two main blocks:

  • TiGL Library

    The TiGL library is a C++ library and really the core of the TiGL framework. It contains all the logic required for the geometrical CPACS data manipulation. The library can be accessed by other programs through the TiGL API (limited functionalities) and the internal python API (full functionalities) for python software.

  • TiGLCreator

    The TiGLCreator is a graphical user interface (GUI) to view, edit and create CPACS geometries. The goal of TiGLCreator is to have a user-friendly interface so that aircraft designers can easily view and modify CPACS geometry. TiGLCreator simply calls library functions each time an object is modified and has convenience features to edit the file as undo/redo feature and profiles database.

Creator Functionalities

Here, we will present a non-exhaustive list of the functionalities added to the TiGL project by TiGLCreator. These functionalities are, in general, accessible through the Internal python API or the TiGLCreator.

  • Edit wings
  • Edit fuselages
  • Edit wing sections
  • Edit fuselage sections
  • Add wing sections
  • Add fuselage sections
  • Edit positionings
  • Standardize positionings
  • Create wings
  • Create fuselages

Known Limitations

  • Multiple elements per section are not supported. This results from the fact that for decomposing a matrix properly, two CPACS transformations of the type scaling * rotation * translation are needed for each section (and not only one as required by the CPACS standard).
  • Guide curves are currently not supported. So, if a wing or fuselage containing guide curves exists, be aware that editing the geometry can break the CPACS structure. Prefer to first edit/create the geometry then add the guide curve.
  • Pylons are not currently supported
  • Component segments are currently not fully supported. Editing a geometry that contains component segments will not break the structure, but can have unwanted effect on the component.