Contents

1 Introduction

1.1 SGE Circus user manual

1.2 SGE Circus videos (external)

2 Keyboard shortcuts, mouse gestures

3 Features

3.1 Vector based calculation strategy

4 Help / Tutorials

5 Objects

5.1 Types of objects

5.2 Generation objects

Channel object

5.3 Result object

5.4 Add by symbol (Inventory)

5.5 Add by name

6 Line connections

6.1 Object ports

Inports

Outports

6.2 Connecting objects

6.3 Line branches

7 Editing / structuring the calculation

7.1 Copy objects

7.2 Move objects

7.3 Add comments

7.4 Fit window

7.5 Unify fonts

7.6 Update objects

8 Special objects

8.1 Configuration

8.2 Subsystem

8.3 Axis objects

8.4 Simulink simulation

MATLAB COM automation server access

Simulink model configuration

Simulink simulation object configuration

8.5 Simulink Host-Based Shared Library (*.dll)

Simulink model configuration

Simulink DLL object

8.6 MATLAB function / mex

MATLAB COM automation server access

MATLAB object configuration

8.7 For loop subsystem

8.8 Feedback creator

9 Debugging

9.1 Continuous plausibility check

9.2 Visualization

9.3 Test calculation

Inports number display

Error indication

Unprocessed objects indication

Hidden line crossing indication

10 History

10.1 Save to file / load from file

11 Object inventory reference

11.1 Generation objects

11.2 Result objects

11.3 Multiple vector operations (dimensions preserved)

11.4 Single vector operations (dimensions preserved)

11.5 Vector operations (dimensions changed)

11.6 Other operations

11.7 Axes / interpolation

11.8 External interfaces

11.9 Miscellaneous

12 Present, print, organize

12.1 Copy to clipboard, print

12.2 Window handling

13 General information



SGE CalcGuide – User Manual

www.sge-ing.de – Version 1.62.67 (2022-07-24 22:21)

1 Introduction

The SGE CalcGuide is a tool to implement calculation routines by creating graphical flow chart diagrams. These can be used for example to create calculated channels and logical conditions.

This manual contains information concerning specifically the SGE CalcGuide only. The SGE CalcGuide is part of the SGE Circus. For help topics regarding general features please refer to the corresponding documentation accessible using the links below.

1.1 SGE Circus user manual

The SGE Circus documentation makes available general information regarding data loading procedure, input handling, preferences, history and other topics concerning all tools.

1.2 SGE Circus videos (external)

Videos and tutorials are available on the internet.

For information regarding the version dependent software changes please refer to the Release notes accessible using the corresponding menu item inside the SGE Circus.

2 Keyboard shortcuts, mouse gestures

Many functions are quickly accessible via keyboard shortcuts. For a list of available keyboard shortcuts, see the list below. In addition, the entries in the menus and context menus as well as the tooltips of the toolbar point to shortcuts.

Objects

Ins

Add object by name...

Shift+Ins, Space

Add object by symbol...

Del

Delete marked object(s)

Return, F2, Double click

Edit properties of marked object and show introduction.

Shift + Mouse

Click + Wait + Mouse

Mouse double click

Connect objects with line (from source to target)

Right mouse button drag

Ctrl + c, Ctrl + v

Copy / paste object(s)

(Ctrl+) (Shift+) Mouse

Mark objects(s)

Ctrl + a

Mark all object(s)

Esc

Unmark all objects

Ctrl + Double click unused area

Create a comment

Double click line

Create a line branch

Ctrl + Double click line

Create a visualization object to show line data during calculation

Ctrl + t

Perform test calculation

View

Ctrl + shift + c

Copy window to clipboard..., Print window...

Ctrl + f


History

Ctrl + ->

Call next history entry

Ctrl + <-

Call previous history entry

Ctrl + Del

Delete actual history entry

Ctrl + o

Load objects from file...

Ctrl + s

Save actual state to file...

Undo / Redo

Ctrl + z

Undo (views, marks)

Ctrl + y

Redo (views, marks)

Inventory window

Double click

Add object to main window

Miscellaneous

F1

Show manual...

Shift+F1

Show keyboard shortcut manual...

3 Features

To implement a calculation there are objects available to get data, perform calculation steps and assign the result. By connecting these objects with lines the calculation order is specified.

The following figure shows a very simple example to transform the engine speed input from unit 1/min to 1/s we need just four objects and three lines.

The next figure shows a more complex example to calculate a corrected load signal from a measured load and lambda signal and the lambda setpoint values that are interpolated from map in a calibration parameter file.

