news 2026/4/15 21:13:02

ClosedSurface 检测模型是否水密

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ClosedSurface 检测模型是否水密

一:主要的知识点

1、说明

本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客

2、知识点纪要

本段代码主要涉及的有①如何判定模型是否为封闭模型


二:代码及注释

import vtkmodules.vtkRenderingOpenGL2 import vtkmodules.vtkInteractionStyle from vtkmodules.vtkIOGeometry import vtkSTLReader, vtkOBJReader, vtkBYUReader from vtkmodules.vtkFiltersCore import vtkFeatureEdges from vtkmodules.vtkIOLegacy import vtkPolyDataReader from vtkmodules.vtkIOPLY import vtkPLYReader from vtkmodules.vtkIOXML import vtkXMLPolyDataReader import os def ReadPolyData(file_name): path, extension = os.path.splitext(file_name) extension = extension.lower() if extension == '.ply': reader = vtkPLYReader() reader.SetFileName(file_name) reader.Update() poly_data = reader.GetOutput() elif extension == '.vtp': reader = vtkXMLPolyDataReader() reader.SetFileName(file_name) reader.Update() poly_data = reader.GetOutput() elif extension == '.obj': reader = vtkOBJReader() reader.SetFileName(file_name) reader.Update() poly_data = reader.GetOutput() elif extension == '.stl': reader = vtkSTLReader() reader.SetFileName(file_name) reader.Update() poly_data = reader.GetOutput() elif extension == '.vtk': reader = vtkPolyDataReader() reader.SetFileName(file_name) reader.Update() poly_data = reader.GetOutput() elif extension == '.g': reader = vtkBYUReader() reader.SetGeometryFileName(file_name) reader.Update() poly_data = reader.GetOutput() else: # Return a None if the extension is unknown. poly_data = None return poly_data def main(): fn = "xx.stl" polyData = ReadPolyData(fn) featureEdges = vtkFeatureEdges() featureEdges.SetInputData(polyData) featureEdges.BoundaryEdgesOn() featureEdges.NonManifoldEdgesOn() featureEdges.Update() numberOfEdeges = featureEdges.GetOutput().GetNumberOfCells() if numberOfEdeges > 0: print("Surface is not closed") else: print("Surface is closed") if __name__ == '__main__': main()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/13 12:07:18

Decimation 模型的下采样

一:主要的知识点 1、说明 本文只是教程内容的一小段,因博客字数限制,故进行拆分。主教程链接:vtk教程——逐行解析官网所有Python示例-CSDN博客 2、知识点纪要 本段代码主要涉及的有①模型下采样 二:代码及注释 i…

作者头像 李华
网站建设 2026/4/12 2:17:11

为什么你的Open-AutoGLM服务突然中断?可能是证书过期未设提醒!

第一章:Open-AutoGLM服务中断的根源解析Open-AutoGLM作为一款基于大语言模型的自动化推理服务平台,在高并发场景下偶发的服务中断问题逐渐暴露其架构层面的潜在缺陷。通过对近期多次故障日志的聚合分析,核心问题可归结为资源调度失衡、依赖服…

作者头像 李华
网站建设 2026/4/10 22:56:13

为什么90%的团队用不好Open-AutoGLM?你必须知道的3条脱敏规则设计原则

第一章:为什么90%的团队用不好Open-AutoGLM?许多团队在引入 Open-AutoGLM 时寄予厚望,期望其自动化生成高质量语言模型输出的能力能提升开发效率。然而,实际落地过程中,超过九成的团队未能充分发挥其潜力。根本原因往往…

作者头像 李华
网站建设 2026/4/8 12:21:57

【企业级数据防护指南】:Open-AutoGLM脱敏恢复控制的5大应用场景

第一章:Open-AutoGLM脱敏后数据恢复控制的核心价值在数据安全与隐私保护日益重要的今天,Open-AutoGLM 提供了一种创新机制,用于在数据脱敏后实现可控的恢复能力。该机制不仅保障了敏感信息在传输和存储过程中的安全性,还为授权场景…

作者头像 李华
网站建设 2026/4/13 15:47:08

基于智能推荐的卫生健康系统的设计与实现

在数字化医疗快速发展的背景下,传统卫生健康服务面临信息过载、资源匹配效率低等问题,难以满足用户个性化需求。为此,本研究旨在设计并实现基于智能推荐的卫生健康系统,通过整合医疗资源与用户需求,提升服务精准性与便…

作者头像 李华