一、关于环境
请参考:pymeshlab遍历文件夹中模型、缩放并导出指定格式-CSDN博客
二、关于代码
本文所给出代码仅为参考,禁止转载和引用,仅供个人学习。
本案例以两个圆环为例。
左侧为两个圆环,右上是重叠,右下是圆环交集
# pymeshlab需要导入,其一般被命名为ml
import pymeshlab as ml
# 首先需要创建一个空的容器
mesh = ml.MeshSet()
# 创建圆环
mesh.torus(
hradius = 3, # 水平半径:圆环体的整个水平环的半径
vradius = 1, # 垂直半径:圆环垂直截面的半径
hsubdiv = 24, # 水平细分:环的细分步骤
vsubdiv = 12, # 垂直细分:圆环体截面的多边形近似的边数
)
# 移动模型
mesh.transform_translate_center_set_origin(traslmethod = 'XYZ translation',
axisx = 3,
axisy = 0,
axisz = 0,
)
# torus-1
mesh.save_current_mesh('1_torus.ply')
# 创建圆环
mesh.torus(
hradius = 3, # 水平半径:圆环体的整个水平环的半径
vradius = 1, # 垂直半径:圆环垂直截面的半径
hsubdiv = 24, # 水平细分:环的细分步骤
vsubdiv = 12, # 垂直细分:圆环体截面的多边形近似的边数
)
# torus-2
mesh.save_current_mesh('2_torus.ply')
# 布尔交集
mesh.mesh_boolean_intersection(first_mesh = 0, second_mesh = 1)
# torus-two
mesh.save_current_mesh('two_torus.ply')