An adequate set of objects is available to realize all common calculations. Supported by comfortable assistant functions like history, file export/import, test and debugging features it is easy to realize complex calculations in a comprehensible manner.

3.1 Vector based calculation strategy

By default calculations are performed vector based in a element wise manner. In the following example a multiplication of two vectors is implemented. This means that each element of “channel1” is multiplied with the element from “channel2” at the same position to retrieve the of the result at again the same position. Therefore both inport data vectors must have the same dimension and the resulting vector will also have this dimension.

If data to combine in a calculation has different size its size usually needs to be adjusted. This can be done by interpolation. The following two figures show how to implement this. In the first one Channel2 is interpolated to the axis of Channel1 to adjust to its size using the “InterpolChannel” object. A convenient way to do this without additional objects is shown in the second figure. The “channel” objects provides an interpolation to an axis of another channel.

Since the calculations are done vector based there are objects available to implement fast calculations that are usually performed using loop constructions. As an example in the following figures the calculation of a cumulated sum is shown. The implementation in a simulation software on the left side has the same functionality as the one on the right side using the CalcGuide.

4 Help / Tutorials

A detailed help specific for each object is available when editing or double clicking a object. Each single input field of these dialog windows additionally has an individual help that can be opened by the “i” button or by using the F1 key when the field is activated.

A set of introduction documents and examples is available using the “?” menu item.

5 Objects

5.1 Types of objects

The objects available are structured in different groups. All objects are described in detail in the Object Inventory reference.

When you double click an object a configuration dialog will be shown. It starts with a short introduction to the objects and a port description followed by the configuration input fields if any. When an input fields is highlighted you can get a help dialog especially for that input fields by pressing “F1” or using the “i” button.

5.2 Generation objects

The calculation always starts from data from Generation Objects. Various generation objects are available. In addition to the definition of fixed values, they also allow access to dynamic data from outside.

5.2.1 Channel object

With the channel object, for example, you can access measurement data or existing calculated channels. In order to access a previously calculated channel, it must be generated in the same pass and in the sequence before the second calculated channel. It is not possible to access calculated channels that already exist in the DataArtist, for example, but are not included in the current data loading process.

Additionally it is possible to interpolate the channel to the axis of another channel. This feature is used to adjust channel data to a common axis and therefore allows to perform direct operations like addition because the channels data will have same length after interpolation.

The axis of the channel may be shifted by a offset value. The offset will be applied before the interpolation to another axis if any. Positive values mean to shift the data to the "left" to smaller axis values. The offset can also result from an inport if “I1” is specified as offset value.

An automatic selection from multiple channels to pick the first existing not empty channel is also available. This feature eases to load data from channels with varying names - e.g. from different vehicles with different lambda measurement equipment installed. Keep in mind that the non existing channels may lead to harmless warnings during the calculation.

5.3 Result object

The result object has a special meaning. It represents the final result of the calculation. Each calculation must contain exactly one result object. Depending on the context of the calculation it may be possible to some object properties.

The name of the resulting calculated channel can be entered and a unit can be appended in [] brackets if supported by the calling application (e.g. DataArtist).

It is also possible to select a channel whose attributes will be transferred to the calculated channel. This allows for example the transfer of comments and value to text translations. The channel selected must already be in use inside the calculation (e.g. in a channel object). An automatic selection from multiple transfer channels to pick the first existing not empty channel is also available. This feature eases to handle data from channels with varying names - e.g. from different vehicles with different lambda measurement equipment installed. Keep in mind that the non existing channels may lead to harmless warnings during the calculation.

5.4 Add by symbol (Inventory)

The inventory (Shift+Ins, Space) shows all objects grouped and with their individual appearance. Additionally a short description is shown. The sections can be expanded and collapsed.

The inventory is opened by pressing the “space” key and the objects are added by double clicking them with the mouse or by their context menu. When a single line is selected before adding an object it will be inserted into the line automatically.

If the option is checked in the menu the inventory window will automatically hide when moving the mouse from it to the main figure window as long as both windows overlap.

5.5 Add by name

The quick way to add objects is to add them by name (Ins). Just type “insert” to open the dialog. By typing letters and using the wildcard character * the view can be filtered. Select one or multiple objects to add.

When a single line is selected before adding an object it will be inserted into the line automatically.

6 Line connections

Lines are used to connect objects and to define the calculation order and the signal flow.

6.1 Object ports

