cadquery
Sketch
Workplane
Assembly

Sketch.distribute()

描述

Sketch.distribute()是一个用于在Sketch中分布实体的方法。它可以帮助用户实现自动布局和对齐操作。

语法

Sketch.distribute(direction: Tuple[float], spacing: float, entities: Union[List[Entity], None], centered: bool = False)

参数

  • direction: (必须)一个二元组,表示方向的向量。例如,(0,1)表示向y轴正方向分布,(1,0)表示向x轴正方向分布。
  • spacing: (必须)实体之间的间距(以毫米为单位)。
  • entities: (可选)要分布的实体的列表。如果未指定,则将在Sketch中找到所有实体进行分布。
  • centered: (可选)一个布尔值,表示是否将分布的实体居中。默认为False。

返回值

该方法没有返回值。

示例

以下示例演示如何在Sketch中垂直分布所有实体:

import cadquery as cq

# 创建一个Sketch
sketch = cq.Workplane("XY").sketch()

# 添加实体
sketch.rect(10, 5).circle(3).rect(5, 10)

# 垂直分布所有实体
sketch.distribute((0, 1), 5)

# 展示Sketch
show(sketch)

在执行此代码后,将在界面上打开一个Sketch,其中包含三个实体,它们垂直分布,并且它们之间的间距为5毫米。

示例解释

在这个例子中,我们首先使用cq.Workplane()创建一个位于XY平面的Sketch。然后,我们使用rect()方法和circle()方法向Sketch中添加三个实体。最后,我们调用distribute()方法并传递(0,1)向量作为第一个参数,5毫米作为第二个参数。由于我们没有指定要分布的实体列表,所以默认情况下将对Sketch中的所有实体进行分布。此外,我们没有将centered参数设置为True,因此分布的实体不会居中。最后,我们使用show()方法来显示Sketch。

注意事项

  • direction参数中传递的向量应该是规格化的(即它的长度应该为1)。
  • 要分布的实体的位置应该已经是正确的,否则分布的结果可能会出错。
  • 如果要通过分布使多个实体居中,则应将centered参数设置为True。否则,它们将以Sketch的原点为起始点进行分布。