- 博客(392)
- 收藏
- 关注
原创 BambuStudio学习笔记:semver
**semver** 是用于处理 **语义化版本规范(SemVer 2.0)** 的跨语言库集合,提供版本号解析、比较、约束匹配等功能。常用于包管理工具(如npm、Cargo)、CI/CD版本验证及依赖关系解析等场景。
2025-05-23 08:27:45
87
原创 BambuStudio学习笔记:Qhull
**Qhull** 是一个开源的**计算几何算法库**,主要用于高维空间的凸包计算(Convex Hull),并提供Delaunay三角剖分、Voronoi图、半空间交集等几何计算能力。该库基于C语言实现,广泛应用于科学计算、数据分析和3D建模领域。
2025-05-22 08:52:52
130
原创 BambuStudio学习笔记:nlohmann/json
**nlohmann/json** 是一个现代C++实现的 **头文件级JSON解析/生成库**,由Niels Lohmann开发。该库以直观的API设计著称,支持C++11及以上标准,广泛应用于配置文件处理、API数据交换和序列化场景。
2025-05-21 08:24:51
276
原创 BambuStudio学习笔记:NanoSVG
**NanoSVG** 是一个轻量级单文件C/C++库,专注于将 **SVG矢量图形** 解析为顶点数据集合。其设计目标是为实时渲染提供简化的SVG解析能力,常用于游戏开发、嵌入式GUI系统及可视化工具链。
2025-05-20 08:19:49
119
原创 BambuStudio学习笔记:miniz
**miniz** 是一个轻量级的单文件压缩库,提供 **zlib兼容的Deflate压缩算法** 实现,并支持基本的ZIP/GZIP格式处理。该库以公共领域协议发布,广泛应用于嵌入式系统、游戏开发和低资源环境。
2025-05-19 08:32:05
127
原创 BambuStudio学习笔记:MiniLZO
**MiniLZO** 是 **LZO压缩算法** 的轻量级实现版本,专注于为嵌入式系统或资源受限环境提供高效的实时数据压缩与解压能力。其核心代码仅包含两个C文件(`minilzo.c` 和 `minilzo.h`),适用于对内存和计算资源敏感的场合。
2025-05-17 10:03:09
255
原创 BambuStudio学习笔记:MCut
**MCut** 是一个用于 **3D模型切割与布尔运算** 的开源库,主要应用于计算机图形学、CAD/CAM及3D建模领域。它支持基于平面或复杂曲面进行高效模型切割,并提供高质量的几何操作结果。
2025-05-16 08:21:05
244
原创 BambuStudio学习笔记:libnest2d
libnest2d 是一款专注于二维不规则形状高效排样的开源C++库,主要解决制造业中的材料利用率优化问题,具有以下核心特性:1. **智能嵌套算法**:支持多种启发式算法实现自动排样2. **形状支持**:处理任意多边形及带孔洞形状3. **工艺约束**:支持旋转角度限制、最小间距等生产要求4. **可视化调试**:集成SVG输出用于排样结果验证5. **跨平台**:纯头文件实现,无外部依赖
2025-05-14 08:17:24
655
原创 BambuStudio学习笔记:libigl
libigl 是一款基于C++和Eigen开发的轻量级几何处理库,专注于提供高效、易用的几何算法实现,主要特性包括:1. **简洁API设计**:基于Eigen矩阵运算,提供直观的几何操作接口2. **丰富算法集**:包含网格参数化、变形、曲面重建等核心算法3. **可视化支持**:集成OpenGL/GLFW实现算法结果即时预览4. **学术研究导向**:论文配套算法实现直接可用5. **跨平台支持**:Windows/Linux/macOS全平台兼容
2025-05-13 08:12:55
988
原创 BambuStudio学习笔记:ImGui
Dear ImGui(简称ImGui)是一个专注于高效开发工具集的C++即时模式图形用户界面库,主要特性包括:1. **即时模式架构**:每帧重建UI,无持久状态管理2. **零拷贝集成**:直接与游戏引擎共享内存数据3. **硬件加速渲染**:支持主流图形API(OpenGL/DX/Vulkan/Metal)4. **实时热重载**:界面参数修改即时生效5. **调试优先设计**:内置性能分析工具
2025-05-12 08:19:01
722
原创 BambuStudio学习笔记:HintsToPot
本程序是一个用于自动化提取本地化提示信息的工具,主要实现从INI格式的提示配置文件中提取文本内容,并将其转换为GNU gettext的POT翻译模板格式。通过该工具可以实现:1. **配置解析** - 识别特定格式的[hint:*]配置段落2. **文本提取** - 抓取配置中的提示文本内容3. **模板生成** - 生成符合gettext标准的翻译模板4. **路径处理** - 自动构建输入输出文件路径5. **错误处理** - 完善的错误检测与提示机制
2025-05-10 15:34:46
314
原创 BambuStudio学习笔记:HIDAPI
HIDAPI 是一款跨平台开源库,专为访问 HID(人机接口设备)设计,具有以下核心特性:- **全平台支持**:Windows/Linux/macOS 统一API- **免驱访问**:直接操作USB HID设备- **双模式支持**:同步/异步数据读写- **热插拔检测**:通过事件回调实现(需平台扩展)
2025-05-09 14:08:37
871
原创 BambuStudio学习笔记:glu-libtess
GLU libtess 是OpenGL工具库中的多边形细分模块,主要用于将复杂多边形(包括带孔洞的多边形)三角化为适合GPU渲染的三角形集合。其核心特性包括:- **任意多边形处理**:支持凹多边形、自相交多边形、带孔洞多边形- **多种细分规则**:提供奇偶(Odd Even)和非零环绕数(Non-Zero Winding)规则- **顶点回调机制**:支持自定义顶点数据处理- **内存高效**:增量式内存分配,避免大规模临时存储
2025-05-08 08:21:35
648
原创 BambuStudio学习笔记:Fast_float
Fast_float 是一款高性能的C++字符串到浮点数转换库,由Daniel Lemire团队开发,具有以下核心特性:- **极速解析**:比标准库`std::strtod`快4-10倍- **零依赖**:仅需头文件,支持C++11及以上标准- **精确兼容**:严格遵循IEEE-754标准- **内存安全**:无动态内存分配,防止缓冲区溢出
2025-05-07 08:14:41
289
原创 BambuStudio学习笔记:Expat XML
Expat 是一款基于事件驱动的高性能XML解析器,具有以下核心特性:-式解析**:支持边接收边解析,内存占用恒定(O(1))- **编码支持**:原生支持UTF-8/16/32,自动检测编码格式- **标准兼容**:严格遵循XML 1.0规范- **安全设计**:默认关闭外部实体扩展(防XXE攻击)
2025-05-06 08:45:53
661
原创 BambuStudio学习笔记:Boost
Boost 是由全球C++专家社区维护的高质量开源库集合,具有以下核心特征:- **标准候选库**:23个组件已进入C++标准(如智能指针、线程库)- **跨平台支持**:全面兼容Windows/Linux/macOS及嵌入式系统- **质量认证**:所有库通过严格的同行评审流程- **扩展生态**:超过160个模块覆盖各领域开发需求
2025-04-28 16:15:10
1021
原创 BambuStudio学习笔记:Ankerl
Ankerl 是一组由 Martin Ankerl 开发的高性能 C++ 工具库,主要包含以下两个核心组件:1. **nanobench** 微基准测试框架,专为快速准确的性能测量设计2. **unordered_dense** 高性能哈希表实现,替代标准库的 `std::unordered_map`
2025-04-27 09:11:52
158
原创 BambuStudio学习笔记:AGG
Anti-Grain Geometry (AGG) 是一款高性能的2D图形渲染引擎,专注于以下七大核心领域:1. **矢量图形呈现** - 基于贝塞尔曲线的路径描述系统 - 抗锯齿亚像素精确渲染 - 支持任意变形矩阵(affine transformations)2. **高级颜色控制** - 16位颜色通道深度 - 用户自定义颜色空间(支持RGBA/HSV/Lab等) - 透明度叠加模式(over/under/screen等28种模式)
2025-04-26 14:33:42
386
原创 BambuStudio学习笔记:ADMesh
ADMesh 是一款专注于 STL 文件处理的开源 C 语言库,主要提供以下核心能力:1. **三维网格修复** - 自动修复孔洞缺陷 - 修正非流形边错误 - 统一法线方向调整 - 移除重复/孤立顶点
2025-04-25 08:22:39
208
原创 BambuStudio学习笔记:TextShape
本模块基于Open CASCADE几何内核实现文本到三维网格的转换流程,主要功能包括:1. **字体资源管理**:扫描系统字体并建立字体路径映射2. **文字几何构建**:将文本生成二维轮廓(BRep表示)3. **三维拉伸成型**:将二维轮廓拉伸为三维实体4. **网格转换**:将CAD几何转换为三角网格模型
2025-04-24 08:20:41
995
原创 BambuStudio学习笔记:Optimizer
本头文件定义了一个通用优化器框架,核心组件包括:- **结果容器**:保存优化结果(参数值、得分、状态码)- **边界约束**:定义参数取值范围- **停止条件**:控制优化终止规则- **梯度支持**:可选梯度信息容器- **优化器接口**:模板化基础接口类- **辅助工具**:类型转换和构造辅助函数
2025-04-23 08:39:21
334
原创 BambuStudio学习笔记:NLoptOptimizer
`NLoptOptimizer` 是基于开源库 **NLopt** 实现的多维度非线性优化器,支持全局优化、局部优化及混合策略。其核心特点包括:1. **算法模板化**:通过模板参数选择 NLopt 提供的多种优化算法(如遗传算法、单纯形法)2. **混合优化策略**:支持全局算法+局部算法的级联优化(如 MLSL 算法)3. **梯度自动处理**:能自动识别目标函数是否返回梯度信息4. **RAII 资源管理**:通过包装类安全管理 NLopt 对象生命周期5. **可扩展接口**:方便添加新的
2025-04-23 08:38:45
140
原创 BambuStudio学习笔记:BruteForceOptimizer
`BruteForceOptimizer` 是一个基于暴力搜索(穷举法)的多维参数优化器,通过遍历参数空间中的网格点寻找目标函数的最小值或最大值。适用于低维优化问题。其核心思想是将每个参数维度等分为指定数量的网格点,计算所有可能组合的目标函数值,并根据优化方向(最小化/最大化)选择最佳结果。
2025-04-22 08:34:04
221
原创 BambuStudio学习笔记:VoronoiVisualUtils
本模块基于Boost.Polygon Voronoi图数据结构实现SVG可视化功能,主要用于调试和展示多边形偏移计算过程。核心功能包括无限边裁剪、抛物线边离散化及多图层渲染。
2025-04-21 16:17:59
172
原创 BambuStudio学习笔记:VoronoiUtilsCgal
本类提供基于CGAL库的Voronoi图平面性检测工具,包含两种互补的验证算法,用于确保Voronoi图结构符合几何约束。主要应用于3D打印路径生成前的几何完整性校验。
2025-04-21 16:17:29
139
原创 BambuStudio学习笔记:VoronoiUtils
本模块提供Voronoi图处理工具集,主要用于处理基于线段生成的Voronoi图元数据,支持单元格范围遍历、抛物线离散化等操作。关键功能包括:- **Voronoi单元格分析**:计算围绕线段的梯形单元格范围- **几何转换工具**:坐标类型转换与范围校验- **抛物线离散化**:将Voronoi抛物线边转换为折线近似- **源数据回溯**:通过Voronoi单元反向定位输入几何元素
2025-04-17 08:19:24
296
原创 BambuStudio学习笔记:VoronoiOffset
本模块基于Boost.Polygon生成的Voronoi图实现多边形偏移算法,支持内外轮廓生成及圆弧离散化。核心功能包括Voronoi图元分类、带符号距离计算及偏移轮廓生成,主要应用于3D打印中的轮廓偏移路径规划。
2025-04-16 08:36:53
158
原创 BambuStudio学习笔记:Voronoi
本类封装了Boost.Polygon库的Voronoi图算法,提供对点集和线段集的Voronoi图生成功能,支持错误检测与修复机制。主要应用于多边形中轴生成、3D打印路径规划等领域。关键特性包括:- **多输入类型支持**:支持点集、线段集混合输入生成Voronoi图- **错误诊断机制**:可检测非平面图、缺失顶点等常见问题- **修复能力**:通过旋转输入等方式尝试修复损坏的Voronoi图- **数据访问接口**:提供标准化容器访问方式
2025-04-15 10:59:52
244
原创 BambuStudio学习笔记:MedialAxis
本类用于从多边形(含孔洞)中生成**中位线(Medial Axis**,并根据宽度阈值筛选有效骨架边缘。通过计算Voronoi图并对其边缘进行标注处理,最终输出带有宽度信息的厚多段线(ThickPolylines)或普通多段线。主要应用于3D打印路径规划中生成填充结构。
2025-04-15 10:59:35
368
原创 BambuStudio学习笔记:Curves
该头文件提供了多项式曲线拟合与分段曲线拟合的模板类及方法,适用于不同维度(如2D、3D)的数值类型。
2025-04-15 10:59:18
118
原创 BambuStudio学习笔记:ConvexHull
该头文件提供二维凸包计算及相关几何操作功能,支持点集、多边形、扩展多边形及多线段的凸包生成,同时包含凸多边形相交检测和快速点包含判断算法。核心算法基于单调链分解和二分查找优化。
2025-04-15 10:59:03
256
原创 BambuStudio学习笔记:Circle
该头文件实现了二维圆相关的几何计算功能,包含外接圆计算、最小包围圆算法、圆拟合方法(Taubin-Newton/RANSAC)以及射线与圆交点计算。核心数据结构基于Eigen向量模板,提供两种圆表示形式(普通半径和平方半径)。
2025-04-15 10:58:32
734
原创 BambuStudio学习笔记:Bicubic
该头文件实现了多种插值算法(线性、Catmul-Rom、B样条),提供了一维和二维的双三次插值功能。通过模板化的设计,支持不同插值核的灵活切换,核心算法基于Eigen矩阵库进行高效数值计算。
2025-04-15 10:58:17
376
原创 BambuStudio学习笔记:WipeTower
`WipeTower` 类用于管理3D打印过程中的擦料塔功能。擦料塔在多层打印中用于换色或更换材料时清洁喷嘴,避免颜色污染和拉丝。该类负责计算擦料塔的位置、尺寸,生成相应的G代码,并管理不同工具(挤出机)之间的切换逻辑,包括挤出流量、温度控制、路径规划等。
2025-04-15 10:57:40
530
原创 BambuStudio学习笔记:ToolOrdering
该模块主要管理3D打印过程中**多挤出机工具切换顺序**,核心目标是**最小化工具切换次数**。包含三个关键类:• **WipingExtrusions**:管理擦拭路径逻辑,处理挤出后的材料擦拭操作• **LayerTools**:存储单层打印所需的所有工具信息• **ToolOrdering**:全局工具调度器,优化跨层工具使用顺序三类协作关系:```ToolOrdering ──管理──> LayerTools ──包含──> WipingExtrusions
2025-04-15 10:57:31
214
原创 BambuStudio学习笔记:ThumbnailData
`ThumbnailData` 类是用于管理缩略图像素数据的工具类,主要功能包括:- 存储缩略图的 **宽度、高度、像素数据**- 提供初始化/重置尺寸、验证数据有效性等操作- 默认生成白色背景的 RGBA 格式纹理适用于需要动态生成或修改图像缩略图的场景(如3D打印预览图生成)。
2025-04-15 10:57:20
113
原创 BambuStudio学习笔记:SpiralVase
该C++类用于实现3D打印中的"螺旋花瓶模式",通过在Z轴方向持续渐变抬升替代传统的分层打印。核心功能包括:1. 将传统分层G代码转换为连续螺旋运动2. 支持平滑的XY平面过渡(可选)3. 首末层挤出量渐变过渡4. G代码解析与重构5. 基于几何运算的路径优化
2025-04-15 10:57:00
182
原创 BambuStudio学习笔记:SeamPlacer
`SeamPlacer` 是 Slic3r 中用于处理 3D 打印接缝位置的核心类。接缝是每一层打印路径的起点和终点,其位置直接影响打印质量和外观。该类根据用户配置的接缝策略(如对齐、随机、最尖角等),通过几何计算、可见性分析、悬垂检测和跨层对齐等算法,智能选择最优接缝位置。
2025-04-15 10:56:32
852
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人