Lines must be connected to inports and outports of objects. A line does always start at an outport of an object and must end at an inport of another object.

6.1.1 Inports

The number of inports depends on the type of objects and possibly on the configuration of the object. For example an constant does does not have any inports and the addition objects inports number depends on its configuration of the calculation signs. The introduction in the configuration dialog will give further information regarding the inports.

Only one line can be connected to an inport.

6.1.2 Outports

An object does only have exactly one or none outports.

Any number of lines can be connected to an outport. This way it is possible to split calculation paths.

6.2 Connecting objects

There are different methods to connect objects using lines.

Using the first two methods lines are drawn from all marked objects simultaneously. This way you can quickly connects multiple objects to one target objects.

If you draw just one line it will be connected to the nearest empty inport when you release the mouse button. The inports are horizontally distributed over the extent of the object. If you draw multiple lines at a time or when drawing lines by double click they will be connected starting from the left most yet not connected inport of the target object independent from where you release the mouse button. In case of connecting objects by double click the line will always be connected to the left most yet not connected inport.

If you release the mouse button outside any object or over an object without unconnected inports the line will be deleted.

When an object has multiple inports the number of the inport the line was connected to will be displayed shortly.

The horizontal order of the inports is important for some types of objects because inports are numbered from left to right and this order is used to insert them into the calculation. In the previous example the calculation to be done was defined as “*/”. So “eng_speed” must be connected to the left inport to be the numerator of the division. Hidden line crossings behind an object will influence the calculation order in a obscure way. Therefore they are detected and shown automatically. See section “Continuous plausibility check“ for further details.

6.3 Line branches

Line branches are used to bend lines (Double click line). This way it is possible to avoid line crossings and structure the calculation.

Additionally lines branches can be used to split calculation paths because multiple lines can be connected.

7 Editing / structuring the calculation

7.1 Copy objects

Objects can be copied and pasted by using the menu items or by just dragging them with the right mouse button (Ctrl + c, Ctrl + v). If multiple objects are marked all of them will be copied.

7.2 Move objects

Objects can be moved by dragging the with the mouse or using the arrow keys when they are marked.

When moving a single object with the mouse and releasing it above a single line, the objects will be inserted into that line. The object must have an unconnected inport and outport for this to happen.

7.3 Add comments

You can add comment objects to a calculation (Ctrl + Double click unused area). These are static text objects without inports and outports.

7.4 Fit window

Using the menu item or keyboard shortcut (Ctrl + f) you can quickly fit the window to the existing objects.

7.5 Unify fonts

It is possible to adjust all objects to a common font in case of import of objects from other computers with different fonts available.

7.6 Update objects

Newer software versions of the CalcGuide may include improvements, changes or bug fixes for the calculation of single objects. To apply these changes to all existing objects of a calculation an objects update can be performed. The update does apply to all objects except for subsystems. These must be updated separately.

After the update the number of updated objects will be shown.

8 Special objects

8.1 Configuration

This object is used to edit general setting of the calculation.

8.2 Subsystem

Subsystems are used to structure extensive calculations or to reuse parts of calculations as they can be copied easily.

Subsystems additionally have inport objects. These make available the data from the lines connected outside the subsystem. Similarly they have outports. Each subsystem must have exactly one outport object.

8.3 Axis objects

Objects to access and create x-axes inside the calculation are available.

8.4 Simulink simulation

This object performs a Simulink simulation. Data exchange is done using MATLAB COM Automation server. The inport data of the object is first written to the MATLAB workspace. Then the simulation is started and after termination the output is retrieved from workspace or signal logging.

8.4.1 MATLAB COM automation server access

The connection is established to an existing MATLAB COM Automation server. Therefore a MATLAB instance must be running and COM Automation server must be activated. To do so use the following command:

enableservice('AutomationServer',true);

By default the connection is established to the most recent MATLAB version installed. If you want to connect to any MATLAB version other than the most recent one installed you need to enter the correct version string (available from MATLAB command “version”) in the object options.

8.4.2 Simulink model configuration

Signal / parameter access

To access signals and parameters for setting them to values produced by CalcGuide and to retrieve the simulation result the MATLAB workspace is used. The object supports to write the inport data to the MATLAB base workspace and to retrieve the simulation output and simulation time from it.

The workspace variables assigned by the CalcGuide can then be used to configure the Simulink blocks or feed inports – e.g. by using “From Workspace” and “To Workspace” blocks or by writing the variable names to the corresponding parameter configuration fields of the system or blocks. Alternatively a Simulink simulation can retrieve its input data and time from workspace variables directly using the “Load from workspace” feature from the model configuration.

