Agent skill
pyvista-3d
AI interface skill for PyVista 3D visualization --- VTK wrapper for mesh rendering, STL/OBJ/VTK I/O, scalar coloring, offscreen rendering, and engineering analysis post-processing.
Install this agent skill to your Project
npx add-skill https://github.com/vamseeachanta/workspace-hub/tree/main/.claude/skills/engineering/cad/pyvista-3d
SKILL.md
PyVista 3D Visualization
Overview
PyVista (MIT, 3.6k stars) is a Pythonic wrapper around VTK for 3D spatial data visualization. It provides a streamlined API for rendering meshes, point clouds, STL/OBJ geometry, and scalar fields without low-level VTK boilerplate.
Key Capabilities
| Feature | Details |
|---|---|
| Mesh rendering | Surface, wireframe, point cloud, volume rendering |
| Scalar coloring | Map data arrays to colormaps (coolwarm, viridis, plasma, etc.) |
| File I/O | STL, OBJ, PLY, VTK, VTP --- plus all meshio-supported formats |
| Offscreen rendering | off_screen=True for headless/CI environments |
| GPU acceleration | Uses OpenGL via VTK; works with NVIDIA GPUs |
| Jupyter integration | Interactive 3D in notebooks via trame |
| Mesh quality | Built-in quality metrics (scaled Jacobian, aspect ratio, etc.) |
| Engineering use | Pipe geometry, FEA results, terrain, bathymetry, point clouds |
Quick Start
import pyvista as pv
# Load and render a mesh
mesh = pv.read("geometry.stl")
mesh.plot(scalars="pressure", cmap="coolwarm")
# Offscreen rendering
plotter = pv.Plotter(off_screen=True, window_size=(1280, 720))
plotter.add_mesh(mesh, scalars="depth", cmap="viridis")
plotter.screenshot("output.png")
plotter.close()
# Pipe geometry from spline
import numpy as np
t = np.linspace(0, 10, 50)
points = np.column_stack((t, np.zeros_like(t), np.cosh((t-5)/5)))
spline = pv.Spline(points, n_points=200)
pipe = spline.tube(radius=0.15, n_sides=20)
pipe.plot()
Environment
- Python: >= 3.10
- Tested: PyVista 0.47.1, VTK 9.6.0, NVIDIA GTX 750 Ti
- Headless: Set
PYVISTA_OFF_SCREEN=trueor useoff_screen=Truein Plotter
Known Issues
cell_quality()segfaults on tube meshes with VTK 9.6; use deprecatedcompute_cell_quality()until PyVista 0.48+- First render in a session takes 500-700ms (OpenGL context init); subsequent renders are 35ms
Related Skills
- blender-interface --- Full 3D scene composition and rendering
- gmsh-meshing --- Mesh generation for analysis
- freecad-automation --- Parametric CAD geometry
References
- PyVista docs: https://docs.pyvista.org/
- PyVista GitHub: https://github.com/pyvista/pyvista
- Evaluation script:
scripts/examples/pyvista_3d_evaluation.py
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
gsd-complete-milestone
Archive completed milestone and prepare for next version
gsd-reapply-patches
Reapply local modifications after a GSD update
gsd-verify-work
Validate built features through conversational UAT
gsd-thread
Manage persistent context threads for cross-session work
clinical-trial-protocol
Generate clinical trial protocols for medical devices or drugs through a modular, waypoint-based architecture with research-only and full protocol modes.
single-cell-rna-qc
Performs quality control on single-cell RNA-seq data (.h5ad or .h5 files) using scverse best practices with MAD-based filtering and comprehensive visualizations.
Didn't find tool you were looking for?