摘要: 八、网格剖分与轻量化 核心概念区分: BRep(B‑Rep):参数化精确边界表达,存储曲线曲面方程,用于布尔、倒角、几何计算;不能直接给显卡渲染,也不能直接输出STL。 三角网格:离散的三角形面片,是近似表示;用于显卡显示、STL导出、仿真软件输入;网格丢失原始NURBS/解析曲面方程,网格不能拿来 阅读全文
posted @ 2026-08-26 08:53 Drunker•L 阅读(63) 评论(0) 推荐(0)
摘要: OCCT(Open CASCADE)全套系统学习大纲(从零到工程实战) 本大纲适配零基础入门到工程落地,遵循先基础、再核心、后实操、最终商业化落地的学习逻辑,剔除零散无效知识点,聚焦 OCCT 核心建模、数据结构、算法、开发实战。后续所有课程内容均严格对应本大纲章节。 修订说明(v2):相对初版新增 阅读全文
posted @ 2026-08-24 16:18 Drunker•L 阅读(63) 评论(0) 推荐(0)
摘要: 第一部分:前置基础与OCCT整体认知(小白版) 目标:搞懂OCCT到底是干什么的,不用写代码,建立整体概念。 适合小白:避开晦涩术语,遇到专有名词我会直接解释。 1.1 OCCT是什么 OCCT全称 Open CASCADE Technology,是一套开源的三维CAD几何内核库。 通俗解释 什么叫 阅读全文
posted @ 2026-08-24 16:18 Drunker•L 阅读(75) 评论(0) 推荐(1)
摘要: 第三部分:OCCT数学与几何核心基础 章节目标:吃透 TKMath、基础几何,看懂点、向量、变换、容差,理解曲线曲面;所有示例代码看懂即可,实操等后面再补。 分为两块:3.1 TKMath数学模块;3.2 几何曲线曲面模块(TKG3d/TKGeom) 3.1 TKMath 数学核心模块 头文件都以 阅读全文
posted @ 2026-08-24 16:18 Drunker•L 阅读(34) 评论(0) 推荐(0)
摘要: 第四部分:拓扑与BRep核心体系(OCCT灵魂) 本章节是OCCT最难、最核心的部分。 前面gp是数学数值,Geom是曲线曲面数学定义;B‑Rep(边界表达)把几何加上拓扑连接关系,才产生可以用来做布尔、拉伸、倒角的模型。 目标:搞懂7种拓扑形体、方向、几何‑拓扑关系、拓扑遍历。 4.1 拓扑7层实 阅读全文
posted @ 2026-08-24 16:18 Drunker•L 阅读(41) 评论(0) 推荐(1)
摘要: 第五部分:基础参数化建模算法 前面把BRep底层、gp/Geom/TopoDS讲完,现在看OCCT的建模API,就知道每个输入输出到底是什么。 OCCT生成实体的核心分为:基础图元、扫掠类(拉伸、旋转)、放样、布尔运算。 一、基础体元生成器(Primitive) 头文件:BRepPrimAPI_Ma 阅读全文
posted @ 2026-08-24 16:18 Drunker•L 阅读(37) 评论(0) 推荐(0)
摘要: 第六部分 OCAF(Open CASCADE Application Framework)第一讲 前置背景:前面我们一直直接操作TopoDS_Shape,只有纯几何BRep数据。 OCAF是OCCT的应用数据管理框架,不是几何建模器,它不生成模型,专门用来管:几何+参数+名字+颜色+装配+撤销重做+ 阅读全文
posted @ 2026-08-24 16:18 Drunker•L 阅读(37) 评论(1) 推荐(0)
摘要: 七、高级建模与曲面优化(进阶能力) 前置说明:前面学的方块、圆柱、圆锥属于解析曲面(平面、圆柱面、球面,有固定数学公式);本章主要处理自由曲面(NURBS/B‑Spline),工业软件做外观件、逆向、修补破洞都会大量用到。 重点区分: 解析曲面:Geom_Plane、Geom_Cylindrical 阅读全文
posted @ 2026-08-24 16:18 Drunker•L 阅读(46) 评论(1) 推荐(0)
摘要: VTK学习完整大纲 定位:面向C++开发工业三维软件,从基础概念→数据模型→管线→渲染→交互→实战项目→性能调优,循序渐进。后续我们按这个大纲一节一节往下学。 第一阶段:VTK基础认知(入门) VTK是什么、应用场景、核心能力、版本选择 VTK核心思想:可视化管线(Pipeline)整体理解 编译部 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(31) 评论(0) 推荐(0)
摘要: #include <vtkSphereSource.h> #include <vtkPolyDataMapper.h> #include <vtkActor.h> #include <vtkRenderer.h> #include <vtkRenderWindow.h> #include <vtkR 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(16) 评论(0) 推荐(0)
摘要: 第二阶段 VTK数据模型 重点:VTK所有可视化,本质就是处理各类数据集。管线里Source输出、Filter输入输出全都是数据集。看不懂数据结构,Filter、读取模型文件都会一头雾水。 2.1 基类 vtkDataSet vtkDataSet 是所有数据集的父类,所有数据子类都继承它: vtkP 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(22) 评论(0) 推荐(0)
摘要: 第三阶段 VTK可视化管线实战:Source、Filter、材质渲染模式 前面已经懂管线整体流程、vtkPolyData数据结构。本阶段重点:Source、Filter怎么串联,常用过滤器,修改物体外观(颜色、线框、透明度)。 回顾管线核心链条: Source → Filter(可0个或多个) → 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(10) 评论(0) 推荐(0)
摘要: 第四阶段:交互与拾取 前面我们只会写死窗口,模型只能默认左键旋转、滚轮缩放。本阶段搞懂:交互器样式、拾取(鼠标点击拿到点ID /面片ID)、选中高亮。 4.1 交互核心对象回顾 vtkRenderWindowInteractor interactor; // 交互总入口:接收鼠标键盘消息 vtkIn 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(20) 评论(0) 推荐(0)
摘要: VTK综合实战Demo:简易模型查看器 把前面学过的全部知识点串起来:文件读取Source → Filter预处理 → 渲染管线 → 鼠标拾取回调 → IO导出保存。 功能清单: 读取stl模型(Reader属于Source) Filter做网格清理 完整渲染交互 鼠标左键拾取面片,打印面片ID、交 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(13) 评论(0) 推荐(0)
摘要: 第七部分:几何处理Filter实战(工业软件高频) 前面已经懂Filter通用机制:输入数据集,输出新数据集,Update触发计算。 这里全部是做三维CAD后处理、模型预览、仿真前处理最常用的一批Filter,讲清楚用途、典型场景、坑点,附带最简代码片段。 分为4大类:法向量处理、裁剪切片、网格合并 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(18) 评论(0) 推荐(0)
摘要: 第八部分:标注、坐标轴、辅助渲染 VTK本身三维几何只管面片、线、点;工程软件里的坐标轴、标尺、文字标注、颜色条、辅助网格,都属于场景辅助对象,不参与几何计算,只做视觉展示。 注意:这些辅助Actor和零件Actor是平级,都加到Renderer里面;不属于模型PolyData,不会被拾取当成零件。 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(21) 评论(0) 推荐(0)
摘要: VTK+Qt集成学习(第九阶段) 背景:之前写的全部是控制台独立vtk程序;工业软件不会这么用,三维视图必须嵌入Qt窗口。 核心组件:QVTKRenderWindowInteractor,VTK官方提供的Qt封装控件,把vtkRenderWindow嵌入Qt Widget。 ⚠️版本提醒:VTK9. 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(27) 评论(0) 推荐(0)
摘要: 第十阶段:进阶,回调、观察者机制 Observer(vtkCommand / AddObserver) VTK整套交互、事件通知全部基于观察者模式。 鼠标拾取、Filter进度、窗口渲染事件、键盘按键,全部靠这套机制。 对比Qt信号槽:Qt是Qt自己的事件体系;VTK有独立的事件回调体系,两者不能直 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(20) 评论(0) 推荐(0)
摘要: Update / Modified / MTime 管线惰性更新机制 VTK流水线是惰性求值:不会改一点就立刻计算,等到真正需要结果的时候才去执行。 核心三要素:Modified()、MTime、Update(),结合上一节讲的观察者ModifiedEvent一起工作。 1. MTime(Modif 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(17) 评论(0) 推荐(0)
摘要: 网格划分(Tessellation曲面细分)底层原理 先分清两个名词,工业CAD里很容易混淆: Tessellation(曲面离散/网格化):把B‑Rep的解析曲面(球面、NURBS曲面)切成三角面片,给渲染显示用,就是OCCT给VTK喂三角数据的这个过程,我们现在讲的就是这个。 有限元网格划分(F 阅读全文
posted @ 2026-08-24 16:11 Drunker•L 阅读(30) 评论(0) 推荐(0)