meshlab: pymeshlab保存物体的横截面(compute planar section)

一、关于环境

请参考:pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客

二、关于代码

本文所给出代码仅为参考,禁止转载和引用,仅供个人学习。 本文所给出的例子是https://download.csdn.net/download/weixin_42605076/89233917中的obj_000001.ply。

python 复制代码
# pymeshlab需要导入,其一般被命名为ml
import pymeshlab as ml

# 本案例所使用的3D模型为压缩包中的obj_000001.ply,请将其与本脚本放置在同一文件夹内。
input_file = 'obj_000001.ply'

# 首先需要创建一个空的容器
mesh = ml.MeshSet()

# 然后,加载物体模型
mesh.load_new_mesh(input_file)

# 设置截面
mesh.compute_planar_section(
    planeaxis = 'X Axis', # 垂直于的平面:切片平面将垂直于轴进行
    customaxis = [0, 1, 0], # 自定义轴:指定自定义轴,仅当上述参数设置为"自定义"时才有效
    planeoffset = 0, # 交叉平面偏移:指定交叉平面的偏移。偏移对应于与平面参照参数中指定的点的距离。默认情况下(跨平面偏移==0)
    relativeto = 'Origin', # 平面参照:指定偏移平面的参照
    createsectionsurface = True, # 还创建截面曲面:如果选中,则除了具有截面多段线的图层外,还将创建具有截面多线的三角形版本的图层。仅当截面多段线闭合时才有效
    splitsurfacewithsection = False,# 同时创建分割曲面:如果选中,它将创建两个层,其中网格的一部分位于剖面的下方和上方。它需要网状物的歧管性。
)

# 保存截面
mesh.save_current_mesh(input_file.replace('.ply', '_planar.ply'),
                       binary = False)
相关推荐
帮帮志17 分钟前
05.unity 游戏开发-3D工程的创建及使用方式和区别
3d·unity·游戏引擎
兔子的洋葱圈38 分钟前
【django】3 (django路由) 路由配置和反向解析
后端·python·django
歪~~1 小时前
KMP算法
数据结构·c++·算法
黑不拉几的小白兔1 小时前
第十五届蓝桥杯大赛软件赛省赛Python 大学 C 组题目试做(中)【本期题目:回文数组,挖矿】
c语言·python·蓝桥杯
qq_340474021 小时前
6.1 python加载win32或者C#的dll的方法
java·python·c#
梁下轻语的秋缘1 小时前
每日c/c++题 备战蓝桥杯(小球反弹)[运动分解求解,最大公约数gcd]
c语言·c++·学习·算法·数学建模·蓝桥杯
SiMmming1 小时前
【算法竞赛】状态压缩型背包问题经典应用(蓝桥杯2019A4分糖果)
c++·经验分享·算法·职场和发展·蓝桥杯·动态规划
DexterYttt1 小时前
AT_abc212_d [ABC212D] Querying Multiset
数据结构·c++·算法·优先队列
强了一点1 小时前
U-Net网络+代码实操【保姆级教程理解一文全搞懂】
python
刻意思考2 小时前
KM算法的时间复杂度,为什么可以降低一个数量级
后端·算法·程序员