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日