Skip to content

STAIRlab/sees

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sees

SEES Logo

Highly efficient and portable finite element visualization framework


DOI Latest PyPI version

sees is a finite element rendering library that leverages modern web technologies to produce sharable, efficient, and detailed renderings.



sees is a finite element rendering library that leverages modern web technologies to produce sharable, efficient, and detailed renderings. Unlike most tools that only provide temporary visualization, sees generates persistent 3D models that can be stored in files, shared with colleagues, and viewed with any standard 3D model viewer. This means anyone can interact with the renderings without needing to install specialized software or even Python. Simply open the 3D object with your computer’s 3D viewer (e.g., 3D Viewer on Windows) or load it into a free online viewer in like gltf-viewer.

Documentation is currently under development.

Features

  • Detailed Render frames with extruded cross sections
  • Persistence: Save your finite element visualizations as persistent 3D models that can be revisited and analyzed at any time.
  • Portability: Share your models effortlessly with colleagues, enabling seamless collaboration and review.
  • Accessibility: View and interact with the models using any standard 3D model viewer, eliminating the need for specialized software or Python installation.
  • Versatility: A wide selection of rendering backends and output file types, including optimized 3D web formats like .glb. Generated 3D models can be loaded directly into programs like PowerPoint and animated.
  • Correctly render models that treat both y or z as the vertical coordinate.

Gallery

Getting Started

To install sees run:

pip install sees

Command Line Interface

To create a rendering, execute the following command from the anaconda prompt (after activating the appropriate environment):

python -m sees model.json -o model.html

where model.json is a JSON file generated from executing the following OpenSees command:

print -JSON model.json

If you omit the -o <file.html> portion, it will plot immediately in a new window. You can also use a .png extension to save a static image file, as opposed to the interactive html.

Note Printing depends on the JSON output of a model. Several materials and elements in the OpenSeesPy and upstream OpenSees implementations do not correctly print to JSON. For the most reliable results, use the opensees package.

By default, the rendering treats the $y$ coordinate as vertical. In order to manually control this behavior, pass the option --vert 3 to render model $z$ vertically, or --vert 2 to render model $y$ vertically.

If the opensees package is installed, you can directly render a Tcl script without first printing to JSON, by just passing a Tcl script instead of the JSON file:

python -m sees model.tcl -o model.html

To plot an elevation (elev) plan (plan) or section (sect) view, run:

python -m sees model.json --view elev

and add -o <file.extension> as appropriate.

To see the help page run

python -m sees --help

Related Links

See also

The sees packages was used to generate figures for the following publications:

Support

PEER Logo Caltrans Logo STAIRlab Logo