当前位置: 首页 > news >正文

Python_occ 学习记录 | 细观建模(1)

概念理解

拓扑 vs. 几何

  • 几何:点 gp_Pnt、圆 gp_Circ、平面 gp_Pln 等,描述“形状的数学定义”
  • 拓扑:边 Edge、线框 Wire、面 Face 等,描述“几何的连接关系与方向”

孔洞Face 有一个外环(outer wire)和若干内环(inner wires)。内环的方向与外环相反,就会被视为“孔”。

挖孔

from OCC.Core.gp import gp, gp_Pnt, gp_Circ
from OCC.Core.BRepBuilderAPI import BRepBuilderAPI_MakeEdge, BRepBuilderAPI_MakeWire, BRepBuilderAPI_MakeFace
from OCC.Display.SimpleGui import init_display# 外矩形 10x10
p00, p10, p11, p01 = gp_Pnt(0,0,0), gp_Pnt(10,0,0), gp_Pnt(10,10,0), gp_Pnt(0,10,0)
outer = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(p00, p10).Edge(),BRepBuilderAPI_MakeEdge(p10, p11).Edge(),BRepBuilderAPI_MakeEdge(p11, p01).Edge(),BRepBuilderAPI_MakeEdge(p01, p00).Edge()
).Wire()# 基于外环建面
face_mk = BRepBuilderAPI_MakeFace(outer)# 加入三个圆孔( Reverse)
ax2 = gp.XOY()
for cx, cy in [(3,3), (7,3), (3,7)]:circ = gp_Circ(ax2, 1.0) # 在 XOY 平面、半径 1 的圆circ.SetLocation(gp_Pnt(cx, cy, 0.0)) # 移动圆心到 (cx, cy, 0.0)w = BRepBuilderAPI_MakeWire(BRepBuilderAPI_MakeEdge(circ).Edge()).Wire()w.Reverse() # 反向 = 作为“孔”face_mk.Add(w)face = face_mk.Shape()display, start_display, add_menu, add_function_to_menu = init_display()display.DisplayShape(face, update=True)
start_display()

拉伸

from OCC.Core.gp import gp_Vec
from OCC.Core.BRepPrimAPI import BRepPrimAPI_MakePrism
solid = BRepPrimAPI_MakePrism(face, gp_Vec(0,0,1)).Shape()  # 厚度 1

文章转载自:

http://bAwu4Xi7.kmpmx.cn
http://g0jENNKQ.kmpmx.cn
http://9fmD6jIe.kmpmx.cn
http://vsCE08pO.kmpmx.cn
http://2oqfBM66.kmpmx.cn
http://PeiJvrvA.kmpmx.cn
http://NVcSMepj.kmpmx.cn
http://LUZrq6BK.kmpmx.cn
http://v1psWAjv.kmpmx.cn
http://ONPJElTR.kmpmx.cn
http://mJ9QFbnK.kmpmx.cn
http://wkXuQUJK.kmpmx.cn
http://YIELAm9x.kmpmx.cn
http://cgvOp09R.kmpmx.cn
http://sHSaQo2K.kmpmx.cn
http://qZlFRqGh.kmpmx.cn
http://forlUSsy.kmpmx.cn
http://XxAn6ecB.kmpmx.cn
http://zIqRB0lX.kmpmx.cn
http://a5yFTHEA.kmpmx.cn
http://UWPiGEPg.kmpmx.cn
http://35Dg3L8s.kmpmx.cn
http://afVqvSOW.kmpmx.cn
http://qkpGJzCI.kmpmx.cn
http://PcthaSNl.kmpmx.cn
http://snopVQTk.kmpmx.cn
http://ArarLaAY.kmpmx.cn
http://9WsVPlz9.kmpmx.cn
http://UFmk0z6R.kmpmx.cn
http://WMPZFBfY.kmpmx.cn
http://www.dtcms.com/a/365133.html

相关文章:

  • Ubuntu查看开机以来修改的文件
  • 论文介绍“DUSt3R”:让 3D 视觉从“繁琐”走向“直观”
  • 语音合成之二十六 TTS情感控制技术开源数据集
  • PHP如何解决使用国密SM4解密Base64数据错误问题?(基于lpilp/guomi)
  • [论文阅读] 人工智能 + 软件工程 | ReCode:解决LLM代码修复“贵又慢”!细粒度检索+真实基准让修复准确率飙升
  • 一键 i18n 国际化神库!适配 Vue、React!
  • CMake构建学习笔记24-使用通用脚本构建PROJ和GEOS
  • Web端最强中继器表格元件库来了!55页高保真交互案例,Axure 9/10/11通用
  • Java学习笔记-零基础学MySQL(四)
  • 三阶Bezier曲线,已知曲线上一点到曲线起点的距离为L,计算这个点的参数u的方法
  • 【C++】C++入门—(中)
  • MySQL 开发避坑:DROP TABLE 前你必须知道的几件事
  • 【题解】洛谷P1776 宝物筛选 [单调队列优化多重背包]
  • 2.插值法
  • 【C++】深入浅出:string类模拟实现全解析
  • maven scope=provided || optional=true会打包到jar文件中吗?
  • 资产管理还靠Excel?深度体验系统如何让企业高效数字化升级!
  • 机器学习从入门到精通 - 机器学习调参终极手册:网格搜索、贝叶斯优化实战
  • CVE-2025-6507(CVSS 9.8):H2O-3严重漏洞威胁机器学习安全
  • net9 aspose.cell 自定义公式AbstractCalculationEngine,带超链接excel转html后背景色丢失
  • 原创未发表!POD-PINN本征正交分解结合物理信息神经网络多变量回归预测模型,Matlab实现
  • LightDock:高效蛋白质-DNA对接框架
  • 小白成长之路-develops -jenkins部署lnmp平台
  • GPT在嵌入式代码设计与硬件PCB设计中的具体应用
  • Git或TortoiseGit的小BUG(可解决):空库报错Could not get hash of ““
  • Android Handler 消息循环机制
  • Python基础(⑨Celery 分布式任务队列)
  • 【计算机科学与应用】基于FME的自动化数据库建设方法及应用实践
  • 产线自动化效率上不去?打破设备和平台的“数据孤岛”是关键!
  • R-4B: 通过双模退火与强化学习激励多模态大语言模型的通用自主思考能力