Simulation solver / time

The simulation behavior will be determined by the settings chosen in Simulink. The resulting data to return from MATLAB workspace to CalcGuide results from this settings. So the solver and simulation time settings give the size of the resulting data. If the timing is relevant you need to ensure the correct behavior through the Simulink model configuration and by passing time from CalcGuide to the simulation – e.g. by additionally passing the (time) axis vector of an inport channel and using it to fill the corresponding parameters of the model configuration. See the following figure for an example.

If you need to ensure a given length of the resulting simulation data and time usually a discrete step solver with fixed step size must be used. The fixed step size may also be calculated from a workspace axis passed by CalcGuide.

8.4.3 Simulink simulation object configuration

In the following figures a simple calculation is show as well as the configuration dialog of the object. The calculation feeds the Simulink system with some signals from measured channels, a time axis and two calibration parameters. The output of the simulation is retrieved, split into time and data and written to the calculation outport data.

The example is shown for data transfer using “From/To workspace” blocks in Simulink as well as for using the Simulink “Load from / Save to workspace” feature.

8.5 Simulink Host-Based Shared Library (*.dll)

This object computes the output of a Simulink Host-Based Shared Library (*.dll). Simulink systems can be included in CalcGuide calculation when they are compiled to a Host-Based Shared Library (*.dll). Therefore the build target must be set to "ert_shrlib.tlc".

It is possible to access signals and parameters to set them to values produced by CalcGuide and to retrieve the simulation result. The library calculation is done in a loop for every simulation step. After setting the entire values of “parameter” inports the proceeding for every simulation step is:

  1. Set values of “signal” inports to the actual index value of the connected data.

  2. Calculate library simulation step.

  3. Retrieve library output values and write to actual index of the object outport data.

If the timing is relevant you need to ensure the correct behavior through the Simulink model configuration or by passing time from CalcGuide to the library – e.g. by additionally passing the (time) axis of an of an inport channel and using it within the system.

8.5.1 Simulink model configuration

To access signals and parameters of the system with the inports and the outport of the “Simulink DLL” object and to ensure correct library functionality some conditions must be kept.

Model Configuration parameters

Signal access

Signals to access must have a name and their storage class must be set to “ExportedGlobal”. See the following screenshot of the signal properties dialog for an example configuration of a signal. The data type of a signal is also important for the configuration later on in CalcGuide. Is is determined by the blocks the signal arises.

Parameter access

Parameters are usually workspace variables in Matlab that are used to fill lookup tables, their axes and constant scalar source blocks with data or to parameterize other blocks. These parameters can be scalar values, vectors, matrices, grids of higher dimensions or even structures.

Parameters to access must also have their storage class set to “ExportedGlobal”. This can be done using the “Model Configuration Parameters” dialog to access the list of workspace variables. In the following figures this dialog is shown as well as the block parameters dialog to set the workspace variable name.

Changed conventions for the dimensions must be observed. While in the SGE Circus, the x-axis is the horizontal axis of a map, in MATLAB/Simulink, for example, it is the vertical axis. Therefore, for direct use of the output of a DCM object as a Simulink block parameter, it is necessary to transpose. This is easy to achieve because it is an option of the DCM object.

Before building the library fill all referenced parameter variables must exist in the workspace. The size of these variables is important for their access from the CalcGuide. Also their datatype is important and is defined in the block parameters.

8.5.2 Simulink DLL object

When the library was generated it can be used from “Simulink DLL” object in the CalcGuide. In the following figures a simple calculation is show as well as the configuration dialog of the DLL object. The calculation feeds the library with two signals from measured channels and a constant value. The output of the library is directly written to the calculation outport data. It is supported to retrieve multiple outputs as once. In case multiple outputs are retrieved they are concatenated to a matrix where each column is a signal.

8.6 MATLAB function / mex

This object integrates a MATLAB function or mex call into a calculation. In this way, you can integrate internal MATLAB functions, custom functions, and even C code. Data exchange is done using MATLAB COM Automation server. The inport data of the object is first transferred to MATLAB. Then the function call is evaluated in MATLAB and termination the output is retrieved.

8.6.1 MATLAB COM automation server access

The connection is established to an existing MATLAB COM Automation server. Therefore a MATLAB instance must be running and COM Automation server must be activated. To do so use the following command:

enableservice('AutomationServer',true);

