cadquery
Sketch
Workplane
Assembly

Sketch.rarray()

Sketch.rarray()是CADQuery中Sketch类的一个方法,在二维平面上生成一个从左上角开始的数组。该数组可以是任意维度的,其中每个元素都可以是点、线、圆、矩形等等。这个方法可以方便地创建复杂的布局,尤其是在需要在设计中使用大量相似的实体时。

语法

Sketch.rarray(rows, columns, spacing, callback)
  • rows: 数组的行数。
  • columns: 数组的列数。
  • spacing: 每个元素之间的距离。
  • callback: 用于生成每个元素的回调函数。

用法

创建一个点数组

下面的例子演示了如何在二维平面上生成一个点数组,行数为4,列数为4,间距为10。

from math import sin, cos, radians
import cadquery as cq

def make_point(x, y):
    return cq.Workplane("XY").center(x, y).circle(1).extrude(1)

points = cq.Workplane("XY").rarray(4, 4, 10, lambda x, y: make_point(x, y))

创建一个线数组

下面的例子演示了如何在二维平面上生成一个线数组,行数为3,列数为3,间距为20,使用callback函数生成线。

from math import sin, cos, radians
import cadquery as cq

def make_line(x, y):
    return cq.Workplane("XY").hLine(5).extrude(1)

lines = cq.Workplane("XY").rarray(3, 3, 20, lambda x, y: make_line(x, y))

创建一个圆形数组

下面的例子演示了如何在二维平面上生成一个圆形数组,行数为2,列数为2,间距为20,使用callback函数生成圆。

from math import sin, cos, radians
import cadquery as cq

def make_circle(x, y):
    return cq.Workplane("XY").center(x, y).circle(5).extrude(1)

circles = cq.Workplane("XY").rarray(2, 2, 20, lambda x, y: make_circle(x, y))

创建一个矩形数组

下面的例子演示了如何在二维平面上生成一个矩形数组,行数为3,列数为3,间距为15,使用callback函数生成矩形。

from math import sin, cos, radians
import cadquery as cq

def make_rect(x, y):
    return cq.Workplane("XY").center(x, y).rect(10, 5).extrude(1)

rects = cq.Workplane("XY").rarray(3, 3, 15, lambda x, y: make_rect(x, y))

结论

Sketch.rarray()方法是CADQuery中一个简明有效的功能,可用于创建各种形状的实体数组,以节省时间和精力。 熟练使用它可以在几分钟内创建具有大量实体的复杂模型,并为CAD工程师、机械师、工具设计师、产品设计师等提供大量方便和灵活性。