一. 添加菜单栏
1. 代码添加
#主页添加菜单栏,并在子菜单中可以打开文件选择对话框
from OCC.Display.SimpleGui import init_display
from OCC.gp import gp_Pnt
from PyQt5.QtWidgets import QFileDialog
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)
menu_name = '打开'
menu_name2 = '绘制模型'
add_menu(menu_name) // add_menu 将menu添加在标题栏上
add_menu(menu_name2)
add_function_to_menu(menu_name, QFileDialog.getOpenFileName) // 指定menu对应的功能
start_display()
2.使用pyqtdesigner 设计一个对话框
用qt designer 拖拽式 设计,然后用pyuic转化成 .py 文件
不要在这上面直接修改,而新建一个文件继承它
import sys
from OCC.Display.SimpleGui import init_display
from OCC.gp import gp_Pnt
from test import* #调用自定义对话框
def mydialog(shp,*argus):
for point in shp:
myDialog = QtWidgets.QDialog()
ui = Ui_Dialog()
ui.setupUi(myDialog) # setupUi()是由.ui文件生成的类的构造函数(初始化界面)
myDialog.show()
sys.exit(myDialog.exec_()) # 如果没有这个函数,则对话框闪退
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)
menu_name = '打开'
menu_name2 = '绘制模型'
add_menu(menu_name)
add_menu(menu_name2)
display.DisplayShape(P0)
display.SetSelectionModeVertex() # 启动点的选中功能
display.register_select_callback(mydialog) #点击执行对话框
start_display()
二. PythonOCC基础使用:建模——基础三维实体(球体,长方体,棱柱/台/锥,圆柱/锥/台,环形)
- 长方体
my_box = BRepPrimAPI_MakeBox (10,10,10).Shape() 长宽高
- 球体
center=gp_Pnt(5,5,10) # 球心坐标
radius=19
my_sphere =BRepPrimAPI_MakeSphere(center ,radius).Shape()
- 圆柱/圆锥/圆台