总目录 >> PythonOCC入门进阶到实战(目前已更新入门篇、基础篇和进阶篇)
opencascade的c++版的入门教程(https://www.opencascade.com/doc/occt-7.2.0/overview/html/occt__tutorial.html#sec1)讲述基础知识,是以建造一个瓶子作为例子,在这个过程中将使用的函数进行了细致的讲解.
pythonocc的基础教程也会遵循此原则.接下来我们将完成瓶子的建造.
定义模型
模型的建造将分为四个步骤:
- 建造瓶子的轮廓(profile)
- 建造瓶子的实体(body)
- 建造瓶颈处的螺纹(thread)
- 结果混合(及轮廓加本体加螺纹)
一、建造瓶子的轮廓(profile)
1.定义支撑点
要创建瓶子的轮廓,首先要创建特征点及其坐标,如下面(xoy)平面中所示。这些点将是定义轮廓几何图形的支撑。
我们将会使用如下函数来描述 三维坐标点(使用笛卡尔坐标系:xyz坐标系)from OCC.Core.gp import gp_Pnt
- 点函数gp_Pnt
aPnt1 = gp_Pnt(-width / 2.0, 0, 0)
aPnt2 = gp_Pnt(-width / 2.0, -thickness / 4.0, 0)
aPnt3 = gp_Pnt(0, -thickness / 2.0, 0)
aPnt4 = gp_Pnt(width / 2.0, -thickness / 4.0, 0)
aPnt5 = gp_Pnt(width / 2.0, 0, 0)
结果如图所示:
我们可以通过
aPnt1.X()
来查看具体点的x值。注意此X为大写的。同理Y,Z
print(aPnt1.X())
-25.0
2.轮廓:定义几何图形(geometry)
基础知识补充: 我们在绘制图形的时候,一般会使用到 线Geom_Line
,圆形Geom_Circle
,这些是属于比较简单的图形,对于更为复杂的图形,我们使用贝塞尔曲线(Bezier)和B样条曲线(bspline )
借助先前定义的点,可以计算瓶子轮廓几何图形的一部分。如下图所示,它由两段(segments)GC_MakeSegment
和一段弧(arc)组成GC_MakeArcOfCircle
。
from OCC.Core.GC import GC_MakeArcOfCircle, GC_MakeSegment
aArcOfCircle = GC_MakeArcOfCircle(aPnt2, aPnt3, aPnt4)
aSegment1 = GC_MakeSegment(</