Open CASCADE(简称OCC)平台是是一个开源的C++类库,OCC主要用于开发二维和三维几何建模应用程序,包括通用的或专业的计算机辅助设计CAD系统、制造或分析领域的应用程序、仿真应用程序或图形演示工具。

PythonOCC是对Open CASCADE的封装。PythonOCC按照官方描述:3D CAD/CAE/PLM DEVELOPMENT FRAMEWORK FOR THE PYTHON PROGRAMMING LANGUAGE. 即用于开发CAD/CAE/CAM程序的一个Python框架。PythonOCC的下载地址为:http://www.pythonocc.org/download/

学习一个框架先从最简单的"Hello world"程序开始,下面用PythonOCC创建一个最简单的立方体并显示出来。

 1 '''
 2 This examples creates and displays a simple box.
 3 '''
 4
 5 # The first line loads the init_display function, necessary to
 6 # enable the builtin simple gui provided with pythonocc
 7 from OCC.Display.SimpleGui import init_display
 8
 9 # Then we import the class that instanciates a box
10 # Here the BRepPrimAPI module means Boundary Representation Primitive API.
11 # It provides an API for creation of basic geometries like spheres,cones etc
12 from OCC.BRepPrimAPI import BRepPrimAPI_MakeBox
13
14 # Following line initializes the display
15 # By default, the init_display function looks for a Qt based Gui (PyQt, PySide)
16 display, start_display, add_menu, add_function_to_menu = init_display()
17
18 # The BRepPrimAPI_MakeBox class is initialized with the 3 parameters of the box: widht, height, depth
19 my_box = BRepPrimAPI_MakeBox(10., 20., 30.).Shape()
20
21 # Then the box shape is sent to the renderer
22 display.DisplayShape(my_box, update=True)
23
24 # At last, we enter the gui mainloop
25 start_display()

显示结果如下,按键盘上的W,S,H键可以在线框模型,面模型和消隐线模型之间切换。按住左键移动鼠标可以旋转物体,鼠标中键用于缩放,按住鼠标中键可以平移物体

参考:

http://www.pythonocc.org/

http://www.vrplumber.com/py3d.py

https://github.com/tpaviot/pythonocc-core/blob/5b7ac9167e50e302cea534c5c7777ca2432f6d09/doc/examples/helloworld.rst

转载于:https://www.cnblogs.com/21207-iHome/p/5241151.html

PythonOCC 3D图形库学习—创建立方体模型相关推荐

  1. python 3d绘图立方体_PythonOCC 3D图形库学习—创建立方体模型

    Open CASCADE(简称OCC)平台是是一个开源的C++类库,OCC主要用于开发二维和三维几何建模应用程序,包括通用的或专业的计算机辅助设计CAD系统.制造或分析领域的应用程序.仿真应用程序或图 ...

  2. python 3d图形库_PythonOCC 3D图形库学习—导入STEP模型

    原博文 2016-03-04 13:44 − PythonOCC comes with importers/exporters for the most commonly used standard ...

  3. 3d数学基础学习总结

    3d数学基础目录 第1章 简介 1.1 什么是3D数学 1.2 为什么选择本书 1.3 阅读本书需要的基础知识 1.4 概览 第2章 笛卡尔坐标系统 2.1 1D数学 2.2 2D笛卡尔数学 2.3 ...

  4. Autocad 3D 完全学习教程

    Autocad 3D 完全学习教程 你会学到什么 如何使用AutoCAD三维基本特征 了解如何在AutoCAD中创建和开发三维模型 准备实体.网格和曲面几何图形 不同的命令2d和3D 要求 不需要事先 ...

  5. 未能加载程序集或它的一个依赖项_英伟达发布kaolin:一个用于加速3D深度学习研究的PyTorch库...

    由于大多数现实环境是三维的,因此理想情况下,应针对3D数据训练旨在分析视频或现实环境中的完整任务的深度学习模型.诸如机器人,自动驾驶汽车,智能手机和其他设备之类的技术工具目前正在产生越来越多的3-D数 ...

  6. Facebook 开源 3D 深度学习函数库 PyTorch3D,也可用于二维场景

    渲染是计算机图形学中的核心内容,它可将 3D 模型转换为 2D 图像.这也是在 3D 场景属性(scene properties)和 2D 图像像素之间建立桥接的常规手段.不过传统渲染引擎无法进行微分 ...

  7. 3D深度学习总结(聚焦3D深度学习的现在于未来)

    3D深度学习总结(聚焦3D深度学习的现在于未来) 本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 选自The gradient[点击此处],作者:Mihir Gar ...

  8. 十年经验建模师!给你3d建模学习的十条铁律,请收藏

    当新手开始学习3d建模的时候,总是很好奇有没有什么捷径可以走呢?其实学习建模不仅需要你拥有一些天赋和愿景,还需要你学习建模的决心以及你的努力程度.   [3D建模学习资料领取方式见文末] 想要成为一个 ...

  9. Blender 3D环境场景创建教程

    Blender 3D环境场景创建教程 学习 Blender 3.2,探索几何节点并创建美妙的 3D 环境 课程英文名:Creating 3D Environments in Blender 2.81 ...

最新文章

  1. java如何恢复成eclipse项目,清理一下垃圾,Eclipse里面的项目全部不见了,怎么恢复...
  2. Caffe 中的卷积--权宜之计
  3. 单片机的 FIFO循环队列实现
  4. Python程序设计语言基础05:函数和代码复用
  5. Excel LOOKUP 查找不准确的原因
  6. js for ubuntu
  7. winxp怎么打开无线网络服务器,WinXP无线网络设置的方法
  8. 求一个点到任意两个点所在直线距离 C#代码公式
  9. 章鱼网络应用链|为什么 DEIP 会选择章鱼网络?
  10. 图像分辨率之1080P与1080i
  11. LNBP11L_LNB电源和控制电压调节器——科时进商城
  12. 【Matlab学习手记】良好的编程习惯
  13. 硬干货:深入剖析 MySQL 索引和 SQL 调优实战
  14. EasyExcel专题(一) Excel 读取、写入、上传和下载
  15. 因式分解机(Factorization Machines,FM )
  16. Delphi下的MPS
  17. 解析北斗+UWB室内外一体化融合定位技术
  18. 小师妹学JavaIO之:文件读取那些事
  19. matlab 系统稳态误差,MATLAB实验报告3
  20. Slimming剪枝方法

热门文章

  1. 【51nod - 1073】约瑟夫环问题模板
  2. php 判断radio选中哪个,jquery如何判断单选按钮radio是否选中
  3. 无法开启计算机,Win7下鼠标右键无法开启计算机属性怎么办?
  4. 网络协议分析 | 传输层 :史上最全UDP、TCP协议详解,一篇通~
  5. 指针、引用以及const限定符、constexpr限定符
  6. Python 图片转简单字符画
  7. python学习实例(1)
  8. tcpcopy使用方法
  9. C++(0)--mac 使用VScode 进行C++编译、运行、调试
  10. 安装ipfs-http-client出现constants@0.1.2 install: node build.js > index.browser.js错误的解决办法