pythonocc进阶学习:faces的inner wire与outer wire

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

我们在这篇文章中绘制了带有holes的面,

本篇是在读取到外部文件如brep,igs,stp后获取面的性质,寻找面中的wires的正向与逆向

  • 只显示外wire

from OCC.Extend.DataExchange import read_iges_file
from OCC.Core.TopExp import TopExp_Explorer
from OCC.Core.TopAbs import TopAbs_FACE, TopAbs_WIRE
from OCC.Core.TopoDS import topods
from OCC.Core.BRepAdaptor import BRepAdaptor_Surface
from OCC.Display.SimpleGui import init_display
from OCC.Core.ShapeAnalysis import shapeanalysis_OuterWire
from OCC.Display.OCCViewer import rgb_color# 加载零件模型文件
part = read_iges_file("assets/your_file.IGS")  # 替换为你的零件模型文件路径# 初始化3D视图
display, start_display, _, _ = init_display()# 设置颜色
highlight_color = (0.0, 0.0, 1.0)  # 蓝色# 遍历面
face_explorer = TopExp_Explorer(part, TopAbs_FACE)
while face_explorer.More():face = topods.Face(face_explorer.Current())#获取wire线wires=shapeanalysis_OuterWire(face)display.DisplayShape(wires, color=rgb_color(0,1,0))face_explorer.Next()# 显示3D视图
start_display()

只显示内wire

### 面的内外环线 https://blog.csdn.net/Mechanicoder/article/details/127477160from OCC.Extend.DataExchange import read_iges_file
from OCC.Core.TopExp import TopExp_Explorer
from OCC.Core.TopAbs import TopAbs_FACE, TopAbs_WIRE
from OCC.Core.TopoDS import topods
from OCC.Core.BRepAdaptor import BRepAdaptor_Surface
from OCC.Display.SimpleGui import init_display
from OCC.Core.ShapeAnalysis import shapeanalysis_OuterWire
from OCC.Display.OCCViewer import rgb_color# 加载零件模型文件
part = read_iges_file("assets/yourfile.IGS")  # 替换为你的零件模型文件路径# 初始化3D视图
display, start_display, _, _ = init_display()# 设置颜色
highlight_color = (0.0, 0.0, 1.0)  # 蓝色# 提取内部为空的平面的内部边界线
face_explorer = TopExp_Explorer(part, TopAbs_FACE)
while face_explorer.More():face = topods.Face(face_explorer.Current())# 目标:内环线inner_wires=[]# 获取所有线wire_explorer = TopExp_Explorer(face, TopAbs_WIRE)# 获取外环wire线outer_wires = shapeanalysis_OuterWire(face)while wire_explorer.More():wire = topods.Wire(wire_explorer.Current())if not wire.IsSame(outer_wires):inner_wires.append(wire)wire_explorer.Next()display.DisplayShape(inner_wires, color=rgb_color(0,0,1))face_explorer.Next()# 显示3D视图
start_display()

在这里插入图片描述


参考:
1,https://www.cnblogs.com/mechanicoder/p/16878903.html Open Cascade 获取面的内外环线
2. https://www.cnblogs.com/opencascade/p/MakeFaceWithHoles.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/28823.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32数字小键盘

基于STM32的数字小键盘 自己的键盘小键盘数字键坏了几个,准备自己用STM32做一个数字键盘。 硬件 找了一些资料,感谢知乎老哥。 原理图 采用的是主控是STM32F103RBT6,上拉1.5K接高速USB。按键采用的是矩阵按键。轴位可以自己选择。还接了一…

C++学习——类和对象(一)

C语言和C语言最大的区别在于在C当中引入了面向对象的编程思想,想要完全了解c当中的类和对象,就要从头开始一点一点的积累并学习。 一:什么是面向对象编程 我们之前学习的C语言属于面向过程的编程方法。举一个简单的例子来说:面向过…

Elasticsearch--客户端

Es客户端 语言无关 ​ java最常用的客户端是Java Client、Java Rest Client、Java Transport Client Java Client 从es7.17开始,官方推出Java Client,并且将Java Rest Client标为Deprecated(过期) 要求jdk至少要jdk8 具体用法…

LangChain大型语言模型(LLM)应用开发(六):Agents

LangChain是一个基于大语言模型(如ChatGPT)用于构建端到端语言模型应用的 Python 框架。它提供了一套工具、组件和接口,可简化创建由大型语言模型 (LLM) 和聊天模型提供支持的应用程序的过程。LangChain 可以轻松管理与语言模型的交互&#x…

Ajax详解

文章目录 1. 概述1.1 Ajax工作原理1.2 Ajax的作用1.3 同步异步 2. 原生Ajax3. Axios3.1 Axios的基本使用3.2 Axios快速入门3.3 请求方法的别名 1. 概述 Ajax 是 “Asynchronous JavaScript and XML”(异步 JavaScript 和 XML)的缩写。它是一种在无需重新…

Java版本企业工程项目管理系统平台源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)

工程项目管理软件(工程项目管理系统)对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营,全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

决赛结束,颁奖在即:2023隐私计算大会暨“星河杯”隐私计算大赛颁奖典礼震撼来袭!

7月11日-12日,首届“星河杯”隐私计算大赛4个赛题共计37支团队陆续完成决赛评审,决出的大赛获奖团队代表将受邀出席7月26日在青岛星河湾酒店举办的2023隐私计算大会暨首届“星河杯”隐私计算颁奖典礼。 2023隐私计算大会暨首届“星河杯”隐私计算大赛颁奖…

shell脚本中一个隐晦的bug

1.逻辑表达式if [ ! EXP PATTERN ]不能判断EXP结果为空的情形; 2.而逻辑表达式if [[ EXP ! PATTERN ]可以判断EXP结果为空的情形;

计算机网络 day10 DNAT问题 - 堡垒机 - WLAN

目录 DNAT策略拓扑图: 问题一:当我们访问内网的Web服务的时候,我们防火墙服务器的80端口和Web服务器的8000端口是否需要一直调用程序监控呢? DNAT的作用就是可以帮助我们进行路由转发功能 问题二:当我们在继续DNAT…

【VUE】拖动侧边栏以便自由调整左右两侧的宽度

效果 &#xff08;1&#xff09;拖动前 &#xff08;2&#xff09;拖动后 主要代码 <template><el-row class"contnet" :gutter"20">// 1. 左侧树<el-col id"left-tree" class"left-tree" :offset"0" :…

什么是 Elasticsearch 索引?

作者&#xff1a;David Brimley 索引这个术语在科技界已经被用满了。 如果你问大多数开发人员什么是索引&#xff0c;他们可能会告诉你索引通常指的是关系数据库 (RDBMS) 中与表关联的数据结构&#xff0c;它提高了数据检索操作的速度。 但什么是 Elasticsearch 索引&#xff…

利用Python与ArcGIS工具进行蒸散发ET、植被总初级生产力GPP估算

查看原文>>>基于”Python”多技术融合在蒸散发与植被总初级生产力估算中的实践应用 熟悉蒸散发ET及其组分&#xff08;植被蒸腾Ec、土壤蒸发Es、冠层截留Ei&#xff09;、植被总初级生产力GPP的概念和碳水耦合的基本原理&#xff1b;掌握利用Python与ArcGIS工具进行课…