cutThruAll()
方法是cadquery
库的Workplane
对象的一种实例方法。该方法可以将当前对象包含的所有几何体都进行一个沿着Z轴的切割操作。这个操作会在当前对象上创建一个新的切割体,并将原有的所有几何体都截断在该切割体下方。
cutThruAll(depth=None, both=True, useXmax=True)
None
,代表深度将会取决于对象上最高点的位置。True
。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轴上最远处形成的交点作为标准点。