pythonocc_PythonOCC基础使用:基础建模指令(重要!!!)

总目录 >> PythonOCC入门进阶到实战(目前已更新入门篇、基础篇和进阶篇)

欢迎加入pythonocc的中文社区QQ群:860536842 获取更多信息html

opencascade的c++版的入门教程(https://www.opencascade.com/doc/occt-7.2.0/overview/html/occt__tutorial.html#sec1)讲述基础知识,是以建造一个瓶子做为例子,在这个过程当中将使用的函数进行了细致的讲解.

pythonocc的基础教程也会遵循此原则.接下来咱们将完成瓶子的建造.

dea4c2fe2ab4412ebdaf96e772f7903d-2.pngpython

定义模型

6b4a70b502e84b9f986b35660c2df7e3-2.png

7476b77b02cc43e19dcacaa12c2e490f-2.png

模型的建造将分为四个步骤:c++

建造瓶子的轮廓(profile)

建造瓶子的实体(body)

建造瓶颈处的螺纹(thread)

结果混合(及轮廓加本体加螺纹)

1、建造瓶子的轮廓(profile)

1.定义支撑点

要建立瓶子的轮廓,首先要建立特征点及其坐标,以下面(xoy)平面中所示。这些点将是定义轮廓几何图形的支撑。

aad499ba329048c48745de2a1940cf34-2.png

咱们将会使用以下函数来描述 三维坐标点(使用笛卡尔坐标系:xyz坐标系)from OCC.Core.gp import gp_Pntweb

点函数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)

结果如图所示:

af9def9dfea04cf48410e302729fa0d1-2.png咱们能够经过aPnt1.X() 来查看具体点的x值。注意此X为大写的。同理Y,Zshell

print(aPnt1.X())

-25.0svg

2.轮廓:定义几何图形(geometry)

基础知识补充: 咱们在绘制图形的时候,通常会使用到 线Geom_Line,圆形Geom_Circle,这些是属于比较简单的图形,对于更为复杂的图形,咱们使用贝塞尔曲线(Bezier)和B样条曲线(bspline )函数

借助先前定义的点,能够计算瓶子轮廓几何图形的一部分。以下图所示,它由两段(segments)GC_MakeSegment和一段弧(arc)组成GC_MakeArcOfCircle。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PythonOCC是一个基于Python的开源CAD/CAM/CAE解决方案。它提供了一组强大的工具和库,用于创建、处理和分析CAD模型。在PythonOCC中,基础建模指令非常重要,这些指令可以用来创建几何实体和进行基本的几何操作。以下是一些常用的基础建模指令: 1. 点:用于创建3D空间中的点。 ```python from OCC.gp import gp_Pnt # 创建一个点 point = gp_Pnt(0, 0, 0) ``` 2. 直线:用于创建一条直线。 ```python from OCC.gp import gp_Pnt, gp_Dir, gp_Lin # 创建一条直线 point = gp_Pnt(0, 0, 0) direction = gp_Dir(0, 0, 1) # 方向矢量,垂直于 XY 平面 line = gp_Lin(point, direction) ``` 3. 圆:用于创建一个圆。 ```python from OCC.gp import gp_Circ, gp_Ax2, gp_Pnt # 创建一个圆 center = gp_Pnt(0, 0, 0) radius = 10 axis = gp_Ax2(center, gp_Dir(0, 0, 1)) # 方向矢量,垂直于 XY 平面 circle = gp_Circ(axis, radius) ``` 4. 矩形:用于创建一个矩形。 ```python from OCC.gp import gp_Pnt, gp_Ax2, gp_Dir, gp_Lin, gp_Pln, gp_Mat # 创建一个矩形 point = gp_Pnt(0, 0, 0) direction = gp_Dir(0, 0, 1) # 方向矢量,垂直于 XY 平面 line = gp_Lin(point, direction) plane = gp_Pln(gp_Pnt(0, 0, 0), gp_Dir(0, 0, 1)) mat = gp_Mat() mat.SetTranslation(gp_Vec(10, 10, 0)) line2 = line.Transformed(mat) rectangle = BRepBuilderAPI_MakeEdge(line, line2).Edge() ``` 5. 球体:用于创建一个球体。 ```python from OCC.gp import gp_Sphere, gp_Pnt # 创建一个球体 center = gp_Pnt(0, 0, 0) radius = 10 sphere = gp_Sphere(center, radius) ``` 这些指令只是PythonOCC基础建模指令的一部分,你可以通过PythonOCC的官方文档和示例来学习更多指令

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值