cape.filecntl.tecfile
: Tecplot macro and layout interface¶
This is a module built off of the cape.filecntl
module customized for
manipulating Tecplot layout files and macros.
It allows users to edit quantities of any layout command in addition to
declaring and adding layout variables. In addition, the ExportLayout()
function provides a utility to open a layout using Tecplot in batch mode to
export an image.
The class provides two classes, the first of which is the generic version typically used for layout files. The second class has a few extra methods for handling Tecplot macros specifically.
cape.filecntl.tecfile.Tecsript
- See also:
- cape.filecntl.tecfile.ExportLayout(lay: str = 'layout.lay', fname: str | None = None, ext: str = 'PNG', **kw)¶
Stand-alone function to open a layout and export an image
- Call:
>>> ExportLayout(lay="layout.lay", fname=None, ext="PNG", **kw)
- Inputs:
- lay: {
"layout.lay"
} |str
Name of Tecplot layout file
- fname: {
None
} |str
Image file to export; default is lay with new extension
- ext: {
"PNG"
} |"JPEG"
|str
Valid image format for Tecplot export
- w: {
None
} |float
Image width in pixels
- clean: {
True
} |False
Clean up extra files
- v, verbose: {
True
} |False
Option to display information about shell command
- lay: {
- Versions:
2015-03-10
@ddalle
: v1.02022-09-01
@ddalle
: v1.1; add clean2024-11-15
@ddalle
: v1.2; change default fname
- class cape.filecntl.tecfile.TecMacro(fname='export.mcr')¶
File control class for Tecplot macr files
- Call:
>>> tec = pyCart.tecfile.TecMacro() >>> tec = pyCart.tecfile.TecMacro(fname="export.mcr")
- Inputs:
- fname:
str
Name of Tecplot script to read
- fname:
- Outputs:
- tec:
cape.filecntl.tecfile.TecMacro
Instance of Tecplot macro interface
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- SetExportFileName(fname='export.png')¶
Set the name of the exported image file
- Call:
>>> tec.SetExportFileName(fname="export.png")
- Inputs:
- tec:
cape.filecntl.tecfile.TecMacro
Instance of Tecplot macro interface
- fname:
str
Export image file name
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- SetExportFormat(fmt='PNG')¶
Set Tecplot macro export format
- Call:
>>> tec.SetExportFormat(fmt="PNG")
- Inputs:
- tec:
cape.filecntl.tecfile.TecMacro
Instance of Tecplot macro interface
- fmt:
str
Export format
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- SetImageWidth(w=1024)¶
Set the export image width
- Call:
>>> tec.SetImageWidth(w=1024)
- Inputs:
- tec:
cape.filecntl.tecfile.TecMacro
Instance of Tecplot macro interface
- w:
int
Image width in pixels
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- SetLayout(lay='layout.lay')¶
Set the Tecplot layout file name
- Call:
>>> tec.SetLayout(lay="layout.lay")
- Inputs:
- tec:
cape.filecntl.tecfile.TecMacro
Instance of Tecplot macro interface
- lay:
str
Tecplot layout file name
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- class cape.filecntl.tecfile.Tecscript(fname='layout.lay')¶
File control class for Tecplot script files
- Call:
>>> tec = cape.filecntl.tecfile.Tecscript() >>> tec = cape.filecntl.tecfile.Tecscript(fname="layout.lay")
- Inputs:
- fname:
str
Name of Tecplot script to read
- fname:
- Outputs:
- tec:
pyCart.tecfile.Tecscript
Instance of Tecplot script base class
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- ConvertToVal(val)¶
Convert a text string to a scalar Python value
- Call:
>>> v = tec.ConvertToval(val)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script interface
- val:
str
|unicode
Text of the value from file
- tec:
- Outputs:
- Versions:
2017-01-05
@ddalle
: v1.0
- DeleteCommand(cmd, txt=None, lines=None)¶
Delete text for a specific command or commands and update text
- Call:
>>> kcmd = tec.DeleteCommand(cmd, txt=None, lines=None)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to delete
- txt:
str
Regular expression for text after the command
- lines:
list
[str
] Additional lines to filter for (regular expressions)
- tec:
- Outputs:
- kcmd:
int
Index of earliest deleted command or
None
if no deletions
- kcmd:
- Versions:
2015-03-10
@ddalle
: v1.0
- DeleteCommandN(cmd, n=0)¶
Delete the nth instance of a command
- Call:
>>> kcmd = tec.DeleteCommandN(cmd, n=0)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to delete
- n: {
0
} |int
>= 0 Instance of command to delete
- tec:
- Outputs:
- kcmd:
int
Index of deleted command or
None
if no deletions
- kcmd:
- Versions:
2016-10-05
@ddalle
: v1.0
- EditColorMap(name, cmap, vmin=None, vmax=None, **kw)¶
Replace the contents of a color map
- Call:
>>> tec.EditColorMap(name, cmap, vmin=None, vmax=None, **kw) >>> tec.EditColorMap(name, {f0:c0, f1:c1, f2:c2, ...}, ... )
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script
- cmap:
dict
(list
) Dictionary of color map fractions and colors
- f0:
float
Level for the first color, either 0 to 1 or vmin to vmax
- c0:
str
|list
Either color name, hex code, or RGB list
- vmin: {
None
} |float
Minimum value to use for determining COLORMAPFRACTION values
- vmax: {
None
} |float
Maximum value to use for determining COLORMAPFRACTION values
- nContour: {
None
} |int
Global contour number to edit
- nColorMap: {
None
} |int
Number of color map to edit
- tec:
- Versions:
2017-01-05
@ddalle
: v1.0
- GetCommand(cmd, n=0)¶
Get the start/end line nos in the nth instance of cmd
This allows the user to get the lines of text in the command to be
tec.lines[ibeg:iend]
.- Call:
>>> ibeg, iend = tec.GetCommand(cmd, n=0)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to find
- n: {
0
} |None
|int
>= 0 Instance of command to find; if
None
return all
- tec:
- Outputs:
- Versions:
2017-10-05
@ddalle
: v1.0
- GetCommandByKey(cmd, key, val)¶
Search for a command based on a key and value
- Call:
>>> ibeg, iend = tec.GetCommandByKey(cmd, key, val)
- Inputs:
- Outputs:
- Versions:
2017-10-05
@ddalle
: v1.0
- GetCommandByPar(cmd, val)¶
Search for a command based on name and parameter
A ‘parameter’ is a value printed on the same line as the command name
- Call:
>>> ibeg, iend = tec.GetCommandByPar(cmd, val)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to find
- val:
None
|str
|int
|float
Target value for the parameter, often an index number
- tec:
- Outputs:
- Versions:
2017-10-05
@ddalle
: v1.0
- GetCommandIndex(cmd, nmax=1)¶
Find indices of command by name
- Call:
>>> Kcmd = tec.GetCommandIndex(cmd, nmax=1)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to find
- nmax: {
1
} |int
> 0 Maximum finds to locate
- tec:
- Outputs:
- Versions:
2020-01-28
@ddalle
: v1.0
- GetKey(cmd, key, n=0, par=None, k=None, v=None)¶
Get the value of a key from the nth instance of a command
- Call:
>>> val = tec.GetKey(cmd, key, n=0, par=None, k=None, v=None)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to find
- key:
str
Name of the key to find within the command
- n: {
0
} |int
>= 0 Instance of command to find
- par: {
None
} |int
|str
Optional parameter value for which to search
- k: {
None
} |str
Optional key to use as search value
- v: {
None
} |str
|int
If k is used, value to test for search key
- tec:
- Outputs:
- val:
any
|None
Value of the key if present
- val:
- Versions:
2017-10-05
@ddalle
: v1.0
- GetPar(cmd, n=0)¶
Read a parameter value on the header line of a command
- InsertCommand(k, cmd, txt='', lines=[])¶
Insert a command
- Call:
>>> tec.InsertCommand(k, cmd, txt="", lines=[])
- Inputs:
- Versions:
2015-03-10
@ddalle
: v1.0
- InsertKey(i, key, val)¶
Insert a new key
- Call:
>>> tec.InsertKey(i, key, val)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- i:
int
Line number on which to start
- key:
str
Name of the key
- val:
any
Value for that line
- tec:
- Versions:
2018-03-29
@ddalle
: v1.0
- InsertLines(i, lines)¶
Insert a list of lines starting at a certain location
- Call:
>>> tec.InsertLines(i, lines)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- i:
int
Index at which to insert the first line
- lines:
list
[str
] Lines to insert, lines[0] is inserted at line i
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- KeyToText(key, val, m=0)¶
Create text for a key and value pair
- Call:
>>> lines = tec.KeyToText(key, val, m=0)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script/layout interface
- key:
str
Name of the key
- val:
any
Value to write
- m: {
2
} | nonnegativeint
Number of leading spaces
- tec:
- Versions:
2016-01-05
@ddalle
: v1.0
- ReadKey(i)¶
Read a key by converting text to a value
- Call:
>>> key, val, m = tec.ReadKey(i)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- i:
int
Line number on which to start
- tec:
- Outputs:
- Versions:
2016-01-05
@ddalle
: v1.0
- ReplaceCommand(cmd, txt='', lines=[], k=1, reg=None, regs=None)¶
Replace a command
- Call:
>>> tec.ReplaceCommand(cmd,txt="",lines=[],k=1,reg=None,regs=None)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to replace
- txt:
str
Text to add after the command on the same line
- lines:
list
[str
] Additional lines to add to the command
- k:
int
Default command index at which to insert command
- reg:
str
Regular expression for text after the command
- regs:
list
[str
] Additional lines to filter for (regular expressions)
- tec:
- Versions:
2015-03-10
@ddalle
: v1.0
- SetContourLevels(n: int, V: ndarray)¶
Set contour levels for global contour map n
- Call:
>>> tec.SetContourLevels(n, V)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- n:
int
Contour map number (as labeled in layout file)
- V:
np.ndarray
[float
] List of contour levels
- tec:
- Versions:
2017-10-05
@ddalle
: v1.0
- SetFieldMap(grps)¶
Set active zones for a Tecplot layout, mostly for Overflow
- Call:
>>> tec.SetFieldMap(grps)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script interface
- grps:
list
[int
] List of last zone number in each
FIELDMAP
section
- tec:
- Versions:
2016-10-04
@ddalle
: v1.0
- SetKey(cmd, key, val, n=0, par=None, k=None, v=None)¶
Find a key in a specified command and rewrite it
- Call:
>>> tec.SetKey(cmd, key, val, n=0, par=None, k=None, v=None)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- cmd:
str
Title of the command to find
- key:
str
Name of the key to edit
- val:
any
New value of the key to write
- n: {
0
} |int
>= 0 Instance of command to find
- par: {
None
} |int
|str
Optional parameter value for which to search
- k: {
None
} |str
Optional key to use as search value
- v: {
None
} |str
|int
If k is used, value to test for search key
- tec:
- Versions:
2017-10-05
@ddalle
: v1.0
- SetMach(mach)¶
Set the freestream Mach number
- Call:
>>> tec.SetMach(mach)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- mach:
float
Freestream Mach number
- tec:
- Versions:
2015-10-15
@ddalle
: v1.0
- SetPar(cmd, val, n)¶
Set a parameter value on the header line of a command
- Call:
>>> tec.SetPar(cmd, val, n)
- Inputs:
- Versions:
2016-10-04
@ddalle
: v1.02017-01-05
@ddalle
: v1.1; i -> n2022-02-06
@ddalle
: v2.0; case insensitive
- SetSliceLocation(n=1, **kw)¶
Set slice location
- Call:
>>> tec.SetSlice(n=1, **kw)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script interface
- n: {
1
} | positiveint
Slice number to edit
- x: {
None
} |float
x-coordinate of slice
- y: {
None
} |float
y-coordinate of slice
- z: {
None
} |float
z-coordinate of slice
- i: {
None
} |int
Index of I slice to plot
- j: {
None
} |int
Index of J slice to plot
- k: {
None
} |int
Index of K slice to plot
- tec:
- Versions:
2017-02-03
@ddalle
: v1.0
- SetVar(key, val)¶
Set a variable to a particular value
- Call:
>>> tec.SetVar(key, val)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- key:
str
Name of variable
- val: any
Value to set the variable, converted via
str()
- tec:
- Versions:
2015-10-15
@ddalle
: v1.0
- UpdateCommands()¶
Find lines that start with ‘$!’ and report their indices
- Call:
>>> tec.UpdateCommands()
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- tec:
- Effects:
- Versions:
2015-02-28
@ddalle
: v1.0
- WriteKey(i, key, val)¶
Replace a key with a new value
- Call:
>>> tec.WriteKey(i, key, val)
- Inputs:
- tec:
cape.filecntl.tecfile.Tecscript
Instance of Tecplot script base class
- i:
int
Line number on which to start
- key:
str
Name of the key
- val:
any
Value for that line
- tec:
- Versions:
2016-01-05
@ddalle
: v1.0