By default the connection is established to the most recent MATLAB version installed. If you want to connect to any MATLAB version other than the most recent one installed you need to enter the correct version string (available from MATLAB command “version”) in the object options.

8.6.2 MATLAB object configuration

Signal / parameter access

To access signals and parameters for setting them to values produced by CalcGuide and to retrieve the function result you can use either the MATLAB workspace or the function input and output parameters.

8.7 For loop subsystem

For loop subsystems can be used to implement iterative calculations. Remember that by default all calculations are performed vector based in one step. So for example to calculate a cumulated sum there is no need to use a for loop subsystem – see section ”Vector based calculation strategy“ for details.

For loop subsystems have three additional inports for the start, increment and final value of the loop counter. Inside the subsystem a LoopIndex object is available to access the loop counter. As an example the following figures show the outer and inner view of a for loop subsystem used to set the first ten values of the engine speed data to NaN.

Implementing calculations in for loops requires to understand how they are implemented. Before the first run of a for loop subsystem the inports are initialized with the data from the outer system and the LoopIndex is initialized with the value from the first inport. During the run the LoopIndex will be incremented before each loop with the seconds inport value and the calculation is performed. This proceeding is repeated as long as the LoopIndex is <= the third inports value.

So if you intent to modify data e.g. using the SetByIndex object it only makes sense to modify data directly resulting from an inport object because this data is initialized before the first loop and not modified afterwards by the loop calculation. Data downstream the calculation is not suitable for modification because it will be overwritten every loop. The following faulty example is similar to the previous one but additionally meant to multiply the result by two. In this case the SetByIndex object will modify data that will be overwritten every loop by the multiplication and so the modification will get lost.

Be aware that loop calculations may last very long. Prefer elementwise operations if available for the intended task. A for loop will show up a waitbar if it is executed.

8.8 Feedback creator

This object is used to create a feedback loop. Connected to an outport it allows to use this signal ahead in the calculation. This is mainly useful inside loops to repetitively calculate values depending on their previous value.

Remember that by default all calculations are performed vector based in one step. So for example to calculate a cumulated sum there is no need to use a feedback object in a loop subsystem – see section ”Vector based calculation strategy“ for details.

The initial value of the outport of a feedback object can be specified. Remember to specify the initial value to be a vector of adequate length if the initial loop index is greater than 1.

The following example implements a calculation to create a vector containing increasing values from 1 to 100.

9 Debugging

9.1 Continuous plausibility check

During editing the calculation a continuous plausibility check is done. Objects that have an inconsistent state are marked with a red border color. This will happen for example if not all necessary ports are connected or if a object that must be unique is inserted multiple times.

Inport lines of a object will be marked with red color if they cross each other behind the object (hidden line crossings). This is usually caused by a messed connection order of the lines from left to right and may lead to unexpected calculation results. In the following figure on the left side the constant “1” is connected to the right inport of the subtraction and the constant “2” is connected to the left inport. Therefore the calculation result would be 1 instead of -1 like in the figure on the right side with the constants connected correctly.

9.2 Visualization

It is possible to visualize part of the intermediate calculation results. You can add any number of visualization objects. This is done by double clicking a line with the “Control” button pressed (Ctrl + Double click line). When the calculation is performed each visualization objects produces a graphical (for vectors) or numeric (for scalars) output. Visualization objects are not regarded when performing a test calculation if not explicitly enabled using the configuration object.

For a visualization object the name to display in the corresponding legend entry of the graphics and the plot section can be configured. The legend entry will also indicate the size of the data displayed. If you spread your visualization objects over multiple plot sections the visualization window will be split into separate axes sections. A plot section can contain one or multiple visualization object outputs.

In the visualization window you can use for example the zoom and data cursor functionality to analyze the calculation data.

9.3 Test calculation

Before closing the CalcGuide window the calculation can be checked by performing a test calculation (Ctrl + t). The test calculation will be done using synthetic data. So the absolute values and dimensions cannot be judged and will not be shown. Visualization objects are not regarded when performing a test calculation if not explicitly enabled using the configuration object. The test calculation is usually much faster than the final calculation with the entire data.

The test calculation is done by default when confirming the calculation. This can be turned off using the configuration object.

Keep in mind that the synthetic inport data used may lead to irrelevant errors. If the test calculation results in an error, this does not necessarily mean that there is something wrong with the calculation, it is only an indication.

9.3.1 Inports number display

In a first step all lines connected to objects with at least two inports are numbered. This helps to judge the calculation order of the inport signals. In the following example we can see that the channel “eng_speed” is used as the numerator of the division because it is connected to inport 1.

