cadquery
Sketch
Workplane
Assembly

Workplane.cutThruAll()

简介

cutThruAll() 方法是cadquery库的Workplane对象的一种实例方法。该方法可以将当前对象包含的所有几何体都进行一个沿着Z轴的切割操作。这个操作会在当前对象上创建一个新的切割体,并将原有的所有几何体都截断在该切割体下方。

语法

cutThruAll(depth=None, both=True, useXmax=True)

参数

  • depth:[float],选填。待切割体的深度值。默认值为None,代表深度将会取决于对象上最高点的位置。
  • both:[bool],选填。指定是否同时对待切割体进行切割。默认值为True
  • useXmax:[bool],选填。代表切割线的方向。默认值为True,代表取X轴上最远处与原点构成的一条水平直线作为切割线。

返回值

返回值是一个新的Workplane对象。

实例

让我们来使用一个简单的例子来说明该方法:

import cadquery as cq

box = cq.Workplane("XY").box(2, 2, 2)
sphere = cq.Workplane("XY").sphere(1)

result = box.union(sphere).cutThruAll()

在这个例子中,我们创建了一个2x2x2的长方体和一个半径为1的球体,并使用union()方法将两者进行了合并。接着使用cutThruAll()方法对合并后的几何体进行切割。最后,将切割后的对象赋值给了result变量。现在,你就可以对其进行一系列的操作,比如导出到STL格式:

result.exportStl("example.stl")

注意事项

  • depth参数为None时,切割线将会在对象的最高点上。也就是说,如果待切割的几何体并没有从原点开始构建,则切割线的位置可能会让你感到意外。
  • 如果使用了both=False,那么只会把待切割体的下方截断,待切割体的上面则保持原样。
  • 如果使用了useXmax=False,那么切割线将以X轴上最远处和Y轴上最远处形成的交点作为标准点。