cadquery
Sketch
Workplane
Assembly

DirectionSelector()

DirectionSelector()cadquery模块中的一个类,可以用于从已有的对象中选择方向。

构造函数

DirectionSelector()类没有参数。

ds = DirectionSelector()

方法

toGdb()方法

将选择的方向转换为GDB字符串。

gdb_str = ds.toGdb()

xDir(), yDir(), zDir()方法

选择X,Y或者Z轴方向。

ds.xDir()
ds.yDir()
ds.zDir()

toNegative()方法

选择负方向。

ds.toNegative()

toAny()方法

选择任意的方向。

ds.toAny()

twoPerpendicularTo()方法

选择垂直于给定的方向的两个相互垂直的方向。

ds.twoPerpendicularTo(reference_dir)

参数:

  • reference_dir - 用于确定两个方向的参考方向。

twoDirections()方法

选择两个方向。

ds.twoDirections(dir1, dir2)

参数:

  • dir1 - 第一个方向。
  • dir2 - 第二个方向。

twoEdges()方法

选择两条边的方向。

ds.twoEdges(edge1, edge2)

参数:

  • edge1 - 第一条边。
  • edge2 - 第二条边。

parallelTo()方法

选择平行于给定方向的方向。

ds.parallelTo(reference_dir)

参数:

  • reference_dir - 参考方向。

reverse()方法

选择与当前方向相反的方向。

ds.reverse()

示例

import cadquery as cq

# 创建一个立方体
box = cq.Workplane("XY").box(1, 1, 1)

# 创建一个新的direction selector
ds = cq.DirectionSelector()

# 选择z轴方向
ds.zDir()

# 将box向当前方向拉伸一倍
box = box.translate((0, 0, 1)).extrude(ds.toGdb())

# 创建一个新的方向选择器并选择两条边的方向
ds = cq.DirectionSelector()
ds.twoEdges(box.edges(">Z"), box.edges("<Z"))

# 在当前方向上拉伸一个圆柱体
cyl = cq.Workplane("XY").circle(0.5).extrude(1).faces(">Z").workplane().circle(0.25).extrude(1, both=True)
cyl = cyl.extrude(ds.toGdb())

# 将圆柱体向反方向偏移1个单位
cyl = cyl.translate((0, 0, -1))

# 显示结果
show_object(box+cyl)

上述代码将创建一个立方体和一个圆柱体,并选择两条边的方向,最后将圆柱体向反方向偏移1个单位。最终效果如下图所示: