FreeCAD二次开发-Part.makeTorus创建圆环体

FreeCAD作为一款基于OpenCasCAD内核的开源CAD软件,可以在GitHub上下载源代码。阅读源代码,有助于我们学习CAD软件架构,了解底层几何算法。

由博主Caesar卢尚宇自学整理(纯粹出于对三维CAD软件开发的热爱)

利用makeTorus(radius1,radius2,[pnt,dir,angle1,angle2,angle])来创建环面。 其默认值为:pnt=Vector(0,0,0), dir=Vector(0,0,1), angle1=0, angle2=360与angle=360。 可以将环面想象为:一个小圆沿着一个大圆扫过的图形。Radius1为大圆的半径,radius2为小圆的半径,pnt为环面的中心,而dir则为法线方向。angle1与angle2都是针对小圆的以弧度制表示的角度;最后一个参数angle描述的是截取的部分环面:

# 指定两个半径创建一个圆环体
b=Part.makeTorus(10,2)
# 显示对象 Part.show(b)

# 创建环面的切片
tor=Part.makeTorus(10, 5, Base.Vector(0,0,0), Base.Vector(0,0,1), 0, 180)
Part.show(tor)

Caesar卢尚宇
2020年3月31日

# 创建半个环面;只有最后一个参数发生了改变。 即除了最后的angle,其余角度皆为默认值。将angle指定为180,将创建大环0至180度范围内的环面,也就是半个环面。
tor=Part.makeTorus(10, 5, Base.Vector(0,0,0), Base.Vector(0,0,1), 0, 360, 180)
Part.show(tor)

Caesar卢尚宇
2020年3月31日

原文地址:https://www.cnblogs.com/nxopen2018/p/12555631.html