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个单位。最终效果如下图所示: