繁体   English   中英

Python网格生成

[英]Python mesh generation

如何在 Python 中创建 2D 网格? 我尝试使用meshpy。 如果我尝试运行,python 告诉我错误:所有顶点都共面。

我目前正在研究一个有限元程序,第一步是为几何构建网格。 有人可以帮我吗?

这就是我经常使用的代码,你可以在下面看到它。

import meshpy as mp
from meshpy.tet import MeshInfo, build


mesh_info = MeshInfo()                      


mesh = build(mesh_info)

mesh_info.set_points([
    (0, 0, 0), (1.445, 0.19, 0), (3, 0.19, 0), (1.555, 0.19, 0),     
    (1.555, 2.81, 0), (3, 2.81, 0), (3, 3, 0), (0, 3, 0),            
    (0, 2.81, 0), (1.445, 2.81, 0), (1.445, 0.19, 0),                    
    (0, 0, 0), (1, 0, 0), (1, 1, 0), (0, 1, 0),     

mesh_info.set_facets([
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11],
    [0,1,2],[0,2,3],
    ])

print('Mesh Points')

for i,p in enumerate(mesh_info.points):
    print(i, p)

退房

获得一些灵感。

我认为您正在有效地生成 3D 网格(使用 tet 模块)。 因此,由于您正在尝试生成 2D 网格,因此您的所有点都位于同一平面上。 您需要在 lib 中找到 2D 的特定模块

您可以使用pymadcad模块,它适用于 3d,但只要 2d 是 3d 的一个子案例,就可以轻松地以这种方式完成工作。 该模块旨在使事情变得简单直观。

还有一个几何约束求解器,您可以查看该文档为了确保您的结果是完美的平面并且在约束求解期间没有被包裹,您可以使用OnPlane约束文档

但只是想知道:您在寻找什么样的几何形状?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM