Plot Style¶
Scatter Plots¶
Scatter¶
-
class
tecplot.plot.
Scatter
(plot)[source]¶ Plot-local scatter style settings.
This class controls the style of drawn scatter points on a specific plot.
Attributes
variable
The Variable
to be used when sizing scatter symbols.variable_index
Zero-based index of the Variable
used for size of scatter symbols.
-
Scatter.
variable
¶ The
Variable
to be used when sizing scatter symbols.The variable must belong to the
Dataset
attached to theFrame
that holds thisContourGroup
. Example usage:>>> plot.scatter.variable = dataset.variable('P') >>> plot.fieldmap(0).scatter.size_by_variable = True
-
Scatter.
variable_index
¶ Zero-based index of the
Variable
used for size of scatter symbols.>>> plot.scatter.variable_index = dataset.variable('P').index >>> plot.fieldmap(0).scatter.size_by_variable = True
The
Dataset
attached to this contour group’sFrame
is used, and the variable itself can be obtained through it:>>> scatter = plot.scatter >>> scatter_var = dataset.variable(scatter.variable_index) >>> scatter_var.index == scatter.variable_index True
Vector Plots¶
Vector2D¶
-
class
tecplot.plot.
Vector2D
(plot)[source]¶ Attributes
u_variable
u_variable_index
v_variable
v_variable_index
-
Vector2D.
u_variable
¶
-
Vector2D.
u_variable_index
¶
-
Vector2D.
v_variable
¶
-
Vector2D.
v_variable_index
¶
Vector3D¶
-
class
tecplot.plot.
Vector3D
(plot)[source]¶ Attributes
u_variable
u_variable_index
v_variable
v_variable_index
w_variable
w_variable_index
-
Vector3D.
u_variable
¶
-
Vector3D.
u_variable_index
¶
-
Vector3D.
v_variable
¶
-
Vector3D.
v_variable_index
¶
-
Vector3D.
w_variable
¶
-
Vector3D.
w_variable_index
¶
Contours¶
ContourGroup¶
-
class
tecplot.plot.
ContourGroup
(index, plot)[source]¶ Contouring of a variable using a colormap.
This object controls the style for a specific contour group within a
Frame
. Contour levels, colormap and contour lines are accessed through this class.from os import path import tecplot as tp from tecplot.constant import * # load data exdir = tp.session.tecplot_examples_directory() datafile = path.join(exdir,'2D','polarplot.plt') dataset = tp.data.load_tecplot(datafile) plot = dataset.frame.plot() plot.show_contour = True contour = plot.contour(0) contour.variable = dataset.variable('Mix') contour.colormap_name = 'Magma' # save image to file tp.export.save_png('polarplot_magma.png', 600)
There are a fixed number of contour groups available for each plot. Others can be enabled and modified by specifying an index other than zero:
>>> contour3 = plot.contour(3) >>> contour3.variable = dataset.variable('U')
Attributes
color_cutoff
ContourColorCutoff
object controlling color cutoff min/max.colormap_filter
ContourColormapFilter
object controlling colormap style properties.colormap_name
The name of the colormap ( str
) to be used.default_num_levels
Default target number ( int
) of levels used when resetting.labels
ContourLabels
object controlling contour line labels.legend
ContourLegend
associated with thisContourGroup
.levels
ContourLevels
holding the list of contour levels.lines
ContourLines
object controlling contour line style.variable
The Variable
being contoured.variable_index
Zero-based index of the Variable
being contoured.
-
ContourGroup.
color_cutoff
¶ ContourColorCutoff
object controlling color cutoff min/max.Type: ContourColorCutoff
>>> cutoff = plot.contour(0).color_cutoff >>> cutoff.min = 3.14
-
ContourGroup.
colormap_filter
¶ ContourColormapFilter
object controlling colormap style properties.Type: ContourColormapFilter
>>> plot.contour(0).colormap_filter.reverse = True
-
ContourGroup.
colormap_name
¶ The name of the colormap (
str
) to be used.Type: string
Example:
>>> plot.contour(0).colormap_name = 'Sequential - Yellow/Green/Blue'
-
ContourGroup.
default_num_levels
¶ Default target number (
int
) of levels used when resetting.Type: integer
Example:
>>> plot.contour(0).default_num_levels = 20
-
ContourGroup.
labels
¶ ContourLabels
object controlling contour line labels.Type: ContourLabels
Lines must be turned on through the associated fieldmap object for style changes to be meaningful:
>>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True
-
ContourGroup.
legend
¶ ContourLegend
associated with thisContourGroup
.Type: ContourLegend
This object controls the values of the contour lines. Values can be added, deleted or overridden completely:
>>> plot.contour(0).levels.reset_to_nice(15)
-
ContourGroup.
levels
¶ ContourLevels
holding the list of contour levels.Type: ContourLevels
This object controls the values of the contour lines. Values can be added, deleted or overridden completely:
>>> plot.contour(0).levels.reset_to_nice(15)
-
ContourGroup.
lines
¶ ContourLines
object controlling contour line style.Type: ContourLines
Lines must be turned on through the associated fieldmap object for style changes to be meaningful:
>>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).lines.mode = ContourLineMode.DashNegative
-
ContourGroup.
variable
¶ The
Variable
being contoured.The variable must belong to the
Dataset
attached to theFrame
that holds thisContourGroup
. Example usage:>>> plot.contour(0).variable = dataset.variable('P')
-
ContourGroup.
variable_index
¶ Zero-based index of the
Variable
being contoured.>>> plot.contour(0).variable_index = dataset.variable('P').index
The
Dataset
attached to this contour group’sFrame
is used:>>> contour = plot.contour(0) >>> contour_var = frame.dataset.variable(contour.variable_index) >>> contour_var.index == contour.variable_index True
ContourColorCutoff¶
-
class
tecplot.plot.
ContourColorCutoff
(contour)[source]¶ Color-mapped value limits to display.
This lets you specify a range within which contour flooding and multi-colored objects, such as scatter symbols, are displayed.
import os import tecplot as tp from tecplot.constant import PlotType, SurfacesToPlot # load the data examples_dir = tp.session.tecplot_examples_directory() datafile = os.path.join(examples_dir,'3D','pyramid.plt') dataset = tp.data.load_tecplot(datafile) # show boundary faces and contours plot = tp.active_frame().plot() surfaces = plot.fieldmap(0).surfaces surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_contour = True # cutoff contour flooding outside min/max range cutoff = plot.contour(0).color_cutoff cutoff.include_min = True cutoff.min = 0.5 cutoff.include_max = True cutoff.max = 1.0 cutoff.inverted = True tp.export.save_png('contour_color_cutoff.png',600)
Attributes
include_max
Use the maximum cutoff value. include_min
Use the minimum cutoff value. inverted
Cuts values outside the range instead of inside. max
The maximum cutoff value. min
The minimum cutoff value.
-
ContourColorCutoff.
include_max
¶ Use the maximum cutoff value.
Type: boolean
Thie example turns off the maximum cutoff:
>>> plot.contour(0).color_cutoff.include_max = False
-
ContourColorCutoff.
include_min
¶ Use the minimum cutoff value.
Type: boolean
Example usage:
>>> plot.contour(0).color_cutoff.include_min = True >>> plot.contour(0).color_cutoff.min = 3.14
-
ContourColorCutoff.
inverted
¶ Cuts values outside the range instead of inside.
Type: bool
>>> plot.contour(0).color_cutoff.inverted = True
ContourColormapFilter¶
-
class
tecplot.plot.
ContourColormapFilter
(contour)[source]¶ Controls how the colormap is rendered for a given contour.
from os import path import tecplot as tp from tecplot.constant import * # load the data exdir = tp.session.tecplot_examples_directory() datafile = path.join(exdir,'2D','MultiPoly2D.plt') ds = tp.data.load_tecplot(datafile) # set plot type to 2D field plot frame = tp.active_frame() frame.plot_type = PlotType.Cartesian2D plot = frame.plot() # show boundary faces and contours surfaces = plot.fieldmap(0).surfaces surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_contour = True # by default, contour 0 is the one that's shown, # set the contour's variable, colormap and number of levels contour = plot.contour(0) contour.variable = ds.variable('P') # cycle through the colormap three times and reversed # show a faithful (non-approximate) continuous distribution contour_filter = contour.colormap_filter contour_filter.num_cycles = 3 contour_filter.reversed = True contour_filter.fast_continuous_flood = False contour_filter.distribution = ColorMapDistribution.Continuous # save image to file tp.export.save_png('poly2d_filtered.png', 600)
Attributes
continuous_max
Upper limit for continuous colormap flooding. continuous_min
Lower limit for continuous colormap flooding. distribution
Rendering style of the colormap. fast_continuous_flood
Use a fast approximation to continuously flood the colormap. num_cycles
Number of cycles to repeat the colormap. reversed
Reverse the colormap. show_overrides
Enable the colormap overrides in this contour group. zebra_shade
Returns a ContourColormapZebraShade
filtering object.Methods
override
(index)Returns a ContourColormapOverride
object by index.
-
ContourColormapFilter.
continuous_max
¶ Upper limit for continuous colormap flooding.
Type: float
Example set the limits to the (min, max) of a variable in a specific zone:
>>> from tecplot.constant import ColorMapDistribution >>> cmap_filter = plot.contour(0).colormap_filter >>> cmap_filter.distribution = ColorMapDistribution.Continuous >>> pressure = dataset.variable('Pressure').values('My Zone') >>> cmap_filter.continuous_min = pressure.min >>> cmap_filter.continuous_max = pressure.max
-
ContourColormapFilter.
continuous_min
¶ Lower limit for continuous colormap flooding.
Type: float
Example usage:
>>> from tecplot.constant import ColorMapDistribution >>> cmap_filter = plot.contour(0).colormap_filter >>> cmap_filter.distribution = ColorMapDistribution.Continuous >>> cmap_filter.continuous_min = 3.1415
-
ContourColormapFilter.
distribution
¶ Rendering style of the colormap.
Type: ColorMapDistribution
Possible values:
Banded
- A solid color is assigned for all values within the band between two levels.
Continuous
- The color distribution assigns linearly varying colors to all multi-colored objects or contour flooded regions.
Example:
>>> from tecplot.constant import ColorMapDistribution >>> cmap_filter = plot.contour(0).colormap_filter >>> cmap_filter.distribution = ColorMapDistribution.Banded
-
ContourColormapFilter.
fast_continuous_flood
¶ Use a fast approximation to continuously flood the colormap.
Type: bool
Causes each cell to be flooded using interpolation between the color values at each node. When the transition from a color at one node to another node crosses over the boundary between control points in the color spectrum, fast flooding may produce colors not in the spectrum. Setting this to
False
is slower, but more accurate:>>> cmap_filter = plot.contour(0).colormap_filter >>> cmap_filter.fast_continuous_flood = True
-
ContourColormapFilter.
num_cycles
¶ Number of cycles to repeat the colormap.
Type: integer
>>> plot.contour(0).colormap_filter.num_cycles = 3
-
ContourColormapFilter.
override
(index)[source]¶ Returns a
ContourColormapOverride
object by index.Parameters: index ( int
) – The index of the colormap override object.Returns: ContourColormapOverride
– The class controlling the specific contour colormap override requested by index.Example:
>>> cmap_override = plot.contour(0).colormap_filter.override(0) >>> cmap_override.show = True
-
ContourColormapFilter.
reversed
¶ Reverse the colormap.
Type: bool
>>> plot.contour(0).colormap_filter.reversed = True
-
ContourColormapFilter.
show_overrides
¶ Enable the colormap overrides in this contour group.
Type: boolean
The overrides themselves must be turned on as well for this to have an effect on the resulting plot:
>>> contour = plot.contour(0) >>> cmap_filter = contour.colormap_filter >>> cmap_filter.show_overrides = True >>> cmap_filter.override(0).show = True
-
ContourColormapFilter.
zebra_shade
¶ Returns a
ContourColormapZebraShade
filtering object.Type: ContourColormapZebraShade
Example usage:
>>> zebra = plot.contour(0).colormap_filter.zebra_shade >>> zebra.show = True
ContourColormapOverride¶
-
class
tecplot.plot.
ContourColormapOverride
(index, colormap_filter)[source]¶ Assigns contour bands to specific color.
Specific contour bands can be assigned a unique basic color. This is useful for forcing a particular region to use blue, for example, to designate an area of water. You can define up to 16 color overrides.
from os import path import tecplot as tp from tecplot.constant import * # load the data exdir = tp.session.tecplot_examples_directory() datafile = path.join(exdir,'2D','cstream.plt') ds = tp.data.load_tecplot(datafile) # set plot type to 2D field plot frame = tp.active_frame() frame.plot_type = PlotType.Cartesian2D plot = frame.plot() # show boundary faces and contours surfaces = plot.fieldmap(0).surfaces surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_contour = True # by default, contour 0 is the one that's shown, # set the contour's variable, colormap and number of levels contour = plot.contour(0) contour.variable = ds.variable('v3') contour.colormap_name = 'Sequential - Yellow/Green/Blue' contour.levels.reset(10) # turn on colormap overrides for this contour contour_filter = contour.colormap_filter contour_filter.show_overrides = True # turn on override 0, coloring the first 4 levels red contour_override = contour_filter.override(0) contour_override.show = True contour_override.color = Color.Red contour_override.start_level = 0 contour_override.end_level = 4 # save image to file tp.export.save_png('cstream_contours.png', 600)
Attributes
color
Color which will override the colormap. end_level
Last level to override. show
Include this colormap override when filter is shown. start_level
First level to override.
-
ContourColormapOverride.
color
¶ Color which will override the colormap.
Type: Color
Example usage:
>>> from tecplot.constant import Color >>> colormap_filter = plot.contour(0).colormap_filter >>> cmap_override = colormap_filter.override(0) >>> cmap_override.color = Color.Blue
-
ContourColormapOverride.
end_level
¶ Last level to override.
Type: integer
Example usage:
>>> colormap_filter = plot.contour(0).colormap_filter >>> cmap_override = colormap_filter.override(0) >>> cmap_override.end_level = 2
ContourColormapZebraShade¶
-
class
tecplot.plot.
ContourColormapZebraShade
(colormap_filter)[source]¶ This filter sets a uniform color for every other band.
Setting the color to
None
turns the bands off and makes them transparent:from os import path import numpy as np import tecplot as tp from tecplot.constant import Color, SurfacesToPlot # load the data examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir,'3D','pyramid.plt') dataset = tp.data.load_tecplot(datafile) # show boundary faces and contours plot = tp.active_frame().plot() surfaces = plot.fieldmap(0).surfaces surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_contour = True plot.show_shade = False # set zebra filter on and make the zebra contours transparent cont0 = plot.contour(0) zebra = cont0.colormap_filter.zebra_shade zebra.show = True zebra.transparent = True tp.export.save_png('contour_zebra.png', 600)
Attributes
color
Color of the zebra shading. show
Show zebra shading in this ContourGroup
.transparent
Set the the zebra bands to be transparent.
-
ContourColormapZebraShade.
color
¶ Color of the zebra shading.
Type: Color
Example usage:
>>> from tecplot.constant import Color >>> filter = plot.contour(0).colormap_filter >>> zebra = filter.zebra_shade >>> zebra.show = True >>> zebra.color = Color.Blue
-
ContourColormapZebraShade.
show
¶ Show zebra shading in this
ContourGroup
.Type: boolean
Example usage:
>>> cmap_filter = plot.contour(0).colormap_filter >>> cmap_filter.zebra_shade.show = True
ContourLabels¶
-
class
tecplot.plot.
ContourLabels
(contour)[source]¶ Contour line label style, position and alignment control.
These are labels that identify particular contour levels either by value or optionally, by number starting from one. The plot type must be lines or lines and flood in order to see them:
from os import path import tecplot as tp from tecplot.constant import Color, ContourType, SurfacesToPlot # load the data examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir,'3D','pyramid.plt') dataset = tp.data.load_tecplot(datafile) # show boundary faces and contours plot = tp.active_frame().plot() plot.fieldmap(0).contour.contour_type = ContourType.Lines surfaces = plot.fieldmap(0).surfaces surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_contour = True # set contour label style contour_labels = plot.contour(0).labels contour_labels.show = True contour_labels.auto_align = False contour_labels.color = Color.Blue contour_labels.background_color = Color.White contour_labels.margin = 20 tp.export.save_png('contour_labels.png', 600)
Attributes
auto_align
Automatically align the labels with the contour lines. auto_generate
Automatically generate labels along contour lines. background_color
Background fill color behind the text labels. color
Text color of the labels. filled
Fill the background area behind the text labels. font
Font
used to show the labels.label_by_level
Use the contour numbers as the label instead of the data value. margin
Spacing around the text and the filled background area. show
Show the contour line labels. spacing
Spacing between labels along the contour lines. step
Number of contour lines from one label to the next.
-
ContourLabels.
auto_align
¶ Automatically align the labels with the contour lines.
Type: bool
This causes the flow of the text to be aligned with the contour lines. Otherwise, the labels are aligned with the frame:
>>> from tecplot.constant import ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.auto_align = False
-
ContourLabels.
auto_generate
¶ Automatically generate labels along contour lines.
Type: bool
This causes a new set of contour labels to be created at each redraw:
>>> from tecplot.constant import Color, ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.auto_generate = True
-
ContourLabels.
background_color
¶ Background fill color behind the text labels.
Type: Color
The
filled
attribute must be set toTrue
:>>> from tecplot.constant import Color, ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.background_color = Color.Blue
-
ContourLabels.
color
¶ Text color of the labels.
Type: Color
Example:
>>> from tecplot.constant import Color, ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.color Color.Blue
-
ContourLabels.
filled
¶ Fill the background area behind the text labels.
Type: boolean
The background can be filled with a color or disabled (made transparent) by setting this property to
False
:>>> from tecplot.constant import Color, ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.filled = True >>> plot.contour(0).labels.background_color = Color.Blue >>> plot.contour(1).labels.show = True >>> plot.contour(1).labels.filled = False
-
ContourLabels.
font
¶ Font
used to show the labels.Type: Font
Example:
>>> from tecplot.constant import Color, ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.font.size = 3.5
-
ContourLabels.
label_by_level
¶ Use the contour numbers as the label instead of the data value.
Type: bool
Contour level numbers start from one when drawn. Example usage:
>>> from tecplot.constant import Color, ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.label_by_level = True
-
ContourLabels.
margin
¶ Spacing around the text and the filled background area.
Type: float
in percentage of the text height.Contour numbers start from one when drawn. Example usage:
>>> from tecplot.constant import Color, ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.background_color = Color.Yellow >>> plot.contour(0).labels.margin = 20
-
ContourLabels.
show
¶ Show the contour line labels.
Type: bool
Contour lines must be on for this to have any effect:
>>> from tecplot.constant import ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True
-
ContourLabels.
spacing
¶ Spacing between labels along the contour lines.
Type: float
This is the distance between each label along each contour line in percentage of the frame height:
>>> from tecplot.constant import ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.spacing = 20
-
ContourLabels.
step
¶ Number of contour lines from one label to the next.
Type: int
This is the number of contour bands between lines that are to be labeled:
>>> from tecplot.constant import ContourType >>> plot.fieldmap(0).contour.contour_type = ContourType.Lines >>> plot.contour(0).labels.show = True >>> plot.contour(0).labels.step = 4
ContourLevels¶
-
class
tecplot.plot.
ContourLevels
(contour)[source]¶ List of contour level values.
A contour level is a value at which contour lines are drawn, or for banded contour flooding, the border between different colors of flooding. Initially, each contour group consists of approximately 10 levels evenly spaced over the z coordinate in the
Frame
‘sDataset
. These values can be manipulated with theContourLevels
object obtained via theContourGroup.levels
attribute.from os import path import numpy as np import tecplot as tp # load layout examples_dir = tp.session.tecplot_examples_directory() example_layout = path.join(examples_dir,'2D','3element.lpk') tp.load_layout(example_layout) frame = tp.active_frame() levels = frame.plot().contour(0).levels levels.reset_levels(np.linspace(55000,115000,61)) # save image to file tp.export.save_png('3element_adjusted_levels.png', 600)
Note
The streamtraces in the plot above is a side-effect of settings in layout file used. For more information about streamtraces, see the
plot.Streamtraces
class reference.Methods
add
(*values)Adds new levels to the existing list. delete_nearest
(value)Removes the level closest to the specified value. delete_range
(min_value, max_value)Inclusively, deletes all levels within a specified range. reset
([num_levels])Resets the levels to the number specified. reset_levels
(*values)Resets the levels to the values specified. reset_to_nice
([num_levels])Approximately resets the levels to the number specified.
-
ContourLevels.
add
(*values)[source]¶ Adds new levels to the existing list.
Parameters: *values ( floats
) – The level values to be added to theContourGroup
.The values added are inserted into the list of levels in ascending order:
>>> levels = plot.contour(0).levels >>> list(levels) [0.0, 1.0, 2.0, 3.0, 4.0, 5.0] >>> levels.add(3.14159) >>> list(levels) [0.0, 1.0, 2.0, 3.0, 3.14159, 4.0, 5.0]
-
ContourLevels.
delete_nearest
(value)[source]¶ Removes the level closest to the specified value.
Parameters: value ( float
) – Value of the level to remove.This method deletes the contour level with the value nearest the supplied value:
>>> plot.contour(0).levels.delete_nearest(3.14)
-
ContourLevels.
delete_range
(min_value, max_value)[source]¶ Inclusively, deletes all levels within a specified range.
Parameters: This method deletes all contour levels between the specified minimum and maximum values of the contour variable (inclusive):
>>> plot.contour(0).levels.delete_range(0.5, 1.5)
-
ContourLevels.
reset
(num_levels=15)[source]¶ Resets the levels to the number specified.
Parameters: num_levels ( integer
) – Number of levels. (default: 10)This will reset the contour levels to a set of evenly distributed values spanning the entire range of the currently selected contouring variable:
>>> plot.contour(0).levels.reset(30)
-
ContourLevels.
reset_levels
(*values)[source]¶ Resets the levels to the values specified.
Parameters: *values ( floats
) – The level values to be added to theContourGroup
.This method replaces the current set of contour levels with a new set. Here, we set the levels to go from 0 to 100 in steps of 5:
>>> plot.contour(0).levels.reset_levels(*range(0,101,5))
-
ContourLevels.
reset_to_nice
(num_levels=15)[source]¶ Approximately resets the levels to the number specified.
Parameters: num_levels ( integer
) – Approximate number of levels to create. (default: 10)This will reset the contour levels to a set of evenly distributed values that approximately spans the range of the currently selected contouring variable. Exact range and number of levels will be adjusted to make the contour levels have “nice” values:
>>> plot.contour(0).levels.reset_to_nice(50)
ContourLines¶
-
class
tecplot.plot.
ContourLines
(contour)[source]¶ Contour line style.
This object sets the style of the contour lines once turned on.
from os import path import tecplot as tp from tecplot.constant import (ContourLineMode, ContourType, SurfacesToPlot) # load the data examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir,'3D','pyramid.plt') dataset = tp.data.load_tecplot(datafile) # show boundary faces and contours plot = tp.active_frame().plot() plot.fieldmap(0).contour.contour_type = ContourType.Lines surfaces = plot.fieldmap(0).surfaces surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_contour = True # set contour line style contour_lines = plot.contour(0).lines contour_lines.mode = ContourLineMode.SkipToSolid contour_lines.step = 4 contour_lines.pattern_length = 2 tp.export.save_png('contour_lines.png', 600)
Attributes
mode
Type of lines to draw on the plot ( ContourLineMode
).pattern_length
Length of dashed lines and space between dashes ( float
).step
Number of lines to step for SkipToSolid
line mode (int
).
-
ContourLines.
mode
¶ Type of lines to draw on the plot (
ContourLineMode
).Type: ContourLineMode
Possible values:
UseZoneLineType
- For each zone, draw the contour lines using the line pattern
and pattern length specified in the
FieldmapContour
for the parent Fieldmaps. If you are adding contour lines to polyhedral zones, the patterns will not be continuous from one cell to the next and the pattern will restart at every cell boundary. SkipToSolid
- Draw dashed lines between each pair of solid lines which are
spaced out by the
ContourLines.step
property. This will override any line pattern or thickness setting in the parent Fieldmaps‘sFieldmapContour
object. DashNegative
- Draw lines of positive contour variable value as solid lines
and lines of negative contour variable value as dashed lines.
This will override any line pattern or thickness setting in the
parent Fieldmaps‘s
FieldmapContour
object.
Example:
>>> from tecplot.constant import ContourLineMode >>> lines = plot.contour(0).lines >>> lines.mode = ContourLineMode.DashNegative
-
ContourLines.
pattern_length
¶ Length of dashed lines and space between dashes (
float
).Type: float
The length is in percentage of the frame height:
>>> from tecplot.constant import ContourLineMode >>> lines = plot.contour(0).lines >>> lines.mode = ContourLineMode.SkipToSolid >>> lines.step = 5 >>> lines.pattern_length = 5
-
ContourLines.
step
¶ Number of lines to step for
SkipToSolid
line mode (int
).Type: int
Example:
>>> from tecplot.constant import ContourLineMode >>> lines = plot.contour(0).lines >>> lines.mode = ContourLineMode.SkipToSolid >>> lines.step = 5
Isosurface¶
IsosurfaceGroup¶
-
class
tecplot.plot.
IsosurfaceGroup
(index, plot)[source]¶ Isosurfaces style control.
from os import path import tecplot as tp from tecplot.plot.isosurface import IsosurfaceGroup from tecplot.constant import LightingEffect, Color, IsoSurfaceSelection examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_isosurfaces = True plot.contour(0).variable = dataset.variable('U(M/S)') iso = plot.isosurface(0) # type: IsosurfaceGroup iso.isosurface_selection = IsoSurfaceSelection.ThreeSpecificValues iso.isosurface_values = (135.674706817, 264.930212259, 394.185717702) iso.shade.use_lighting_effect = True iso.effects.lighting_effect = LightingEffect.Paneled iso.contour.show = True iso.mesh.show = True iso.mesh.line_thickness = .1 iso.mesh.color = Color.Black iso.effects.use_translucency = True iso.effects.surface_translucency = 50 tp.export.save_png('isosurface_group.png', 600)
Attributes
contour
Contour attributes for this isosurface group. definition_contour_group
Contour group from which isosurfaces are based. definition_contour_group_index
Contour group index from which isosurfaces are based. effects
Settings for isosurface effects. isosurface_selection
Select where to draw isosurfaces. isosurface_values
Query/Assign up to 3 values at which to draw isosurfaces. mesh
Mesh attributes for this isosurface group. obey_source_zone_blanking
Obey source zone blanking. shade
Shade attributes for this isosurface group. show
Show isosurfaces for this isosurface group.
-
IsosurfaceGroup.
contour
¶ Contour attributes for this isosurface group.
Type: IsosurfaceContour
Example usage:
>>> plot.isosurface(0).show = True >>> plot.isosurface(0).contour.show = True
-
IsosurfaceGroup.
definition_contour_group
¶ Contour group from which isosurfaces are based.
Type: ContourGroup
Example usage:
>>> group = plot.contour(1) >>> plot.isosurface(0).definition_contour_group = group
-
IsosurfaceGroup.
definition_contour_group_index
¶ Contour group index from which isosurfaces are based.
Type: Index
Contour group settings can be changed from
plot.ContourGroup
.Example usage:
>>> plot.isosurface(0).show = True >>> plot.isosurface(0).definition_contour_group_index = 1
-
IsosurfaceGroup.
effects
¶ Settings for isosurface effects.
Type: IsosurfaceEffects
Example usage:
>>> plot.isosurface(0).show = True >>> plot.isosurface(0).effects.use_translucency = True
-
IsosurfaceGroup.
isosurface_selection
¶ Select where to draw isosurfaces.
Type: IsoSurfaceSelection
- Iso-surfaces may be drawn at:
- Contour group levels
- At specified value(s) - Specify up to three values of the contour variable at which to draw isosurfaces.
- To draw isosurfaces at contour group lines:
- Set
isosurface_selection
toIsoSurfaceSelection.AllContourLevels
. - Optional: Change
tecplot.plot.ContourLevels
- Set
- To draw isosurfaces at up to 3 values:
- Set
isosurface_selection
to one of the following:IsoSurfaceSelection.OneSpecificValue
IsoSurfaceSelection.TwoSpecificValues
IsoSurfaceSelection.ThreeSpecificValues
- Set
isosurface_values
to a 1, 2, or 3tuple
offloats
- Set
See also
isosurface_values
.Example usage:
>>> plot.isosurface(0).show = True >>> plot.isosurface(0).isosurface_selection = IsoSurfaceSelection.TwoSpecificValues >>> plot.isosurface(0).isosurface_values = (.3, .8)
-
IsosurfaceGroup.
isosurface_values
¶ Query/Assign up to 3 values at which to draw isosurfaces.
Type: 1, 2, or 3- tuple
offloats
, or scalarfloat
- To draw isosurfaces at up to 3 values:
- Set
isosurface_selection
to one of the following:IsoSurfaceSelection.OneSpecificValue
IsoSurfaceSelection.TwoSpecificValues
IsoSurfaceSelection.ThreeSpecificValues
- Set
isosurface_values
to a 1, 2, or 3tuple
orlist
offloats
, or set to a scalarfloat
to assign the first value only.
- Set
When queried, this property will always return a 3 tuple of
floats
.See also
isosurface_selection
.Assign first isosurface value using a scalar
float
:>>> plot.isosurface(0).isosurface_selection = IsoSurfaceSelection.OneSpecificValue >>> plot.isosurface(0).isosurface_values = 0.5 >>> plot.isosurface(0).isosurface_values[0] >>> 0.5
Assign first isosurface value using a 1-
tuple
:>>> plot.isosurface(0).isosurface_selection = IsoSurfaceSelection.OneSpecificValue >>> plot.isosurface(0).isosurface_values = (.5,) # 1-tuple >>> plot.isosurface(0).isosurface_values >>> 0.5
Assign all three isosurface values:
>>> plot.isosurface(0).isosurface_selection = IsoSurfaceSelection.ThreeSpecificValues >>> plot.isosurface(0).isosurface_values = (.5, .7, 9)
Assign the third isosurface values after assigning the first two:
>>> plot.isosurface(0).isosurface_selection = IsoSurfaceSelection.ThreeSpecificValues >>> # Assign first and second isosurface value using a tuple >>> plot.isosurface(0).isosurface_values = (0.0, 0.1) >>> # Assign third isosurface value >>> plot.isosurface(0).isosurface_values[2] = .3 >>> plot.isosurface(0).isosurface_values[2] >>> .3 >>> plot.isosurface(0).isosurface_values >>> (0.0, 0.1, .3)
Query the three isosurface values:
>>> # isosurface_values always returns a >>> # list-like object of 3 floats with of current >>> # isosurface values, even if fewer than three have been set. >>> values = plot.isosurface(0).isosurface_values >>> values >>> (0.1, 0.2, 0.3) >>> values[0] >>> 0.1 >>> values[1] >>> 0.2 >>> values[2] >>> 0.3 >>> len(plot.isosurface(0).isosurface_values) >>> 3
-
IsosurfaceGroup.
mesh
¶ Mesh attributes for this isosurface group.
Type: IsosurfaceMesh
Example usage:
>>> plot.isosurface(0).show = True >>> plot.isosurface(0).mesh.show = True
-
IsosurfaceGroup.
obey_source_zone_blanking
¶ Obey source zone blanking.
Type: Example usage:
>>> plot.isosurface(0).show = True >>> plot.isosurface(0).obey_source_zone_blanking = True
-
IsosurfaceGroup.
shade
¶ Shade attributes for this isosurface group.
Type: IsosurfaceShade
Example usage:
>>> plot.isosurface(0).shade.show = True
IsosurfaceContour¶
-
class
tecplot.plot.
IsosurfaceContour
(contour)[source]¶ Contour attributes of the isosurface group.
import tecplot as tp from os import path from tecplot.plot import IsosurfaceGroup from tecplot.constant import ContourType examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_isosurfaces = True plot.contour(0).variable = dataset.variable('U(M/S)') iso = plot.isosurface(0) iso.contour.use_lighting_effect = True iso.contour.show = True iso.contour.contour_type = ContourType.AverageCell iso.contour.flood_contour_group_index = 5 # T(K) tp.export.save_png('isosurface_contour.png', 600)
Attributes
contour_type
Contour display type. flood_contour_group
Contour group to use for flooding. flood_contour_group_index
The Index
of theContourGroup
to use for flooding.line_color
Color
of contour lines.line_contour_group
The contour group to use for contour lines. line_contour_group_index
The Index
of theContourGroup
to use for contour lines.line_thickness
Contour line thickness as a percentage of frame width. show
Show contours on isosurfaces. use_lighting_effect
Enable lighting effect.
-
IsosurfaceContour.
contour_type
¶ Contour display type.
Type: ContourType
ContourType.Lines
- Draws lines of constant value of the specified contour variable.ContourType.Flood
- Floods regions between contour lines with colors from a color map. The distribution of colors used for contour flooding may be banded or continuous. When banded distribution is used for flooding, a solid color is used between contour levels. If continuous color distribution is used, the flood color will vary linearly in all directions.ContourType.Overlay
- Combines the above two options.ContourType.AverageCell
- Floods cells or finite elements with colors from a color map according to the average value of the contour variable over the data points bounding the cell. If the variables are located at the nodes, the values at the nodes are averaged. If the variables are cell-centered, the cell-centered values are averaged to the nodes and the nodes are then averaged.ContourType.PrimaryValue
- Floods cells or finite elements with colors from a color map according to the primary value of the contour variable for each cell. If the variable is cell centered, the primary value is the value assigned to the cell. If the variable is node located, the primary value comes from the lowest index node in the cell. If the variables are located at the nodes, the value of the lowest indexed node in the cell is used. When plotting IJK-ordered, FE-brick or FE-tetra cells, each face is considered independently of the other faces. You may get different colors on the different faces of the same cell. If the variables are cell-centered, the cell-centered value is used directly. When plotting I, J, or K-planes in 3D, the cell on the positive side of the plane supplies the value, except in the case of the last plane, where the cell on the negative side supplies the value.
Example usage:
>>> plot.isosurface(0).contour.show = True >>> plot.isosurface(0).contour.contour_type = ContourType.Flood
-
IsosurfaceContour.
flood_contour_group
¶ Contour group to use for flooding.
Type: ContourGroup
Changing style on this
ContourGroup
will affect all fieldmaps on the sameFrame
that use it.Example usage:
>>> group = plot.contour(1) >>> contour = plot.isosurface(1).contour >>> contour.flood_contour_group = group
-
IsosurfaceContour.
flood_contour_group_index
¶ The
Index
of theContourGroup
to use for flooding.Type: Index
(zero-based index)This property sets and gets, by
Index
, theContourGroup
used for flooding. Changing style on thisContourGroup
will affect all fieldmaps on the sameFrame
that use it.Example usage:
>>> contour = plot.isosurface(0).contour >>> contour.flood_contour_group_index = 1
-
IsosurfaceContour.
line_color
¶ Color
of contour lines.Type: Color
orContourGroup
Contour lines can be a solid color or be colored by a
ContourGroup
as obtained through theplot.contour
property.Example usage:
>>> plot.show_isosurfaces = True >>> plot.isosurface(0).contour.line_color = Color.Blue
-
IsosurfaceContour.
line_contour_group
¶ The contour group to use for contour lines.
Type: ContourGroup
Note that changing style on this
ContourGroup
will affect all other fieldmaps on the sameFrame
that use it.Example usage:
>>> contour = plot.isosurface(0).contour >>> group = plot.contour(1) >>> contour.line_contour_group = group
-
IsosurfaceContour.
line_contour_group_index
¶ The
Index
of theContourGroup
to use for contour lines.Type: integer
(zero-based index)This property sets and gets, by
Index
, theContourGroup
used for line placement. Although all properties of theContourGroup
can be manipulated through this object, many of them (i.e., color) will not affect the lines unless theFieldmapContour.line_color
is set to the sameContourGroup
. Note that changing style on thisContourGroup
will affect all other fieldmaps on the sameFrame
that use it.Example usage:
>>> contour = plot.isosurface(0).contour >>> contour.line_contour_group_index = 2
-
IsosurfaceContour.
line_thickness
¶ Contour line thickness as a percentage of frame width.
Suggested values are one of: .02, .1, .4, .8, 1.5
Type: float
Example usage:
>>> plot.show_isosurfaces = True >>> plot.isosurface(0).contour.line_thickness = .4
-
IsosurfaceContour.
show
¶ Show contours on isosurfaces.
Type: boolean
Example usage:
>>> plot.isosurface(0).contour.show = True
-
IsosurfaceContour.
use_lighting_effect
¶ Enable lighting effect.
Type: Boolean
When set to
True
, the lighting effect may be selected with theIsosurfaceEffects.lighting_effect
attribute.Note
Setting
IsosurfaceContour.use_lighting_effect
will also set the same value forIsosurfaceShade.use_lighting_effect
, and vice-versa.Example usage:
>>> plot.isosurface(0).shade.use_lighting_effect = True >>> plot.isosurface(0).effects.lighting_effect = LightingEffect.Paneled
IsosurfaceEffects¶
-
class
tecplot.plot.
IsosurfaceEffects
(contour)[source]¶ Effects of the isosurface group.
import tecplot as tp from os import path from tecplot.plot import IsosurfaceGroup from tecplot.constant import LightingEffect examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.contour(0).variable = dataset.variable('U(M/S)') plot.show_isosurfaces = True iso = plot.isosurface(0) iso.shade.use_lighting_effect = True iso.effects.lighting_effect = LightingEffect.Paneled iso.effects.use_translucency = True iso.effects.surface_translucency = 80 tp.export.save_png('isosurface_effects.png', 600)
Attributes
lighting_effect
Lighting effect. surface_translucency
Surface translucency of the isosurface group. use_translucency
Enable surface translucency for this isosurface group.
-
IsosurfaceEffects.
lighting_effect
¶ Lighting effect.
Type: LightingEffect
Isosurface lighting effects must be enabled by setting
IsosurfaceShade.use_lighting_effect
toTrue
when setting this value.There are two types of lighting effects: Paneled and Gouraud:
Paneled
: Within each cell, the color assigned to each area byshading or contour flooding is tinted by a shade constant across the cell. This shade is based on the orientation of the cell relative to your 3D light source.
Gouraud
: This offers smoother, more continuous shading thanPaneled shading, but it also results in slower plotting and larger print files.
Gouraud
shading is not continuous across zone boundaries unless face neighbors are specified in the data.Gouraud
shading is not available for finite element volume Zone when blanking is active. The zone’s lighting effect reverts toPaneled
shading in this case.
Example usage:
>>> plot.isosurface(0).shade.use_lighting_effect = True >>> plot.isosurface(0).effects.lighting_effect = LightingEffect.Paneled
-
IsosurfaceEffects.
surface_translucency
¶ Surface translucency of the isosurface group.
Type: integer
Iso-surface surface translucency must be enabled by setting
IsosurfaceEffects.use_translucency
=True
when setting this value.Valid translucency values range from one (opaque) to 99 (translucent).
Example usage:
>>> plot.isosurface(0).effects.use_translucency = True >>> plot.isosurface(0).effects.surface_translucency = 20
-
IsosurfaceEffects.
use_translucency
¶ Enable surface translucency for this isosurface group.
Type: boolean
The surface translucency value can be changed by setting
IsosurfaceEffects.surface_translucency
.Example usage:
>>> plot.isosurface(0).effects.use_translucency = True >>> plot.isosurface(0).effects.surface_translucency = 20
IsosurfaceMesh¶
-
class
tecplot.plot.
IsosurfaceMesh
(mesh)[source]¶ Mesh attributes of the isosurface group.
import tecplot as tp from os import path from tecplot.plot import IsosurfaceGroup from tecplot.constant import Color examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.contour(0).variable = dataset.variable('U(M/S)') plot.show_isosurfaces = True iso = plot.isosurface(0) iso.shade.use_lighting_effect = True iso.contour.show = True iso.mesh.show = True iso.mesh.color = Color.Black iso.mesh.line_thickness = 0.4 tp.export.save_png('isosurface_mesh.png', 600)
Attributes
color
Isosurface mesh color. line_thickness
Isosurface mesh line thickness. show
Display the mesh on isosurfaces.
-
IsosurfaceMesh.
color
¶ Isosurface mesh color.
Type: Color
orContourGroup
Iso-surface mesh lines can be a solid color or be colored by a
ContourGroup
as obtained through theplot.contour
property.Example usage:
>>> plot.isosurface(0).mesh.show = True >>> plot.isosurface(0).mesh.color = Color.Blue
IsosurfaceShade¶
-
class
tecplot.plot.
IsosurfaceShade
(contour)[source]¶ Shade attributes of the isosurface group.
import tecplot as tp from os import path from tecplot.plot import IsosurfaceGroup from tecplot.constant import Color, LightingEffect examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_isosurfaces = True plot.contour(0).variable = dataset.variable('U(M/S)') iso = plot.isosurface(0) iso.contour.show = False # Hiding the contour will reveal the shade. iso.shade.show = True iso.shade.color = Color.Red iso.shade.use_lighting_effect = True iso.effects.lighting_effect = LightingEffect.Paneled tp.export.save_png('isosurface_shade.png', 600)
Attributes
color
Shade color. show
Show shade attributes. use_lighting_effect
Enable lighting effect.
-
IsosurfaceShade.
color
¶ Shade color.
Type: Color
Color.MultiColor
andColor.RGBColor
coloring are not available. Use flooded contours for multi-color or RGB floodingExample usage:
>>> plot.isosurface(0).shade.show = True >>> plot.isosurface(0).shade.color = Color.Blue
-
IsosurfaceShade.
show
¶ Show shade attributes.
Type: boolean
Example usage:
>>> plot.isosurface(0).shade.show = True
-
IsosurfaceShade.
use_lighting_effect
¶ Enable lighting effect.
Type: Boolean
When set to
True
, the lighting effect may be selected with theIsosurfaceEffects.lighting_effect
attribute.Note
Setting
IsosurfaceShade.use_lighting_effect
will also set the same value forIsosurfaceContour.use_lighting_effect
, and vice-versa.Example usage:
>>> plot.isosurface(0).shade.use_lighting_effect = True >>> plot.isosurface(0).effects.lighting_effect = LightingEffect.Paneled
Slice¶
SliceGroup¶
-
class
tecplot.plot.
SliceGroup
(index, plot)[source]¶ Change attributes associated with slices.
Slices can include lighting effects, contours, meshes, and more. To customize these and other attributes of slices, use this object.
This object controls the style for a specific slice group within a
Frame
. Slicecontour
, vector, edge, effects, mesh, visibility and position information are accessed through this class.from os import path import tecplot as tp from tecplot.constant import SliceSurface, ContourType examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.contour(0).variable = dataset.variable('U(M/S)') vector_3D = tp.plot.Vector3D(plot) vector_3D.u_variable_index = 3 # U(M/S) vector_3D.v_variable_index = 4 # V(M/S) vector_3D.w_variable_index = 5 # W(M/S) plot.show_slices = True slice_0 = plot.slice(0) slice_0.contour.show = True slice_0.contour.contour_type = ContourType.Overlay # AKA "Both lines and flood" slice_0.effects.use_translucency = True slice_0.effects.surface_translucency = 30 slice_0.show_start_and_end_slices = True # Show an arbitrary slice slice_0.orientation = SliceSurface.Arbitrary slice_0.arbitrary_normal = (1, -.25, 0) slice_0.origin = (.19, .5, .25) # AKA Primary Slice Position slice_0.show_start_and_end_slices = True slice_0.start_position = (-.21, .05, .025) slice_0.end_position = (1.342, .95, .475) slice_0.show_intermediate_slices = True slice_0.num_intermediate_slices = 3 slice_0.vector.show = True slice_0.edge.show = True slice_0.edge.line_thickness = 0.4 tp.export.save_png('slice_example.png', 300)
Up to eight different slice groups can be set. Each slice group can use different slice planes or different ranges for the same slice plane.
>>> slice_3 = plot.slice(3) >>> slice_3.contour.show = True
Attributes
arbitrary_normal
Normal for arbitrary slices. contour
Contour attributes for the slice group. edge
Edge attributes for this slice group. effects
Effects attributes for this slice group. end_position
Position of the end slice. mesh
Mesh attributes for this slice group. num_intermediate_slices
Number of intermediate slicing planes. obey_source_zone_blanking
Obey source zone blanking. orientation
Select which plane the slice is drawn on (X,Y,Z, I, J, K or arbitrary). origin
Origin of the slice. shade
Shade attributes for this slice group. show
Show slices for this slice group. show_intermediate_slices
Show intermediate slices. show_primary_slice
Include the primary slice (first slice placed) in the Plot. show_start_and_end_slices
Include start and end slices. slice_source
Zones to slice through. start_position
Position of the start slice. vector
Vector attributes for this slice group. Methods
set_arbitrary_from_points
(p1, p2, p3)Set an arbitrary slice from 3 points.
-
SliceGroup.
arbitrary_normal
¶ Normal for arbitrary slices.
Type: 3- tuple
of floatsExample usage:
>>> plot.slice(0).orientation = SliceSurface.Arbitrary >>> plot.slice(0).arbitrary_normal = (0.1, 0.2, 0.3) >>> plot.slice(0).arbitrary_normal.x 0.1 >>> plot.slice(0).arbitrary_normal.y 0.2 >>> plot.slice(0).arbitrary_normal.z 0.3
-
SliceGroup.
contour
¶ Contour attributes for the slice group.
Type: SliceContour
Example usage:
>>> plot.slice(0).contour.show = True
-
SliceGroup.
edge
¶ Edge attributes for this slice group.
Type: SliceEdge
Example usage:
>>> plot.slice(0).edge.show = True
-
SliceGroup.
effects
¶ Effects attributes for this slice group.
Type: SliceEffects
Example usage:
>>> plot.slice(0).effects.use_translucency = True
-
SliceGroup.
end_position
¶ Position of the end slice.
SliceGroup.show_start_and_end_slices
must beTrue
to show the end slice.Type: 3- tuple
of floatsExample usage:
>>> plot.slice(0).show_start_and_end_slices = True >>> plot.slice(0).end_position = (1, 1, 1) >>> plot.slice(0).end_position.i 1
-
SliceGroup.
mesh
¶ Mesh attributes for this slice group.
Type: SliceMesh
Example usage:
>>> plot.slice(0).mesh.show = True
-
SliceGroup.
num_intermediate_slices
¶ Number of intermediate slicing planes.
You may specify between 1 and 5,000 intermediate slices.
Type: integer
Example usage:
>>> # Show 2 intermediate slices >>> plot.slice(0).num_intermediate_slices = 2
-
SliceGroup.
obey_source_zone_blanking
¶ Obey source zone blanking.
When set to
True
, slices are subject to any blanking used for the data. When set toFalse
, slices are generated for blanked and unblanked regions.Type: boolean
Example usage:
>>> plot.slice(0).obey_source_zone_blanking = True
-
SliceGroup.
orientation
¶ Select which plane the slice is drawn on (X,Y,Z, I, J, K or arbitrary).
Type: SliceSurface
You may also choose
SliceSurface.Arbitrary
to place the slice on an arbitrary plane.To orient slices in an arbitrary direction, choose
SliceSurface.Arbitrary
. As with other slices, you may specify origin points for a primary slice and/or for start and end slices. Slices pass through the indicated origin point(s), so you can easily align the edge of a slice or group of slices along some other feature of the plot, such as an axis. If intermediate slices are activated, they are drawn equally spaced between the slices defined by the start and end origins.Example usage:
>>> plot.slice(0).orientation = SliceSurface.XPlanes
-
SliceGroup.
origin
¶ Origin of the slice.
Type: 3- tuple
of floatsFor arbitrary slice orientation, the origin can be any location. For axis orientations (
XPlanes
,YPlanes
, etc.) two of the three components are not used.Example usage:
>>> slice_0 = plot.slice(0) >>> slice_0.orientation = SliceSurface.IPlanes >>> slice_0.origin = (1, 0, 0) >>> dx = (1, 1, 1) >>> slice_0.origin += dx >>> slice_0.origin.i 2 >>> slice_0.origin.j 1 >>> slice_0.origin.k 1 >>> slice_0.orientation = SliceSurface.Arbitrary >>> slice_0.origin = (.5, .1, .1) >>> slice_0.origin += dx >>> slice_0.origin.x 1.5 >>> slice_0.origin.y .1 >>> slice_0.origin.z .1
-
SliceGroup.
set_arbitrary_from_points
(p1, p2, p3)[source]¶ Set an arbitrary slice from 3 points.
Set the normal and origin of an arbitrary slice using three points. The origin will be set to the 3rd point.
The three points must not be coincident or collinear. The slice’s origin is set to the third point and its normal is recalculated such that the cutting plane passes through all three points.
Parameters:
p1: 3-`tuple` of floats p2: 3-`tuple` of floats p3: 3-`tuple` of floats
Example usage:
>>> slice_0 = plot.slice(0) >>> slice_0.set_arbitrary_from_points((0,0,0), (.1,.2,.3), (.1,.1,.1))
-
SliceGroup.
shade
¶ Shade attributes for this slice group.
Type: SliceShade
Example usage:
>>> plot.slice(0).shade.show = True
-
SliceGroup.
show
¶ Show slices for this slice group.
Type: bool
Example usage:
>>> plot.slice(0).show = True
-
SliceGroup.
show_intermediate_slices
¶ Show intermediate slices.
Intermediate slices are evenly distributed between the start and end slices.
Example usage:
>>> plot.slice(0).show_intermediate_slices = True
-
SliceGroup.
show_primary_slice
¶ Include the primary slice (first slice placed) in the Plot.
Type: bool
Example usage:
>>> plot.slice(0).show = True >>> plot.slice(0).show_primary_slice = True
-
SliceGroup.
show_start_and_end_slices
¶ Include start and end slices.
Type: boolean
Example usage:
>>> plot.slice(0).show_start_and_end_slices = True
-
SliceGroup.
slice_source
¶ Zones to slice through.
Choose to slice through volume Zones, surface Zones, or the surfaces of volume Zones.
Type: SliceSource
Example usage:
>>> plot.slice(0).slice_source = SliceSource.SurfaceZones
-
SliceGroup.
start_position
¶ Position of the start slice.
SliceGroup.show_start_and_end_slices
must beTrue
to show the start slice.Type: 3- tuple
of floatsExample usage:
>>> plot.slice(0).show_start_and_end_slices = True >>> plot.slice(0).start_position = (1, 1, 1) >>> plot.slice(0).start_position.i 1
-
SliceGroup.
vector
¶ Vector attributes for this slice group.
Type: SliceVector
Example usage:
>>> plot.slice(0).vector.show = True
SliceContour¶
-
class
tecplot.plot.
SliceContour
(parent_slice)[source]¶ Contour attributes of the slice group.
from os import path import tecplot as tp from tecplot.constant import SliceSurface, ContourType examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_slices = True slice_0 = plot.slice(0) plot.contour(0).variable = dataset.variable('U(M/S)') slice_0.contour.show = True slice_0.contour.contour_type = ContourType.Overlay # AKA "Both lines and flood" slice_0.show_start_and_end_slices = True # Show an arbitrary slice slice_0.orientation = SliceSurface.Arbitrary slice_0.arbitrary_normal = (1, -.25, 0) slice_0.origin = (.19, .5, .25) # AKA Primary Slice Position slice_0.show_start_and_end_slices = True slice_0.start_position = (-.21, .05, .025) slice_0.end_position = (1.342, .95, .475) slice_0.show_intermediate_slices = True slice_0.num_intermediate_slices = 3 tp.export.save_png('slice_contour.png', 600)
Attributes
contour_type
Contour type for the slice contours. flood_contour_group
Contour group to use for flooding. flood_contour_group_index
The Index
of theContourGroup
to use for flooding.line_color
Color
of contour lines.line_contour_group
Contour group to use for contour lines. line_contour_group_index
The Index
of theContourGroup
to use for contour lines.line_thickness
Contour line thickness as a percentage of frame width. show
Show contours on the slice. use_lighting_effect
Enable lighting effect.
-
SliceContour.
contour_type
¶ Contour type for the slice contours.
Type: ContourType
Example usage:
>>> plot.show_slices = True >>> plot.slice(0).contour.contour_type = ContourType.AverageCell
-
SliceContour.
flood_contour_group
¶ Contour group to use for flooding.
Type: ContourGroup
Changing style on this
ContourGroup
will affect all fieldmaps on the sameFrame
that use it.Example usage:
>>> group = plot.contour(1) >>> contour = plot.slice(1).contour >>> contour.flood_contour_group = group
-
SliceContour.
flood_contour_group_index
¶ The
Index
of theContourGroup
to use for flooding.Type: Index
(zero-based index)This property sets and gets, by
Index
, theContourGroup
used for flooding. Changing style on thisContourGroup
will affect all fieldmaps on the sameFrame
that use it.Example usage:
>>> plot.show_slices = True >>> contour = plot.slice(0).contour >>> contour.flood_contour_group_index = 1
-
SliceContour.
line_color
¶ Color
of contour lines.Selecting
Color.MultiColor
will color the slice contour lines based on thecontour group
variable.Type: Color
Example usage:
>>> plot.show_slices = True >>> plot.slice(0).contour.line_color = Color.Blue
-
SliceContour.
line_contour_group
¶ Contour group to use for contour lines.
Type: ContourGroup
Changing style on this
ContourGroup
will affect all fieldmaps on the sameFrame
that use it.Example usage:
>>> group = plot.contour(1) >>> contour = plot.slice(1).contour >>> contour.line_contour_group = group
-
SliceContour.
line_contour_group_index
¶ The
Index
of theContourGroup
to use for contour lines.Type: integer
(zero-based index)This property sets and gets, by
Index
, theContourGroup
used for line placement. Although all properties of theContourGroup
can be manipulated through this object, many of them (i.e., color) will not affect the lines unless theFieldmapContour.line_color
is set to the sameContourGroup
. Note that changing style on thisContourGroup
will affect all other fieldmaps on the sameFrame
that use it.Example usage:
>>> plot.show_slices = True >>> contour = plot.slice(0).contour >>> contour.line_contour_group_index = 2
-
SliceContour.
line_thickness
¶ Contour line thickness as a percentage of frame width.
Suggested values are one of: .02, .1, .4, .8, 1.5
Type: float
Example usage:
>>> plot.show_slices = True >>> plot.slice(0).contour.line_thickness = .4
-
SliceContour.
show
¶ Show contours on the slice.
Type: bool
Example usage:
>>> plot.show_slices = True >>> plot.slice(1).contour.show = True
-
SliceContour.
use_lighting_effect
¶ Enable lighting effect.
Note
Setting
SliceContour.use_lighting_effect
will also set the same value forSliceShade.use_lighting_effect
, and vice-versa.The lighting effect is set with
SliceEffects.lighting_effect
, and may be one ofLightingEffect.Gouraud
orLightingEffect.Paneled
.Type: boolean
Example usage:
>>> plot.show_slices = True >>> contour = plot.slice(0).contour >>> contour.use_lighting_effect = True >>> plot.slice(0).effects.lighting_effect = LightingEffect.Paneled
SliceEdge¶
-
class
tecplot.plot.
SliceEdge
(vector)[source]¶ Edge attributes of the slice group.
When enabled, selected edge lines of all slices in this group will be shown.
from os import path import tecplot as tp examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_slices = True slice_0 = plot.slice(0) plot.contour(0).variable = dataset.variable('U(M/S)') slice_0.edge.show = True slice_0.edge.line_thickness = 0.8 tp.export.save_png('slice_edge.png', 600)
Attributes
color
Edge color. edge_type
Edge type. line_thickness
Edge line thickness as a percentage of frame width. show
Show edges.
-
SliceEdge.
color
¶ Edge color.
Type: Color
Example usage:
>>> plot.slice(0).edge.show = True >>> plot.slice(0).edge.color = Color.Blue
-
SliceEdge.
edge_type
¶ Edge type.
Type: EdgeType
There are two types of edges in Tecplot 360 EX: creases and borders.
An edge border is the boundary of a Zone. An edge crease appears when the inside angle between two cells is less than a user-defined limit. The inside angle can range from 0-180 degrees (where 180 degrees indicates coplanar surfaces). The default inside angle for determining an edge crease is 135 degrees.
Example usage:
>>> plot.slice(0).edge.show = True >>> plot.slice(0).edge.edge_type = EdgeType.BordersAndCreases
SliceEffects¶
-
class
tecplot.plot.
SliceEffects
(effects)[source]¶ Slice effects for this slice.
from os import path import tecplot as tp examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_slices = True slice_0 = plot.slice(0) plot.contour(0).variable = dataset.variable('U(M/S)') slice_0.contour.show = True slice_0.effects.use_translucency = True slice_0.effects.surface_translucency = 70 tp.export.save_png('slice_effects.png', 600)
Attributes
lighting_effect
Lighting effect. surface_translucency
Surface translucency of the slice group. use_translucency
Enable surface translucency for this slice group.
-
SliceEffects.
lighting_effect
¶ Lighting effect.
Type: LightingEffect
Slice lighting effects must be enabled by setting
SliceContour.use_lighting_effect
orSliceShade.use_lighting_effect
toTrue
when setting this value.There are two types of lighting effects: Paneled and Gouraud:
Paneled
: Within each cell, the color assigned to each area byshading or contour flooding is tinted by a shade constant across the cell. This shade is based on the orientation of the cell relative to your 3D light source.
Gouraud
: This offers smoother, more continuous shading thanPaneled shading, but it also results in slower plotting and larger print files.
Gouraud
shading is not continuous across zone boundaries unless face neighbors are specified in the data.Gouraud
shading is not available for finite element volume Zones when blanking is active. The zone’s lighting effect reverts toPaneled
shading in this case.
Example usage:
>>> plot.slice(0).contour.use_lighting_effect = True >>> plot.slice(0).effects.lighting_effect = LightingEffect.Paneled
-
SliceEffects.
surface_translucency
¶ Surface translucency of the slice group.
Type: integer
Slice surface translucency must be enabled by setting
SliceEffects.use_translucency
=True
when setting this value.Valid slice translucency values range from one (opaque) to 99 (translucent).
Example usage:
>>> plot.slice(0).effects.use_translucency = True >>> plot.slice(0).effects.surface_translucency = 20
-
SliceEffects.
use_translucency
¶ Enable surface translucency for this slice group.
Type: boolean
The surface translucency value can be changed by setting
SliceEffects.surface_translucency
.Example usage:
>>> plot.slice(0).effects.use_translucency = True >>> plot.slice(0).effects.surface_translucency = 20
SliceMesh¶
-
class
tecplot.plot.
SliceMesh
(mesh)[source]¶ Mesh attributes of the slice group.
from os import path import tecplot as tp from tecplot.constant import SliceSurface, ContourType examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_slices = True plot.contour(0).variable = dataset.variable('U(M/S)') plot.slice(0).mesh.show = True tp.export.save_png('slice_mesh.png', 300)
Attributes
color
Slice mesh line Color
orContourGroup
.line_thickness
Mesh line thickness. show
Show mesh lines.
-
SliceMesh.
color
¶ Slice mesh line
Color
orContourGroup
.Type: Color
orContourGroup
Slice mesh lines can be a solid color or be colored by a
ContourGroup
as obtained through theplot.contour
property.Example usage:
>>> plot.slice(0).mesh.show = True >>> plot.slice(0).mesh.color = Color.Green
SliceShade¶
-
class
tecplot.plot.
SliceShade
(shade)[source]¶ Shade attributes of the slice group.
Show shading on the slice when
SliceContour.show
has not been selected or is set toContourType.Lines
.from os import path import tecplot as tp from tecplot.constant import Color examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D', 'pyramid.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.show_slices = True plot.slice(0).contour.show = False shade = plot.slice(0).shade shade.show = True shade.color = Color.Red # Slice will be colored solid red. tp.export.save_png('slice_shade.png', 300)
Attributes
color
Shade color. show
Show shade attributes. use_lighting_effect
Use lighting effect.
-
SliceShade.
color
¶ Shade color.
Type: Color
Color.MultiColor
andColor.RGBColor
coloring are not available. Use flooded contours for multi-color or RGB floodingExample usage:
>>> plot.slice(0).shade.show = True >>> plot.slice(0).shade.color = Color.Blue
-
SliceShade.
show
¶ Show shade attributes.
Type: boolean
Example usage:
>>> plot.slice(0).shade.show = True
-
SliceShade.
use_lighting_effect
¶ Use lighting effect.
When set to
True
, the lighting effect may be selected with theSliceEffects.lighting_effect
attribute.Note
Setting
SliceShade.use_lighting_effect
will also set the same value forSliceContour.use_lighting_effect
, and vice-versa.Type: Boolean
Example usage:
>>> plot.slice(0).shade.use_lighting_effect = True >>> plot.slice(0).effects.lighting_effect = LightingEffect.Paneled
SliceVector¶
-
class
tecplot.plot.
SliceVector
(vector)[source]¶ Vector attributes of the slice group.
from os import path import tecplot as tp examples_dir = tp.session.tecplot_examples_directory() datafile = path.join(examples_dir, '3D', 'Arrow.plt') dataset = tp.data.load_tecplot(datafile) plot = tp.active_frame().plot() plot.contour(0).variable_index = dataset.variable('Z').index plot.show_slices = True # Vector variables must be assigned before displaying vector_3D = tp.plot.Vector3D(plot) vector_3D.u_variable_index = 1 vector_3D.v_variable_index = 2 vector_3D.w_variable_index = 3 slice_vector = plot.slice(0).vector slice_vector.show = True tp.export.save_png('slice_vector.png', 300)
Attributes
arrowhead_style
Arrowhead style of slice vectors. color
Set slice vector color. is_tangent
Use tangent vectors for slices. line_thickness
Vector line thickness as a percentage of the frame height. show
Show vectors on slices. vector_type
Type of vector for slices in this slice group.
-
SliceVector.
arrowhead_style
¶ Arrowhead style of slice vectors.
Type: ArrowheadStyle
Example usage:
>>> plot.slice(0).vector.show = True >>> plot.slice(0).vector.arrowhead_style = ArrowheadStyle.Hollow
-
SliceVector.
color
¶ Set slice vector color.
Type: Color
Example usage:
>>> plot.slice(0).vector.show = True >>> plot.slice(0).vector.color = Color.Red
-
SliceVector.
is_tangent
¶ Use tangent vectors for slices.
Type: boolean
Example usage:
>>> plot.slice(0).vector.show = True >>> plot.slice(0).vector.is_tangent = True
-
SliceVector.
line_thickness
¶ Vector line thickness as a percentage of the frame height.
Type: float
Typical values are .02, .1, .4, .8, 1.5
Example usage:
>>> plot.slice(0).vector.show = True >>> plot.slice(0).vector.line_thickness = .1
-
SliceVector.
show
¶ Show vectors on slices.
Type: boolean
Example usage:
>>> plot.slice(0).vector.show = True
-
SliceVector.
vector_type
¶ Type of vector for slices in this slice group.
Type: VectorType
Example usage:
>>> plot.slice(0).vector.show = True >>> plot.slice(0).vector.vector_type = VectorType.MidAtPoint
Streamtraces¶
Streamtraces¶
-
class
tecplot.plot.
Streamtraces
(plot)[source]¶ Streamtrace attributes for the plot.
A streamtrace is the path traced by a massless particle placed at an arbitrary location in a steady-state vector field. Streamtraces may be used to illustrate the nature of the vector field flow in a particular region of the Plot.
Note
Because streamtraces are dependent upon a vector field, you must define vector components before creating streamtraces. However, it is not necessary to activate the Vector zone layer to use streamtraces.
import os import tecplot from tecplot.constant import * from tecplot.plot import Cartesian3DFieldPlot examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'eddy.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_mesh = True plot.show_shade = False plot.vector.u_variable_index = 4 plot.vector.v_variable_index = 5 plot.vector.w_variable_index = 6 plot.show_streamtraces = True streamtraces = plot.streamtraces streamtraces.color = Color.Blue streamtraces.show_arrows = True streamtraces.arrowhead_size = 3 streamtraces.step_size = .25 streamtraces.line_thickness = .2 streamtraces.max_steps = 100 streamtraces.add_rake(start_position=(45.49, 15.32, 59.1), end_position=(48.89, 53.2, 47.6), stream_type=Streamtrace.SurfaceLine) tecplot.export.save_png('streamtrace_example.png', 600)
Attributes
are_active
Determine if there are active streamtraces in the current plot type. arrowhead_size
Arrowhead size as a percentage of frame height. arrowhead_spacing
Distance between arrowheads in terms of Y-frame units. color
Color of streamtraces line (not rods or ribbons). count
Query the number of active streamtraces for the current plot type. dash_skip
Number of time deltas used for the “off” sections of the streamlines. has_terminating_line
Determine if the streamtraces have the terminating line. line_thickness
Streamtrace line thickness. marker_color
Color
of the streamline markers.marker_size
Size of streamline markers. marker_symbol_type
The SymbolType
to use for stream markers.max_steps
Maximum number of steps before the streamtrace is terminated. min_step_size
Smallest step size to use as a percentage of cell distance. obey_source_zone_blanking
Obey source zone blanking. rod_ribbon
Streamtrace rod/ribbon attributes. show_arrows
Display arrowheads along all streamlines. show_dashes
Display streamtrace dashes. show_markers
Display streamtrace markers. show_paths
Draw streamtrace paths (lines, ribbons, or rods). step_size
Maximum fraction of the distance across a cell that a streamtrace moves in one step. termination_line
Streamtraces termination line attributes. timing
Streamtraces timing attributes. Methods
add
(seed_point, stream_type[, direction])Add a single streamtrace to the plot of the current frame. add_on_zone_surface
(zones, stream_type[, ...])Add streamtraces to one or more zones in a plot. add_rake
(start_position, end_position, ...)Add a rake of streamtraces to the plot of the current frame. delete_all
()Delete all streamtraces for the current plot type. delete_range
(range_start, range_end)Delete a range of streamtraces. marker_symbol
([symbol_type])Returns a streamline symbol style object. position
(stream_number)Query the starting position of a streamtrace. set_termination_line
(line_points)Set the position of the termination line for streamtraces. streamtrace_type
(stream_number)Query the type of a streamtrace by streamtrace number.
-
Streamtraces.
add
(seed_point, stream_type, direction=<StreamDir.Both: 2>)[source]¶ Add a single streamtrace to the plot of the current frame.
The plot type must be either
Cartesian2D
orCartesian3D
.Parameters: - seed_point – (2- or 3-
tuple
offloats
): Pass a 2-tuple
offloat
for aCartesian2DFieldPlot
, or a 3-tuple
offloat
for aCartesian3DFieldPlot
. - stream_type – (
Streamtrace
): Type of streamtraces to add. - direction – (
StreamDir
, optional): Direction of propagation of the streamtraces being added.
Note
stream_type is automatically set to
Streamtrace.SurfaceLine
if the plot type isCartesian2DFieldPlot
. The only stream type available for 2D plots isStreamtrace.SurfaceLine
.Raises: TecplotSystemError
– The streamtraces could not be added.import tecplot from tecplot.constant import * import os examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'eddy.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_mesh = True plot.show_shade = False plot.vector.u_variable_index = 4 plot.vector.v_variable_index = 5 plot.vector.w_variable_index = 6 plot.show_streamtraces = True plot.streamtraces.add([3, 4, 5], Streamtrace.VolumeLine) tecplot.export.save_png('streamtrace_add_xyz.png', 600)
- seed_point – (2- or 3-
-
Streamtraces.
add_on_zone_surface
(zones, stream_type, num_seed_points=10, direction=<StreamDir.Both: 2>)[source]¶ Add streamtraces to one or more zones in a plot.
The plot type must be either
Cartesian2D
orCartesian3D
.Note
For volume zones the streamtraces are propagated from the surfaces of the volume.
Parameters: - zones (
Set displays
ofintegers
) – Set of Zones on which to add streamtraces. - stream_type – (
Streamtrace
): Type of streamtraces to add. - num_seed_points – (
integer
, optional): Number of seed points for distributing along a rake or on defined surfaces. - direction – (
StreamDir
, optional): Direction of propagation of the streamtraces being added.
import tecplot from tecplot.constant import * import os examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, 'OneraM6wing', 'OneraM6_SU2_RANS.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() plot.vector.u_variable_index = 3 plot.vector.v_variable_index = 4 plot.vector.w_variable_index = 5 plot.show_streamtraces = True plot.streamtraces.add_on_zone_surface( zones=[1], # Add streamtraces on 2nd zone only stream_type=Streamtrace.VolumeLine) tecplot.export.save_png('streamtrace_add_on_zone_surface.png', 600)
- zones (
-
Streamtraces.
add_rake
(start_position, end_position, stream_type, num_seed_points=10, direction=<StreamDir.Both: 2>)[source]¶ Add a rake of streamtraces to the plot of the current frame.
The plot type must be either
Cartesian2D
orCartesian3D
.Parameters: - start_position – (2- or 3-
tuple
offloats
): Pass a 2-tuple
offloat
for aCartesian2DFieldPlot
, or a 3-tuple
offloat
for aCartesian3DFieldPlot
. - end_position – (2- or 3-
tuple
offloats
): Pass a 2-tuple
offloat
for aCartesian2DFieldPlot
, or a 3-tuple
offloat
for aCartesian3DFieldPlot
. - stream_type – (
Streamtrace
): Type of streamtraces to add. - num_seed_points – (
integer
, optional): Number of seed points for distributing along a rake or on defined surfaces. - direction – (
StreamDir
, optional): Direction of propagation of the streamtraces being added.
import tecplot from tecplot.constant import * import os examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'eddy.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_mesh = True plot.show_shade = False plot.vector.u_variable_index = 4 plot.vector.v_variable_index = 5 plot.vector.w_variable_index = 6 plot.show_streamtraces = True streamtraces = plot.streamtraces streamtraces.add_rake(start_position=[.5, .5, .5], end_position=[20, 20, 20], stream_type=Streamtrace.VolumeLine) tecplot.export.save_png('streamtrace_add_rake.png', 600)
- start_position – (2- or 3-
-
Streamtraces.
are_active
¶ Determine if there are active streamtraces in the current plot type.
Note
This property is read-only.
Returns: boolean
.True
if there are active streamtraces in the current plot type.Example usage:
>>> streamtraces_are_active = plot.streamtraces.are_active
-
Streamtraces.
arrowhead_size
¶ Arrowhead size as a percentage of frame height.
Type: float
Recommend values are one of 1, 3, 5, 8, or 12.
Example usage:
>>> plot.streamtraces.show_arrows = True >>> plot.streamtraces.arrowhead_size = 1.0
-
Streamtraces.
arrowhead_spacing
¶ Distance between arrowheads in terms of Y-frame units.
Type: float
For example, a value of 10 will space arrowheads approximately ten percent of the frame height apart from each other along each streamline.
Example usage:
>>> plot.streamtraces.show_arrows = True >>> plot.streamtraces.arrowhead_spacing = 10
-
Streamtraces.
color
¶ Color of streamtraces line (not rods or ribbons).
Type: Color
orContourGroup
Streamtraces can be a solid color or be colored by a
ContourGroup
as obtained through theplot.contour
property.Example usage:
>>> plot.streamtraces.color = Color.Red
-
Streamtraces.
count
¶ Query the number of active streamtraces for the current plot type.
Returns: integer
Note
This property is read-only.
>>> num_active_streamtraces = plot.streamtraces.count
-
Streamtraces.
dash_skip
¶ Number of time deltas used for the “off” sections of the streamlines.
Note
The
dash_skip
value must be greater than 0.Type: integer
Example usage:
>>> plot.streamtraces.dash_skip = 2
-
Streamtraces.
delete_all
()[source]¶ Delete all streamtraces for the current plot type.
2D and 3D streamtraces are independent of each other.
If the plot type is
Cartesian2D
, all 2D streamtraces are deleted. If the plot type isCartesian3D
, all 3D streamtraces are deleted.Raises: TecplotSystemError
– The streamtraces could not be deleted.Example usage:
>>> plot.streamtraces.delete_all()
-
Streamtraces.
delete_range
(range_start, range_end)[source]¶ Delete a range of streamtraces.
Parameters: Raises: TecplotSystemError
– The streamtraces in the range could not be deleted.Example usage:
>>> # Delete the first 100 streamtraces >>> plot.streamtraces.delete_range(0, 99)
-
Streamtraces.
has_terminating_line
¶ Determine if the streamtraces have the terminating line.
Note
This property is read-only.
Returns: boolean
.True
if the streamtraces have the terminating line,False
otherwise.Example usage:
>>> has_terminating_line = plot.streamtraces.has_terminating_line
-
Streamtraces.
line_thickness
¶ Streamtrace line thickness.
Type: float
Line thickness as a percentage of the frame height for 2D lines, or a percentage of the median axis length for 3D surface lines and volume lines.
Suggested values are .02, .1, .4, .8, 1.5
Example usage:
>>> plot.streamtraces.line_thickness = 1.1
-
Streamtraces.
marker_color
¶ Color
of the streamline markers.Type: Color
orContourGroup
Streamtrace markers can be a solid color or be colored by a
ContourGroup
as obtained through theplot.contour
property.Example usage:
>>> plot.streamtraces.marker_color = Color.Blue
-
Streamtraces.
marker_size
¶ Size of streamline markers.
Type: float
Example usage:
>>> plot.streamtraces.marker_size = 1.1
-
Streamtraces.
marker_symbol
(symbol_type=None)[source]¶ Returns a streamline symbol style object.
Parameters: symbol_type ( SymbolType
, optional) – The type of symbol to return. By default, this will return the active marker symbol type which is obtained fromStreamtraces.marker_symbol_type
.Returns:
SymbolType
Example usage:
>>> from tecplot.constant import SymbolType >>> streamtrace = plot.streamtraces >>> streamtraces.marker_symbol_type = SymbolType.Text >>> symbol = streamtraces.marker_symbol(SymbolType.Text) >>> symbol.text = 'a'
-
Streamtraces.
marker_symbol_type
¶ The
SymbolType
to use for stream markers.Type: SymbolType
This sets the active symbol type for streamtrace markers. Use
Streamtraces.marker_symbol
to access the symbol:>>> from tecplot.constant import SymbolType >>> streamtrace = plot.streamtraces >>> streamtraces.marker_symbol_type = SymbolType.Text >>> symbol = streamtraces.marker_symbol(SymbolType.Text) >>> symbol.text = 'a'
-
Streamtraces.
max_steps
¶ Maximum number of steps before the streamtrace is terminated.
Type: integer
max_steps
prevents streamtraces from spinning forever in a vortex, or from wandering into a region where the vector components are very small, very random, or both.If a small
step_size
is selected, themax_steps
should be a large value.Example usage:
>>> plot.streamtraces.max_steps = 5000
-
Streamtraces.
min_step_size
¶ Smallest step size to use as a percentage of cell distance.
A typical minimum step size value is 0.00001, which is the default.
Type: float
Warning
Setting this too small results in integration problems. Setting this greater than or equal to the
step_size
results in a constant step size.Example usage:
>>> plot.streamtraces.min_step_size = .0002
-
Streamtraces.
obey_source_zone_blanking
¶ Obey source zone blanking.
Type: boolean
When
True
, streamtraces are generated for non-blanked regions only. WhenFalse
, streamtraces are generated for both blanked and unblanked regions.Example usage:
>>> plot.streamtraces.obey_source_zone_blanking = True
-
Streamtraces.
position
(stream_number)[source]¶ Query the starting position of a streamtrace.
Parameters: stream_number – ( integer
): 0-based stream number to query.Returns: tuple
offloats
Get the position of streamtrace number 3:
>>> position = plot.streamtraces.position(2) # Note: 0-based >>> position.x # == position[0] 0.1 >>> position.y # == position[1] 0.2 >>> position.z # == position[2] 0.3
-
Streamtraces.
rod_ribbon
¶ Streamtrace rod/ribbon attributes.
Type: StreamtraceRodRibbon
- Example usage::
>>> streamtraces.rod_ribbon.mesh.show = True
-
Streamtraces.
set_termination_line
(line_points)[source]¶ Set the position of the termination line for streamtraces.
Parameters: line_points – (array of float
tuple
) Points of the termination line.Raises: TecplotSystemError
– Termination line could not be set.Example usage:
>>> # Multi-segment line between points (0,0)-(5,8)-(3,6) >>> line_points = [(0, 0), (5, 8), (3,6)] >>> plot.streamtraces.set_termination_line(line_points)
-
Streamtraces.
show_arrows
¶ Display arrowheads along all streamlines.
Type: boolean
Example usage:
>>> plot.streamtraces.show_arrows = True
-
Streamtraces.
show_dashes
¶ Display streamtrace dashes.
The lengths of the dashes and the spaces between the dashes are controlled by the value of
StreamtraceTiming.delta
. Set theStreamtraces.dash_skip
attribute to control the number of time deltas used for the “off” sections of the streamtraces.Type: boolean
Example usage:
>>> plot.streamtraces.show_dashes = True
-
Streamtraces.
show_markers
¶ Display streamtrace markers.
Type: boolean
Stream markers are only available for surface and volume type streamlines.
You may also specify the
size
,color
, andshape
of the markers.Example usage:
>>> plot.streamtraces.show_markers = True
-
Streamtraces.
show_paths
¶ Draw streamtrace paths (lines, ribbons, or rods).
Type: boolean
A streamtrace path may be a line, ribbon or rod.
Example usage:
>>> plot.streamtraces.show_paths = True
See also
Streamtraces.show_markers
-
Streamtraces.
step_size
¶ Maximum fraction of the distance across a cell that a streamtrace moves in one step.
Type: float
The step size is the maximum fraction of the distance across a cell that a streamtrace moves in one step. A streamtrace adjusts its step size between
step_size
andmin_step_size
, depending on local curvature of the streamtrace.A typical value (and the default) is 0.25, which results in four integration steps through each cell or element. The value for Step Size affects the accuracy of the integration.
Warning
Setting step size too small can result in round-off errors, while setting it too large can result in truncation errors and missed cells.
Example usage:
>>> plot.streamtraces.step_size = .25
-
Streamtraces.
streamtrace_type
(stream_number)[source]¶ Query the type of a streamtrace by streamtrace number.
Parameters: stream_number – ( integer
): 0-based stream number to query.Returns: Streamtrace
Get the type of streamtrace 3. Note 0-based stream number:
>>> streamtrace_type = plot.streamtraces.streamtrace_type(2) # streamtrace 3 >>> streamtrace_type <Streamtrace.VolumeLine: 2>
-
Streamtraces.
termination_line
¶ Streamtraces termination line attributes.
A streamtrace termination line is a polyline that terminates any streamtraces that cross it. The termination line is useful for stopping streamtraces before they spiral or stall.
Type: StreamtraceTerminationLine
Example usage:
>>> term_line = plot.streamtraces.termination_line >>> term_line.show = True
-
Streamtraces.
timing
¶ Streamtraces timing attributes.
Type: StreamtraceTiming
Example usage:
>>> timing = plot.streamtraces.timing >>> timing.start = 0.01
StreamtraceRodRibbon¶
-
class
tecplot.plot.
StreamtraceRodRibbon
(streamtrace)[source]¶ Get/Set streamtrace rod/ribbon attributes.
The
StreamtraceRodRibbon
class allows you to query and set attributes of streamtrace rod/ribbon types:In addition to attributes common to all rod/ribbon streamtrace types such as
width
, some attributes are further divided into subcategories:Note
To change the color of streamtrace rods/ribbons, set
StreamtraceRodRibbonShade.color
.import os import tecplot from tecplot.constant import * from tecplot.plot import Cartesian3DFieldPlot examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() # type: Cartesian3DFieldPlot plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.contour(0).variable = dataset.variable(3) plot.contour(0).levels.reset_to_nice() plot.show_mesh = True plot.show_shade = False plot.vector.u_variable_index = 3 plot.vector.v_variable_index = 4 plot.vector.w_variable_index = 5 plot.show_streamtraces = True plot.streamtraces.rod_ribbon.width = .05 plot.streamtraces.rod_ribbon.contour.show = True plot.streamtraces.add_rake(start_position=(0, 0, 0), end_position=(.05, .05, .175), stream_type=Streamtrace.VolumeRibbon, num_seed_points=26) tecplot.export.save_png('streamtrace_ribbon.png', 600)
Attributes
contour
Streamtraces rod/ribbon contour attributes. effects
Streamtraces rod/ribbon effects. mesh
Streamtraces rod/ribbon mesh attributes. num_rod_points
Numer of rod points. shade
Streamtraces rod/ribbon color and lighting attributes. width
Rod/ribbon width in grid units.
-
StreamtraceRodRibbon.
contour
¶ Streamtraces rod/ribbon contour attributes.
Type: StreamtraceRodRibbonContour
Example usage:
>>> plot.streamtraces.rod_ribbon.contour.show = True
-
StreamtraceRodRibbon.
effects
¶ Streamtraces rod/ribbon effects.
Type: StreamtraceRodRibbonEffects
Example usage:
>>> plot.streamtraces.rod_ribbon.effects.use_translucency = True
-
StreamtraceRodRibbon.
mesh
¶ Streamtraces rod/ribbon mesh attributes.
Type: StreamtraceRodRibbonMesh
Example usage:
>>> plot.streamtraces.rod_ribbon.mesh.show = True
-
StreamtraceRodRibbon.
num_rod_points
¶ Numer of rod points.
Type: integer
, valid range 3-100Volume rods have a polygonal cross-section; this parameter tells Tecplot 360 EX what that cross-section should be. (Three is an equilateral triangle, four is a square, five is a regular pentagon, and so on.) If you want two sets of volume rods with different cross-sections, you must create one set and then extract the set as a zone, then configure a new set of streamtraces with the second cross-section.
Example usage:
>>> plot.streamtraces.rod_ribbon.num_rod_points = 10
-
StreamtraceRodRibbon.
shade
¶ Streamtraces rod/ribbon color and lighting attributes.
Type: StreamtraceRodRibbonShade
Example usage:
>>> plot.streamtraces.rod_ribbon.shade.color = Color.Magenta
StreamtraceTiming¶
-
class
tecplot.plot.
StreamtraceTiming
(streamtrace)[source]¶ Timed markers for streamlines.
Use
StreamtraceTiming
to control timed markers for streamlines, and timed dashes for all types of streamtraces. Stream markers are drawn at time locations along streamlines. The spacing between stream markers is proportional to the magnitude of the local vector field.import tecplot from tecplot.constant import * import os examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '2D', 'cylinder.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian2D plot = frame.plot() plot.vector.u_variable_index = 3 plot.vector.v_variable_index = 4 plot.show_streamtraces = True streamtraces = plot.streamtraces streamtraces.show_markers = True timing = streamtraces.timing timing.anchor = 0 timing.start = 0.01 timing.end = 0.2 timing.delta = 0.1 streamtraces.add(seed_point=[1, 1], stream_type=Streamtrace.TwoDLine) tecplot.export.save_png('streamtrace_timing.png', 600)
Attributes
anchor
Time that a dash is guaranteed to start. delta
Time between stream markers. end
Time after which no stream markers are drawn. start
Time at which the first marker should be drawn. Methods
reset_delta
()Reset the time delta for dashed streamtraces.
-
StreamtraceTiming.
anchor
¶ Time that a dash is guaranteed to start.
Type: float
A dash is guaranteed to start at
anchor
, provided the start and end time surround the dash.Example usage:
>>> plot.streamtraces.timing.anchor = 1.1
-
StreamtraceTiming.
delta
¶ Time between stream markers.
Type: float
delta
is the time interval that measures the time between stream markers. The actual distance between markers is the product of this number and the localVector
magnitude.Call
StreamtraceTiming.reset_delta()
to reset this to the default.Example usage:
>>> plot.streamtraces.timing.delta = 0.1
-
StreamtraceTiming.
end
¶ Time after which no stream markers are drawn.
Type: float
Example usage:
>>> plot.streamtraces.timing.end = 3.0
-
StreamtraceTiming.
reset_delta
()[source]¶ Reset the time delta for dashed streamtraces.
The delta time is reset such that a stream dash in the vicinity of the maximum vector magnitude will have a length approximately equal to 10 percent of the frame width.
Raises: TecplotSystemError
– Streamtraces time delta could not be reset.Example usage:
>>> plot.streamtraces.timing.reset_delta()
-
StreamtraceTiming.
start
¶ Time at which the first marker should be drawn.
Type: float
A start time of zero means that the first marker is drawn at the starting point. A start time of 2.5 means that the first stream marker is drawn 2.5 time units downstream of the starting point.
Example usage:
>>> plot.streamtraces.timing.start = 2.5
StreamtraceRodRibbonContour¶
-
class
tecplot.plot.
StreamtraceRodRibbonContour
(streamtrace)[source]¶ Contour flooding display for streamtrace rod/ribbons.
import os import tecplot from tecplot.constant import * from tecplot.plot import Cartesian3DFieldPlot examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() # type: Cartesian3DFieldPlot plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.contour(0).variable = dataset.variable(3) plot.contour(0).levels.reset_to_nice() plot.show_mesh = False plot.show_shade = False plot.vector.u_variable_index = 3 plot.vector.v_variable_index = 4 plot.vector.w_variable_index = 5 plot.show_streamtraces = True rod_ribbon = plot.streamtraces.rod_ribbon rod_ribbon.contour.show = True rod_ribbon.contour.use_lighting_effect = True plot.streamtraces.add(seed_point=[0, 0, 0], stream_type=Streamtrace.VolumeRibbon) plot.streamtraces.rod_ribbon.width = .5 tecplot.export.save_png('streamtrace_ribbon_contour.png', 600)
Attributes
flood_contour_group
Contour group to use for flooding. flood_contour_group_index
The Index
of theContourGroup
to use for flooding.show
Enable or disable contour flooding display. use_lighting_effect
Enable lighting effect for streamtrace rod/ribbons.
-
StreamtraceRodRibbonContour.
flood_contour_group
¶ Contour group to use for flooding.
Type: ContourGroup
This property sets and gets the ContourGroup used for flooding. Changing style on this
ContourGroup
will affect all fieldmaps on the sameFrame
that use it.Example usage:
>>> group = plot.contour(1) >>> contour = plot.streamtraces.rod_ribbon.contour >>> contour.flood_contour_group = group
-
StreamtraceRodRibbonContour.
flood_contour_group_index
¶ The
Index
of theContourGroup
to use for flooding.Type: Index
(zero-based index)This property sets and gets, by
Index
, theContourGroup
used for flooding. Changing style on thisContourGroup
will affect all fieldmaps on the sameFrame
that use it.Example usage:
>>> contour = plot.streamtraces.rod_ribbon.contour >>> contour.flood_contour_group_index = 0 # First contour group
-
StreamtraceRodRibbonContour.
show
¶ Enable or disable contour flooding display.
Type: boolean
Example usage:
>>> plot.streamtraces.rod_ribbon.contour.show = True
-
StreamtraceRodRibbonContour.
use_lighting_effect
¶ Enable lighting effect for streamtrace rod/ribbons.
Note
Setting
StreamtraceRodRibbonContour.use_lighting_effect
will also set the same value forStreamtraceRodRibbonShade.use_lighting_effect
, and vice-versa.The lighting effect is set with
StreamtraceRodRibbonEffects.lighting_effect
, and may be one ofLightingEffect.Gouraud
orLightingEffect.Paneled
.Type: boolean
Example usage:
>>> ribbon = plot.streamtraces.rod_ribbon >>> contour = ribbon.contour >>> contour.use_lighting_effect = True >>> ribbon.effects.lighting_effect = LightingEffect.Paneled
StreamtraceRodRibbonEffects¶
-
class
tecplot.plot.
StreamtraceRodRibbonEffects
(streamtrace)[source]¶ Controls how lighting and translucency interacts with streamtrace rods and ribbons.
import os import tecplot from tecplot.constant import * from tecplot.plot import Cartesian3DFieldPlot examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() # type: Cartesian3DFieldPlot plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.contour(0).variable = dataset.variable(3) plot.contour(0).levels.reset_to_nice() plot.show_mesh = False plot.show_shade = False plot.vector.u_variable_index = 3 plot.vector.v_variable_index = 4 plot.vector.w_variable_index = 5 plot.show_streamtraces = True plot.streamtraces.rod_ribbon.width = .03 plot.streamtraces.rod_ribbon.shade.color = Color.Green plot.streamtraces.rod_ribbon.effects.use_translucency = True plot.streamtraces.rod_ribbon.effects.surface_translucency = 80 plot.streamtraces.add_rake(start_position=(0, 0, 0), end_position=(.05, .05, .175), stream_type=Streamtrace.VolumeRibbon) tecplot.export.save_png('streamtrace_ribbon_effects.png', 600)
Attributes
lighting_effect
Get/set the lighting algorithm used when lighting streamtrace rods and ribbons. surface_translucency
Surface translucency of the streamtraces ribbon. use_translucency
Enable surface translucency.
-
StreamtraceRodRibbonEffects.
lighting_effect
¶ - Get/set the lighting algorithm used when lighting
- streamtrace rods and ribbons.
Type: LightingEffect
Ribbon lighting effects must be enabled by setting
StreamtraceRodRibbonShade.use_lighting_effect
toTrue
when setting this value.Note that setting
StreamtraceRodRibbonShade.use_lighting_effect
will also set this value forribbon contours
.There are two types of lighting effects: Paneled and Gouraud:
Paneled
: Within each cell, the color assigned to each area byshading or contour flooding is tinted by a shade constant across the cell. This shade is based on the orientation of the cell relative to your 3D light source.
Gouraud
: This offers smoother, more continuous shading thanPaneled shading, but it also results in slower plotting and larger print files.
Gouraud
shading is not continuous across zone boundaries unless face neighbors are specified in the data.Gouraud
shading is not available for finite element volume Zone when blanking is active. The zone’s lighting effect reverts toPaneled
shading in this case.
Example usage:
>>> plot.streamtraces.rod_ribbon.shade.use_lighting_effect = True >>> plot.streamtraces.rod_ribbon.effects.lighting_effect = LightingEffect.Paneled
-
StreamtraceRodRibbonEffects.
surface_translucency
¶ Surface translucency of the streamtraces ribbon.
Type: integer
Surface translucency must be enabled by setting
StreamtraceRodRibbonEffects.use_translucency
=True
when setting this value.Valid translucency values range from one (opaque) to 99 (translucent).
Example usage:
>>> plot.streamtraces.rod_ribbon.effects.use_translucency = True >>> plot.streamtraces.rod_ribbon.effects.surface_translucency = 20
-
StreamtraceRodRibbonEffects.
use_translucency
¶ Enable surface translucency.
Type: boolean
The surface translucency value can be changed by setting
StreamtraceRodRibbonEffects.surface_translucency
.Example usage:
>>> plot.streamtraces.rod_ribbon.effects.use_translucency = True >>> plot.streamtraces.rod_ribbon.effects.surface_translucency = 20
StreamtraceRodRibbonMesh¶
-
class
tecplot.plot.
StreamtraceRodRibbonMesh
(streamtrace)[source]¶ Streamtraces rod/ribbon mesh attributes.
Note
To set the mesh color or line thickness, see
Streamtraces.color
andStreamtraces.line_thickness
.import os import tecplot from tecplot.constant import * from tecplot.plot import Cartesian3DFieldPlot examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'jetflow.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() # type: Cartesian3DFieldPlot plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_mesh = False plot.show_shade = False plot.vector.u_variable_index = 4 plot.vector.v_variable_index = 5 plot.vector.w_variable_index = 6 plot.show_streamtraces = True ribbon = plot.streamtraces.rod_ribbon ribbon.width = .018 ribbon.mesh.show = True plot.streamtraces.add_rake( start_position=(0.323, 0.103, 0.491), end_position=(-0.367, 0.229, 0.116), stream_type=Streamtrace.VolumeRibbon) tecplot.export.save_png('streamtrace_ribbon_mesh.png', 600)
Attributes
line_thickness
Get/Set streamtrace rod/ribbon mesh line thickness as a percentage of frame height. show
Display mesh.
StreamtraceRodRibbonShade¶
-
class
tecplot.plot.
StreamtraceRodRibbonShade
(streamtrace)[source]¶ Color and lighting display for rod/ribbons.
import os import tecplot from tecplot.constant import * from tecplot.plot import Cartesian3DFieldPlot examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'ductflow.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() # type: Cartesian3DFieldPlot plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.contour(0).variable = dataset.variable(3) plot.contour(0).levels.reset_to_nice() plot.show_mesh = False plot.show_shade = False plot.vector.u_variable_index = 3 plot.vector.v_variable_index = 4 plot.vector.w_variable_index = 5 plot.show_streamtraces = True plot.streamtraces.show_paths = True plot.streamtraces.rod_ribbon.shade.show = True plot.streamtraces.rod_ribbon.shade.color = Color.Blue plot.streamtraces.rod_ribbon.shade.use_lighting_effect = False plot.streamtraces.add_rake(start_position=(0, 0, 0), end_position=(.05, .05, .175), stream_type=Streamtrace.VolumeRibbon) tecplot.export.save_png('streamtrace_ribbon_shade.png', 600)
Attributes
color
Shade color. show
Show shade attributes. use_lighting_effect
Use lighting effect.
-
StreamtraceRodRibbonShade.
color
¶ Shade color.
Type: Color
Color.MultiColor
andColor.RGBColor
coloring are not available. Use flooded contours for multi-color or RGB flooding.Example usage:
>>> plot.streamtraces.rod_ribbon.shade.show = True >>> plot.streamtraces.rod_ribbon.shade.color = Color.Blue
-
StreamtraceRodRibbonShade.
show
¶ Show shade attributes.
Type: boolean
Example usage:
>>> plot.streamtraces.rod_ribbon.shade.show = True
-
StreamtraceRodRibbonShade.
use_lighting_effect
¶ Use lighting effect.
When set to
True
, the lighting effect may be selected with theSliceEffects.lighting_effect
attribute.Note
Setting
SliceShade.use_lighting_effect
will also set the same value forSliceContour.use_lighting_effect
, and vice-versa.Type: Boolean
Example usage:
>>> plot.streamtraces.rod_ribbon.shade.use_lighting_effect = True >>> plot.streamtraces.rod_ribbon.effects.lighting_effect = LightingEffect.Paneled
StreamtraceTerminationLine¶
-
class
tecplot.plot.
StreamtraceTerminationLine
(streamtrace)[source]¶ Streamtraces termination line attributes.
A streamtrace termination line is a polyline that terminates any streamtraces that cross it. The termination line is useful for stopping streamtraces before they spiral or stall.
Note
Before setting any
StreamtraceTerminationLine
properties, you mustadd a termination line
.Streamtraces are terminated whenever any of the following occur:
- The maximum number of integration steps is reached.
- Any point where a streamtrace passes outside the available data.
- The streamtrace reaches a point where the velocity magnitude is zero.
import os import tecplot from tecplot.constant import * from tecplot.plot import Cartesian3DFieldPlot examples_dir = tecplot.session.tecplot_examples_directory() datafile = os.path.join(examples_dir, '3D_Volume', 'eddy.plt') dataset = tecplot.data.load_tecplot(datafile) frame = tecplot.active_frame() frame.plot_type = tecplot.constant.PlotType.Cartesian3D plot = frame.plot() # type: Cartesian3DFieldPlot plot.fieldmap(0).surfaces.surfaces_to_plot = SurfacesToPlot.BoundaryFaces plot.show_mesh = True plot.show_shade = False plot.vector.u_variable_index = 4 plot.vector.v_variable_index = 5 plot.vector.w_variable_index = 6 plot.show_streamtraces = True streamtraces = plot.streamtraces streamtraces.set_termination_line([(18.2293706294, 50.5561212121), (51.7714125874, -19.9307785548)]) term_line = streamtraces.termination_line term_line.is_active = True term_line.show = True term_line.color = Color.Red term_line.line_pattern = LinePattern.Dashed term_line.pattern_length = 3 term_line.line_thickness = .5 plot.streamtraces.add_rake( start_position=(45.49, 15.32, 59.1), end_position=(48.89, 53.2, 47.6), stream_type=Streamtrace.VolumeLine) tecplot.export.save_png('streamtrace_term_line.png', 600)
Attributes
color
Color of the termination line. is_active
Activate/disable the streamtrace termination line. line_pattern
Pattern of the terminating line. line_thickness
Thickness of the termination line as a percentage of frame height. pattern_length
Length of the pattern as a percentage of frame height. show
Display the termination line.
-
StreamtraceTerminationLine.
color
¶ Color of the termination line.
Type: Color
Example usage:
>>> plot.streamtraces.termination_line.color = Color.Red
-
StreamtraceTerminationLine.
is_active
¶ Activate/disable the streamtrace termination line.
Type: boolean
Set to
True
to activate the termination line and terminate any streamtraces that cross it. Set toFalse
and redraw the plot with unterminated streamtraces.Example usage:
>>> plot.streamtraces.termination_line.is_active = True
-
StreamtraceTerminationLine.
line_pattern
¶ Pattern of the terminating line.
Type: LinePattern
Example usage:
>>> plot.streamtraces.termination_line.line_pattern = LinePattern.Dotted
-
StreamtraceTerminationLine.
line_thickness
¶ Thickness of the termination line as a percentage of frame height.
Type: float
Example usage:
>>> plot.streamtraces.termination_line.line_thickness = 0.1
-
StreamtraceTerminationLine.
pattern_length
¶ Length of the pattern as a percentage of frame height.
Type: float
Example usage:
>>> plot.streamtraces.termination_line.pattern_length = 2
-
StreamtraceTerminationLine.
show
¶ Display the termination line.
Type: boolean
Set to
True
to display the termination line. Set toFalse
and redraw the plot to display terminated streamlines (ifis_active
is set toTrue
), but not the termination line itself.Example usage:
>>> plot.streamtraces.termination_line.show = True
Viewport¶
ReadOnlyViewport¶
-
class
tecplot.plot.
ReadOnlyViewport
(axes)[source]¶ Attributes
bottom
( float
) Bottom position of viewport relative to theFrame
.left
( float
) Left position of viewport relative to theFrame
.right
( float
) Right position of viewport relative to theFrame
.top
( float
) Top position of viewport relative to theFrame
.
-
ReadOnlyViewport.
bottom
¶ (
float
) Bottom position of viewport relative to theFrame
.Type: float
in percentage of frame height from the bottom of the frame.Example usage:
>>> print(plot.axes.viewport.bottom) 10.0
-
ReadOnlyViewport.
left
¶ (
float
) Left position of viewport relative to theFrame
.Type: float
in percentage of frame width from the left of the frame.Example usage:
>>> print(plot.axes.viewport.left) 10.0
Viewport¶
-
class
tecplot.plot.
Viewport
(axes)[source]¶ Attributes
bottom
( float
) Bottom position of viewport relative to theFrame
.left
( float
) Left position of viewport relative to theFrame
.right
( float
) Right position of viewport relative to theFrame
.top
( float
) Top position of viewport relative to theFrame
.
-
Viewport.
bottom
¶ (
float
) Bottom position of viewport relative to theFrame
.Type: float
in percentage of frame height from the bottom of the frame.Example usage:
>>> print(plot.axes.viewport.bottom) 10.0
-
Viewport.
left
¶ (
float
) Left position of viewport relative to theFrame
.Type: float
in percentage of frame width from the left of the frame.Example usage:
>>> print(plot.axes.viewport.left) 10.0
Cartesian2DViewport¶
-
class
tecplot.plot.
Cartesian2DViewport
(axes)[source]¶ Attributes
bottom
( float
) Bottom position of viewport relative to theFrame
.left
( float
) Left position of viewport relative to theFrame
.nice_fit_buffer
Tolerance for viewport/frame fit niceness. right
( float
) Right position of viewport relative to theFrame
.top
( float
) Top position of viewport relative to theFrame
.top_snap_target
Target value for top when being adjusted or dragged. top_snap_tolerance
Tolerance for snapping to target value for top.
-
Cartesian2DViewport.
bottom
¶ (
float
) Bottom position of viewport relative to theFrame
.Type: float
in percentage of frame height from the bottom of the frame.Example usage:
>>> print(plot.axes.viewport.bottom) 10.0
-
Cartesian2DViewport.
left
¶ (
float
) Left position of viewport relative to theFrame
.Type: float
in percentage of frame width from the left of the frame.Example usage:
>>> print(plot.axes.viewport.left) 10.0
-
Cartesian2DViewport.
nice_fit_buffer
¶ Tolerance for viewport/frame fit niceness.
Type: float
Example usage:
>>> plot.axes.viewport.nice_fit_buffer = 20
-
Cartesian2DViewport.
right
¶ (
float
) Right position of viewport relative to theFrame
.Type: float
in percentage of frame width from the left of the frame.Example usage:
>>> print(plot.axes.viewport.right) 90.0
-
Cartesian2DViewport.
top
¶ (
float
) Top position of viewport relative to theFrame
.Type: float
in percentage of frame height from the bottom of the frame.Example usage:
>>> print(plot.axes.viewport.top) 90.0
PolarViewport¶
-
class
tecplot.plot.
PolarViewport
(axes)[source]¶ Attributes
border_color
border_thickness
bottom
( float
) Bottom position of viewport relative to theFrame
.fill_color
left
( float
) Left position of viewport relative to theFrame
.right
( float
) Right position of viewport relative to theFrame
.show_border
top
( float
) Top position of viewport relative to theFrame
.
-
PolarViewport.
border_color
¶
-
PolarViewport.
border_thickness
¶
-
PolarViewport.
bottom
¶ (
float
) Bottom position of viewport relative to theFrame
.Type: float
in percentage of frame height from the bottom of the frame.Example usage:
>>> print(plot.axes.viewport.bottom) 10.0
-
PolarViewport.
fill_color
¶
-
PolarViewport.
left
¶ (
float
) Left position of viewport relative to theFrame
.Type: float
in percentage of frame width from the left of the frame.Example usage:
>>> print(plot.axes.viewport.left) 10.0
-
PolarViewport.
right
¶ (
float
) Right position of viewport relative to theFrame
.Type: float
in percentage of frame width from the left of the frame.Example usage:
>>> print(plot.axes.viewport.right) 90.0
-
PolarViewport.
show_border
¶
View¶
Cartesian2DView¶
-
Cartesian2DView.
fit
()¶