PythonOCC【快速入门】

简单介绍

pythonOCC也就是opencascade的python封装版本,是由tpaviot制作并发行的。
pythonOCC是python语言构架的 3D CAD/CAE/PLM开发框架,它提供了如下功能: 复杂曲面的操作,信息转换(STEP,IGES,STL格式),用户界面可视化(基于wxpython库或者qt库),jupyter nootbook生成等。

在这里插入图片描述

环境

https://anaconda.org/search?q=pythonocc-core
https://github.com/tpaviot/pythonocc-core
conda create -n pyocc python=3.9
conda activate pyocc
conda install -c conda-forge pythonocc-core

小例子

画两个点

from OCC.Display.SimpleGui import init_display
from OCC.Core.gp import gp_Pnt
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox
from OCC.Display.OCCViewer import rgb_color
from OCC.Extend.ShapeFactory import make_wire
if __name__ == '__main__':
    display, start_display, add_menu, add_function_to_menu = init_display()
    P0=gp_Pnt(0,0,1)
    P1 =gp_Pnt(0, 30, 20)
    display.DisplayShape(P0)
    display.DisplayShape(P1)
    start_display()

画一个简单的盒子

from OCC.Display.SimpleGui import init_display
#SimpleGui是PythonOCC中提供的一个简单GUI界面,用于快速展示和交互3D模型。init_display函数用于初始化#这个GUI界面,它会返回一系列与显示相关的函数和对象。
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox
from OCC.Display.OCCViewer import rgb_color
#OCC.Core.BRepPrimAPI模块中导入BRepPrimAPI_MakeBox类。BRepPrimAPI_MakeBox是一个用于创建盒子形#状的类,属于OpenCASCADE的Boundary Representation(边界表示法)原语API之一。通过指定盒子的尺寸,
#可以生成对应的3D盒子形状。
display, start_display, add_menu, add_function_to_menu = init_display()
my_box = BRepPrimAPI_MakeBox(10.0, 20.0, 30.0).Shape()#创建了一个尺寸为10.0 x 20.0 x 30.0
#单位的盒子

display.DisplayShape(my_box,update=True,color=rgb_color(0,1,0))
#来将my_box形状显示在GUI界面上,update=True参数指示在添加形状后立即更新视图。color用来设置其颜色,若不加则会使用默认的color
start_display()
#start_display函数来启动GUI界面的事件循环,使得创建的3D盒子模型可见并且用户可以与之交互。
#igs,stp,stl 格式文件的读取
from OCC.Display.SimpleGui import init_display
from OCC.Extend.DataExchange import read_iges_file,read_step_file,read_stl_file
shapes=read_step_file('1.step')
#shapes=read_iges_file(fileName1)
#shapes=read_step_file(fileName1)
#shapes=read_stl_file(fileName1)
display, start_display, add_menu, add_function_to_menu = init_display()
display.DisplayShape(shapes, update=True)
start_display()
#存为.brep数据,并读取.brep数据
##brep作为occ原生的格式,加载速度快,需要特别注意。
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakeBox
from OCC.Display.SimpleGui import init_display
from OCC.Core.BRepTools import breptools_Read,breptools_Write
from OCC.Core.TopoDS import TopoDS_Shape
from OCC.Core.BRep import BRep_Builder

"""
# 建造一个正方体,并写入brep
box_shp = BRepPrimAPI_MakeBox(10, 20, 20).Shape()

breptools_Write(box_shp,'box.brep')
print("已经成功写入brep")
"""
#读入一个brep
read_box = TopoDS_Shape()
builder = BRep_Builder()
breptools_Read(read_box, '1.brep', builder)



display, start_display, add_menu, add_function_to_menu = init_display()
display.DisplayShape(read_box, update=True)
start_display()
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值