首页 > 解决方案 > PyVista TypeError:SetSpacing 参数

问题描述

我以前运行以下没有问题。

grid=pv.UniformGrid()
grid.points=np.array([x_surf,y_surf,z_surf]).transpose()

今天,我运行它并收到以下内容。我已经尝试重新安装软件包。

Traceback (most recent call last):

  File "C:\Users\camramez\Documents\Meshing\gen_terrain.py", line 28, in <module>
    grid.points=np.array([x_surf,y_surf,z_surf]).transpose()

  File "C:\ProgramData\Anaconda3\envs\mesh\lib\site-packages\pyvista\core\grid.py", line 470, in points
    self._from_specs((nx,ny,nz), (dx,dy,dz), (ox,oy,oz))

  File "C:\ProgramData\Anaconda3\envs\mesh\lib\site-packages\pyvista\core\grid.py", line 435, in _from_specs
    self.SetSpacing(xs, ys, zs)

TypeError: SetSpacing argument %Id: %V

SetSpacing 函数本身可以正常工作。我已经完成了以下快速修复,它有效,但在技术上并不能解决错误。

try:
    grid.points=np.array([x_surf,y_surf,z_surf]).transpose()
except:
    1

标签: pythontypesmeshpyvista

解决方案


看起来这个问题已经在 GitHub 上提出并回答了:https ://github.com/pyvista/pyvista/issues/713

我在此处发布链接以供参考,以防万一有人在 SO 上通过此链接,以及来自另一位维护者/作者 @banesullivan 的最有帮助的回复:

所以我对你的建议,@lifehappenstoyou(很棒的用户名!),是切换到使用 StructuredGrid 类,除非你有一个令人信服的理由来使用 UnifromGrid 类(我唯一能想到的是体渲染支持,在这种情况下我们有变通方法)


推荐阅读