【问题标题】:python pygalmesh can't make working exemplepython pygalmesh 无法使工作示例
【发布时间】:2020-11-23 19:00:20
【问题描述】:

我正在尝试将 pygalmesh 用于我的一个项目。基本上,我需要创建一个立方体,然后以管状形式减去它的一部分。我有几件事不能上班。首先,我需要创建一个立方体,pygalmesh 中使用的函数是 Cuboid,如下所示:

pygalmesh.Cuboid([0, 0, 0], [1, 1, 1])

我尝试了这行代码,因为我在 pygalmesh 的创建者在这篇文章中的回答中找到了它:Volume of 3d shape using numerical integration with scipy

但即使使用那条线,我也会收到错误消息: RuntimeError:CGAL 错误:断言违规! 解释:错误:尺寸字段在角处为空(0 0 0)

我进入 github repo 试图找出这些函数是如何工作的,但我只能找到这样的文件:

from _pygalmesh import Cuboid

仅此而已。那么我如何使用 pygalmesh 创建一个立方体?如果可能的话,我想知道如何使用所有类型的 pygalmesh,目前我只能在 github 上复制示例中的那些。

此外,在上面的同一篇文章 (Volume of 3d shape using numerical integration with scipy) 中,在使用 pygalmesh 的答案中,代码在第 10 行附近使用了关于单元大小的行 (cell_size=3.0e-2)。但每次我尝试添加这个参数到我的功能网格,我得到错误: TypeError: generate_mesh() got an unexpected keyword argument 'cell_size'

但我用的是和他一样的功能?

是否有更新删除了我缺少的一些功能,我目前使用的是最新版本的 pygalmesh。这是一个显示单元大小错误的简单代码。如果我将 Ball 更改为 Cuboid,则会收到 Cuboid 错误。

import numpy
import pygalmesh

mesh = pygalmesh.generate_mesh(
    pygalmesh.Ball([0.0, 0.0, 0.0], 25.0), cell_size=3.0e-2
)
print(mesh)
mesh.write("out2.vtk")

【问题讨论】:

    标签: python mesh


    【解决方案1】:

    看起来您使用的是过时版本的 pygalmesh。 cell_size 不久前已被删除。尝试使用max_cell_circumradiusmax_edge_size_at_feature_edges

    import numpy
    import pygalmesh
    
    mesh = pygalmesh.generate_mesh(
        pygalmesh.Ball([0.0, 0.0, 0.0], 25.0), max_cell_circumradius=1.0e-2
        )
    print(mesh)
    mesh.write("out.vtk")
    

    【讨论】:

    • 您好!谢谢您的回答。但是长方体部分呢?您还说我使用的是过时的版本,但是自从不久前删除了 cell_size 后的最新版本?所以我使用的版本太新了?至于你提到的网格参数,我正在尝试构建一个非常大的立方体(500x500x500,并且希望 cell_size 更大,但是当我使用这些参数时,它们似乎会限制并迫使我用一个非常高的密度,需要很长时间才能建立。
    • 长方体部分关于是什么?你试过这个建议了吗?
    • 是的,我尝试了这个建议,但就像我说的,我创建一个球或使用那些网格参数没有问题,我需要的是制作一个长方体,我不能使用函数 pygalmesh.Cuboid ([0.0, 0.0, 0.0], [1.0,1.0,1.0])。我得到错误: RuntimeError: CGAL ERROR: assertion violation!文件:/Users/jeremie/anaconda3/envs/pygalmesh/include/CGAL/Mesh_3/Protect_edges_sizing_field.h 行:453 说明:错误:尺寸字段在角落为空(0 0 0)您的建议没有回答我的任何 2问题。
    • max_edge_size_at_feature_edges
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-28
    • 2020-09-26
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    相关资源
    最近更新 更多