比如你建了A和B,想从A中切掉B

from OCC.Core.gp import gp_Pnt, gp_Dir, gp_Pln
from OCC.Display.SimpleGui import init_display
from OCC.Core.BRepAlgoAPI import BRepAlgoAPI_Cut
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakePolygon, BRepBuilderAPI_MakeFace

display, start_display, add_menu, add_function_to_menu = init_display()

p0 = gp_Pnt()
vnorm = gp_Dir(0, 1, 0)
aPlane = gp_Pln(p0, vnorm)
tcd = 40
bcd = 60
ht = 30
x0 = -0.5 * bcd
x1 = 0.5 * bcd
x2 = 0.5 * tcd
x3 = -0.5 * tcd
z0 = 0
z1 = 0 + ht
aP1 = gp_Pnt(x0, 0.0, z0)
aP2 = gp_Pnt(x1, 0.0, z0)
aP3 = gp_Pnt(x2, 0.0, z1)
aP4 = gp_Pnt(x3, 0.0, z1)
aPolygon = BRepBuilderAPI_MakePolygon(aP1, aP2, aP3, aP4, True)
aTrapezoid = BRepBuilderAPI_MakeFace(aPlane, aPolygon.Wire()).Shape()

p0 = gp_Pnt()
vnorm = gp_Dir(0, 1, 0)
aPlane = gp_Pln(p0, vnorm)
tcd = 30
bcd = 10
ht = 10
x0 = -0.5 * bcd
x1 = 0.5 * bcd
x2 = 0.5 * tcd
x3 = -0.5 * tcd
z0 = 30 - ht  # down line
z1 = 30 # up line
aP1 = gp_Pnt(x0, 0.0, z0)
aP2 = gp_Pnt(x1, 0.0, z0)
aP3 = gp_Pnt(x2, 0.0, z1)
aP4 = gp_Pnt(x3, 0.0, z1)
aPolygon = BRepBuilderAPI_MakePolygon(aP1, aP2, aP3, aP4, True)
aCutTrapezoid = BRepBuilderAPI_MakeFace(aPlane, aPolygon.Wire()).Shape()

ShapeCut = BRepAlgoAPI_Cut(aTrapezoid, aCutTrapezoid).Shape()

display.DisplayShape(ShapeCut, update = True)
start_display()

注意ShapeCut = BRepAlgoAPI_Cut(aTrapezoid, aCutTrapezoid)会报错,必须.Shape()

pythonocc 切完显示要要.Shape()相关推荐

  1. html加载完显示图片,js图片未加载完显示loading效果

    js图片未加载完显示loading效果 img{float:left;200px;height:200px;margin:0 10px 10px 0} //判断浏览器 var Browser=new ...

  2. 联想小新Air14使用傲梅分区助手进行硬盘克隆出现的问题,克隆完显示RAW格式解决方案,win10家庭版硬盘BitLocker上锁解锁方法

    联想小新Air14使用傲梅分区助手进行硬盘克隆出现的问题,克隆完显示RAW格式解决方案 买电脑时没考虑到512会不够用,也没注意到小新Air14是单插槽的,所以有了今天的故事. 本文会就自己的经历,提 ...

  3. QLabel 设置背景图片的方法和解决图片太大不能完显示办法

    #QLabel 设置背景图片的方法和解决图片太大不能完显示办法 文章目录 1.通过`QPixmap`来设置 方法 注意 2.通过`QSS`设置 方法 注意 1.通过QPixmap来设置 方法 // 获 ...

  4. android显示字符串,Android自定义View用切图显示字符串

    近期开发收音机有个需求,将频率值以图片的形式显示出来(如结尾效果图所示).然而,一开始用TextView写出来的效果太丑了,提交上去肯定不合格.于是乎我想到了写一个自定义View,将频率的数字切图排布 ...

  5. pspice破解完显示 license not found 的解决方法

    本人安装破解完pspice16.5后,使用的前两天都没问题,到了第三天就显示license not found,网上查了好多资料,无非也就是改环境变量,打开lmtool然后reload证书的操作,但是 ...

  6. Listview条目删除完,显示默认的图片的数据

    if(msgs.size()==0){ ToastUtils.makeLongText("没有数据了",getActivity()); listViewMyMsgs.setVisi ...

  7. unity的切屏显示顺序

    unity有两个可以用于查看Android切屏的方法,那就是: void OnApplicationPause(bool isPause) { //Debug.LogError("OnApp ...

  8. AD16从两层切到显示一层的视图shift+s

    shift+s见证奇迹 隐藏!!! 切换下面的bar

  9. QT使用QStackedWidget实现切页显示

    在qt creator中创建一个QT Widgets Application,具体函数如下: mainwindow.h如下: #ifndef MAINWINDOW_H #define MAINWIND ...

最新文章

  1. HDF5数据处理(一)python
  2. java io系列10之 FilterInputStream
  3. vpython 贞测碰撞_7、Pygame碰撞检测
  4. python propresql mysql_Python中操作mysql的pymysql模块详解
  5. 学习Netflix管理员–第1部分
  6. Bootstrap 列嵌套
  7. WSUS补丁更新相关命令及参数
  8. 201421123042 《Java程序设计》第14周学习总结
  9. C#自定义RSA加密解密及RSA签名和验证封装类
  10. 推荐几款好用的去视频水印软件,快来看看吧
  11. 数据结构与算法学习资源
  12. 计算机函数sumif怎么用,sumif函数的使用方法_EXCEL的经典函数sumif的用法和实例(详细汇总)...
  13. 2020.09.16 记录学习的点滴
  14. 转录组分析---Hisat2+StringTie+Ballgown使用
  15. Kanzi: kanzi 学习:kanzi触发器参考
  16. (三)ArcGIS API For Javascript之调用动态地图服务
  17. 物联网组网技术比较 NB-IoT、LoRa、ZigBee、WiFi、蓝牙等
  18. QGIS 加载XYZ Tiles
  19. java 如何获取设备号_java – 如何获取android设备ID?
  20. 导入技能要素三大类_财务管理类专业(技能)课程体系

热门文章

  1. 【游戏开发实战】Unity使用ShaderGraph配合粒子系统,制作子弹拖尾特效(Fate/stay night金闪闪的大招效果)
  2. Button点击事件
  3. 发生了Post错误:错误代码40005,微信返回错误信息:invalid file type
  4. 2007热点技术职位
  5. java基础最全(包括jdk,ecilpse各个软件的安装下载步骤以及下载地址)
  6. 大学人机交互课小组作业(刚入坑菜鸟一枚,求别喷吼吼)
  7. MIT制作迷你猎豹机器人 将机器人丢出去可以自动著陆
  8. unity保存游戏对象到mysql_Unity实现游戏存档框架
  9. 采药问题 c语言程序,采药问题为什么不能ac(内附代码)
  10. 试衣网的商业模式很脆弱