cadquery常用命令

发布时间 2023-10-10 12:08:07作者: Arxu

.Workplane("front")  确定绘图平面

.circle(2.0)  画圆

.pushPoints([(1.5, 0), (0, 1.5), (-1.5, 0), (0, -1.5)])  创建点合集

.extrude(0.125)  拉伸

.cutThruAll()  完全贯穿切除

.polygon(5, 1.0)  绘制多边形,第一个数是边数,第二个数是边长. 起点在x轴上. 存在疑问: 多边形的相对位置方向如何改变. 

.polyline()   可以将所有的点连成图形

.mirrorY()  关于Y轴对称

.spline(sPnts, includeCurrent=True)  根据sPnts点列表中的点,绘制样条曲线. includeCurrent=True使用当前点作为起点.

 

.hLine(1.0)  绘制水平线 括号内为距离

.vLine(-0.25)  绘制垂直线 括号内为距离

.hLineTo(0.0)  绘制水平线 括号内为坐标

.vLineTo(0.0)  同上

.lineTo(1.5, 3)  绘制直线,括号内为坐标

.threePointArc((0.4393, 3.4393), (0, 4.5))    绘制三点圆, 括号内为途径的另外两个点

.close()  闭合图形,连接开口图形中两个自由的点

 

.rotate((0, 0, 0), (1, 0, 0), 90)  旋转操作 括号内为旋转轴的起点\终点\旋转角度

.translate()  移动操作,括号内可以写坐标

.mirror(mirrorPlane="XY", basePointVector=(0, 0, -30))  镜像操作,括号内的作用主要是获得镜像面, 与XY平面平行,基准点为括号内坐标

.union()   布尔操作,几何体加和.

.faces(">Z")   选择Y方向上最远的面

result.faces(">Z").vertices("<XY").workplane(centerOption="CenterOfMass") 

如果在选中一个面后立即选择顶点,则将 centerOption 参数设置为 CenterOfMass 的 Workplane.workplane() 会将工作平面定位在面上,原点位于顶点而不是面的中心。

result.faces("<X").workplane(offset=0.1)  选择-x方向最远端的面,并进行偏置0.1 偏置方向为体外方向

.transformed()

Name

xDir

yDir

zDir

XY

+x

+y

+z

YZ

+y

+z

+x

ZX

+z

+x

+y

XZ

+x

+z

-y

YX

+y

+x

-z

ZY

+z

+y

-x

front

+x

+y

+z

back

-x

+y

-z

left

+z

+y

-x

right

-z

+y

+x

top

+x

-z

+y

bottom

+x

+z

-y

 

result2 = (cq.Workplane("ZY",origin=(5, 0, 0)).circle(1).extrude(10))  选择ZY方向的面,基准设置为5,0,0 ,绘制一个圆柱

demo

 1 result0 = (cq.Workplane("XY")
 2            .moveTo(10, 0)
 3            .lineTo(5, 0)
 4            .threePointArc((3.9393, 0.4393), (3.5, 1.5))
 5            .threePointArc((3.0607, 2.5607), (2, 3))
 6            .lineTo(1.5, 3)
 7            .threePointArc((0.4393, 3.4393), (0, 4.5))
 8            .lineTo(0, 13.5)
 9            .threePointArc((0.4393, 14.5607), (1.5, 15))
10            .lineTo(28, 15)
11            .lineTo(28, 13.5)
12            .lineTo(24, 13.5)
13            .lineTo(24, 11.5)
14            .lineTo(27, 11.5)
15            .lineTo(27, 10)
16            .lineTo(22, 10)
17            .lineTo(22, 13.2)
18            .lineTo(14.5, 13.2)
19            .lineTo(14.5, 10)
20            .lineTo(12.5, 10)
21            .lineTo(12.5, 13.2)
22            .lineTo(5.5, 13.2)
23            .lineTo(5.5, 2)
24            .threePointArc((5.793, 1.293), (6.5, 1))
25            .lineTo(10, 1)
26            .close())