A python interface to Tecplot 360
The pytecplot library is a high level API that connects your Python script to the power of the Tecplot 360 visualization engine. It offers line plotting, 2D and 3D surface plots in a variety of formats, and 3D volumetric visualization. Familiarity with Tecplot 360 and the Tecplot 360 macro language is helpful, but not required.
The full documentation is here: http://www.tecplot.com/docs/pytecplot
Please refer to the documentation for detailed installation instructions and environment setup. The short of it is something like this:
pip install pytecplot
Linux and OSX users may have to set LD_LIBRARY_PATH or DYLD_LIBRARY_PATH to the directories containing the Tecplot 360 dynamic libraries. Please refer to the documentation at http://www.tecplot.com/docs/pytecplot for detailed information regarding setup and use. In addition, the web page http://www.tecplot.com/support/faqs/pytecplot contains a list of answered questions you may have about PyTecplot in general.
- Preliminary support for Python 3.7
- Tested with Python version 3.7.0b5
- Python 3.7 PyZMQ pre-compiled wheels were not avaiable at the time of publishing 0.10.0 to install PyTecplot you must either:
- Run pip with --no-deps for batch mode only.
- Install Windows Visual Studio 2015 build tools for installing pyzmq until a wheel is avaiable.
- New: tecplot.session.suspend() context manager
- PyTecplot now uses Numpy (when installed) for increased performance during data transfers between Python and the Tecplot 360 Engine
- Many internal performance enhancements
Released with Tecplot 360 2018 R1 March Maintenance Release
- Edge case fixes for tp.data.query.probe_on_surface()
Released with Tecplot 360 2018 R1
- New feature: tp.data.query.probe_on_surface()
- Dataset.add_poly_zone() now requires the num_faces parameter (was optional).
- More efficient and reliable array handling when connected to running 360
- Minor documentation updates
- Added IsosurfaceVector style access
- probe_at_position() now returns None when the point is outside the data volume
- Added tp.layout.num_pages() to get the number pages in a layout
- Bug fix: DataSet.add_zone() family of functions now obeys the strand argument
- Several documentation corrections
Released with Tecplot 360 2017 R3 December Maintenance Release
- Recording of save layout, data and stylesheet commands
Released with Tecplot 360 2017 R3
- TecUtil Server (PyTecplot Connections) stability and performance enhancements
- PyTecplot script recording via 360
- Added vector image export methods: save_ps(), save_wmf()
- pyzmq and flatbuffers are now installed by default when installing PyTecplot with pip
- Macro execute extended command
- Several documentation enhancements and internal bug fixes
- Dataset solution time access now requires Tecplot 2017.3 or later due to bug in engine
- Plot.fieldmaps() became function requiring parentheses
- New methods: Variable min(), max() and minmax()
- Zone min(), max() and minmax() became functions requiring parentheses
- When exporting images: width now defaults to 800, super sample defaults to 3
- Streamtrace.add_on_zone_surface() now uses the active zones by default
- CGNS loader will load boundary conditions by default
- Localization fix for roaming using non-en_US license servers
- Rename: axes.edge_auto_reset to axes.auto_edge_assignment
- Fixed exporting mpeg4 animations via macro language
- Several bug fixes for 3rd party data loaders
- Connect to TecUtilServer (RPC) substantially more capable
- Aux data can now be cleared with AuxData.clear()
- Lots of documentation updates
- Can now control frame position and dimensions
- Sharing and branching variables and connectivity across zones has been added
- Passiveness for Arrays was added.
- Added support for RAWDATA when executing macro commands from python
- Array.__len__() now returning the length of the flattened array
- Data loaders now use ReadDataOption instead of the boolean append parameter
- Saving layout with ‘.lpk’ extension implicitly includes data now
- Setting contour variable now implicitly resets the contour levels to nice
- More information is given on start-up errors
Released with Tecplot 360 2017 R2
- Defaults change: allowing interpolation using all source zones by default
- Documentation fixes
- Unittests now handle out-of-date SDK with Python optimization
- Documentation text replacement tags now available
- Interpolation methods: linear, inverse distance and krigging
- “Additional Quantities” loadable from Fluent data
- Legend style control
- Vector in 2D and 3D plot styles
- Reference vector
- Subzone load-on-demand (SZL) file loader
- rename: save_tecplot_binary() -> save_tecplot_plt()
- Aux data now accessible
- View and zooming control for 3D plots
- rename: tecinterprocess -> tecutil_connector
- Slice zone extraction from arbitrary point and normal
- Solution time and strand accessors for plots and datasets
- Orientation reference axis style and placement control
- More examples
- Lots of documentation added
- Many bug fixes
- FaceNeighbors, Facemap and Nodemap.
- Many doc updates and fixes.
- Streamtrace examples updates.
- “Working with datasets” examples.
- Streamtrace add functions.
- Continuous colormap min/max properties.
- Can now delete text annotations with Frame.delete_text()
- New script for 360 distribution: tec3560-env for easy setup of pytecplot.
Released with Tecplot 360 2017 R1
- Better roaming, licensing and exception handling.
- Many documentation updates.
- Many minor bug fixes.
- Fluent loader.
- Reworked installation instructions.
- Better CGNS support.
- Zone.rank/dimensions rework.
- Zone class split into OrderedZone, ClassicFEZone and PolyFEZone.
- rename: font_family –> typeface.
- Isosurface style control.
- Slice style control.
- Actions for Axes and Axis.
- Dataset, Zone, Variable and Array fully documented and unittested.
- Many internal bug fixes.
- rename in API: Zone.variable() –> Zone.values()
- rename in API: Variable.zone() –> variable.values()
- Minor bug fixes for Mac
- Lots of bug fixes, both internal and external.
- Mostly internal testing and packaging updates.
- First public release of PyTecplot
- Tecplot exceptions have been reworked and extended.
- tecplot.data.load_tecplot() fully implemented and now supports multiple input files in both binary and ASCII.
- Axis classes have been reworked and cleaned up along with examples and unittests.
- User’s get “tecplot 360 out-of-date” error if tecinterprocess.so can’t be loaded.
- Lot’s of internal consistency testing.
- Text annotations.
- Fieldmap accessed by zone.
- Plot-level style control.