0

我正在尝试在 tetgen 的帮助下清理一些网格。使用python子进程启动 tetgen并将我的输出保存在这样的文件中

run(["tetgen", "-d", Model+"\\Cat\\Cat.ply"], stdout= log_output, encoding="utf-8")

我得到这个结果:“为方便起见,我将只输入感兴趣的各方”

Warning:  Point #53491 is coincident with #25597. Ignored!
Warning:  A segment and a facet intersect.
  segment: [669,668] tag(-1).
  facet triangle: [28562,28564,28563] tag(-1)
Warning:  A duplicated triangle (24976,52879,52863) tag(-1) is ignored.
...

然而这不是我想要的,因为要清理这个网格,我必须消除一些“重复”的三角形并推断它们我有这个正则表达式

\((\d+),\s(\d+),\s(\d+)\) and \((\d+),\s(\d+),\s(\d+)\)

在网上看,我注意到 tetgen 的“-d”表达式的输出如下:Detecting intersecting facets。

  Facet #5672 intersects facet #5730 at triangles:
    (2872, 2874, 2873) and (2834, 2873, 2833)
  Facet #5726 intersects facet #5750 at triangles:
    (2872, 2873, 2834) and (2868, 2874, 2872)
  Facet #5730 intersects facet #5750 at triangles:
    (2834, 2873, 2833) and (2868, 2874, 2872)

这将导致与我可用的正则表达式匹配,而我目前得到的输出不会发生这种情况。

问题: 最终我想知道是否有人知道表达式“-d”给出的输出信息差异的原因,是否最终他能告诉我我做错了什么!提前致谢。

4

1 回答 1

1

我通过将 tetGen 版本从 1.6.0 更改为 1.5.1 解决了这个问题。

于 2020-12-26T08:16:33.263 回答