如何将 .stl 导入 tetgen?

How to import .stl into tetgen?

我试图让 tetgen 提供我的 stl 模型的 Delaunay 四面体化,但总是遇到一些关于相交面的错误。

该模型是人类心脏的 ascii .stl 模型,从计算机断层扫描数据中获得(如果需要,可以给出 link)。首先,我使用具有 100 个位置和 1.00 容差值的自适应渲染在 CTAn 软件中构建它,然后使用 MeshFix 修复它。 MeshFix 输出 .off 或二进制 .stl 文件。

如果我尝试将 .off 模型导入 tetgen,我总是得到这个 error:

Syntax error reading header on line 2 in file off.off.

tetgen不支持二进制.stl,无法直接导入.stl文件,所以先用MeshLab转成acsii.stl,再导入tetgen

但在这种情况下我有 another error:

Found two nearly self-intersecting facets

它建议我降低二面角公差。我这样做只是为了获得下一条消息:

Found two exactly self-intersecting facets

它建议我使用 -d 前缀来检测所有这些方面。我这样做并收到下一条消息:

No faces are intersecting

现在我很困惑,因为它给出了例外的命题。

如果这里有人熟悉tetgen,请告诉我,如何将我的模型导入tetgen?我尝试了一些修复工具和不同的前缀,但到目前为止没有任何效果。

如果有人有 link 到 tetgen 社区,我也将非常感激,因为我没有找到,虽然尝试过。

我从未找到将 stl 文件导入 Tetgen 的方法。我能够将模型导入 TetGen 的唯一方法是将其转换为 *.ply 文件类型。当您 select 'Export Mesh as' 选项时,您也可以在 Meshlab 中执行此操作。在 Tetgen 中应用更改后,您可以在 Meshlab 中将其转换回 stl 文件。

如果您还没有使用过 Meshlab 中的清洁和修复过滤器,您可能还会发现它很有用。我发现 'Removing Duplicate faces' 过滤器有助于克服相交面错误。

提示:打开 Meshlab 中的 Layers Dialogue 选项,并在进行更改之前复制您的网格层。 Meshlab 没有撤消按钮,因此如果您对它进行了更改而后悔,您至少可以快速重新开始。