9.3.2 Error indication

The result of the test calculation will be displayed by colored highlighting of the objects. Successfully processed objects will be shown with green border color and objects causing a calculation error will be shown with red border color. Unprocessed objects keep their border color. If an error occurs a corresponding message will be shown.

In the following example the error is caused by trying to divide two vectors with different dimensions.

But keep in mind that due to the synthetic data and data dimensions errors may occur that will not occur when the calculation is performed using the real data. For example the synthetic data used for a division may contain a zero and lead to an error while the real data does not contain zeros and the calculation will run fine.



9.3.3 Unprocessed objects indication

When the calculation is composed usually all objects should take place. In case there remain unprocessed objects a corresponding message will be shown and the objects will be shown with red border color.

A typical case leading to unprocessed objects is to create calculation loops without integrating a feedback object – see the following example.

9.3.4 Hidden line crossing indication

The result of the test calculation will be displayed by colored highlighting of the objects. Successfully processed objects will be shown with green border color and objects causing a calculation error will be shown with red border color. Unprocessed objects keep their border color. If an error occurs a corresponding message will be shown.

In the following example the error is caused by trying to divide two vectors with different dimensions.

But keep in mind that du



10 History

10.1 Save to file / load from file

The actual calculation objects can be exported to a file (Ctrl + s) and also be filled from a file (Ctrl + o). As also this functionality is available via shortcuts it is very easy to keep records of the work done and also to redo some work by reusing calculations or calculation parts. Not only the loading of files exported from CalcGuide is supported. It is also possible to load from files saved elsewhere that contain calculations – e.g. during loading data in DataArtist.

When exporting with some objects marked you will be asked whether you want to export all or only the marked objects. When importing from a file with already some objects existing you will be asked if you want to add the new objects or replace the existing ones.

11 Object inventory reference

11.1 Generation objects

11.2 Result objects

11.3 Multiple vector operations (dimensions preserved)

11.4 Single vector operations (dimensions preserved)

Outport: Resulting data

11.5 Vector operations (dimensions changed)

11.6 Other operations

11.7 Axes / interpolation



11.8 External interfaces





In case of a map you can choose between to do the inverse interpolation in horizontal (x) or vertical (y) direction. In this way, you determine the direction of the inversion. If the inversion is understood as tilting, you decide here the direction of tilting. For a curve inverse interpolation one inport will be created. For a map inverse interpolation two inports will be created. The first one is to connect the values to use for inverse look up. The second one is for the axis values of the dimension not to invert.

For example, if you want to invert a map representing torque (w) over speed (x) and load (y), you have two options:

  1. If you want the result to be a speed, select "x / horizontal direction" and connect a torque signal to the first and a load signal to the second inport.

  2. If you want the result to be a load, select "y / vertical direction" and connect a torque signal to the first and a speed signal to the second inport.

    1. If you want the result to be a speed, select "x / horizontal direction" and connect a torque signal to the first and a load signal to the second inport.

    2. If you want the result to be a load, select "y / vertical direction" and connect a torque signal to the first and a speed signal to the second inport.





11.9 Miscellaneous

12 Present, print, organize

12.1 Copy to clipboard, print

The CalcGuide makes it available to export the actual view into the clipboard or file formatted in a way that is suitable to be useful for different targets (Ctrl + shift + c).

This can be different sizes of clipboard content. "Email" and "Document" are specially sized to fit into a email or document software. "Email" creates a bitmap format while "Document" creates a vector format. Some paper formats are also available and all windows can be printed and saved to file in various formats.

The created window is configurable. So you can move objects. It is also possible to add lines, arrows, text boxes etc. to the window to explain or highlight.

During creation some options will be asked to define the base layout of the window.

After closing the window the content will be copied to clipboard and can be pasted / used in the target software.

12.2 Window handling

Since the SGE Circus offers to open a considerable number of windows an automatic window handling feature is implemented. Using the corresponding menu item enables to arrange all or a subset of the windows of the current session.

13 General information

Duplication, processing, distribution or any form of commercialization of the documents content beyond the scope of the copyright law shall require the prior written consent of the SGE Ingenieur GmbH. All trade and product names given in this document may also be legally protected even without special labeling (e.g. as a trademark).


The SGE Circus includes Third Party Software. For details please refer to the → SGE Circus documentation.


SGE Ingenieur GmbH – www.sge-ing.de

Copyright 2011-2022. All rights reserved.