BambuStudio学习笔记:Extruder 类

ops/2025/3/6 19:08:02/

Extruder 类文档

概述

Extruder 类用于管理3D打印过程中的挤出机状态,包括挤出量计算、回抽操作、耗材统计等功能。支持多挤出机配置及共享挤出机模式。

头文件

#ifndef slic3r_Extruder_hpp_
#define slic3r_Extruder_hpp_
// ...
#endif

成员函数

构造函数

Extruder(unsigned int id, GCodeConfig *config, bool share_extruder)
  • 功能:初始化挤出机对象
  • 参数
    • id: 挤出机唯一标识
    • config: G代码配置指针
    • share_extruder: 是否共享挤出机模式

核心方法

reset()
void reset()
  • 功能:重置挤出机状态
  • 重置内容
    • 共享模式:重置共享E值和回抽量
    • 独立模式:重置E值、回抽量、额外重启量
    • 始终重置绝对E值
extrude()
double extrude(double dE)
  • 功能:执行挤出操作
  • 参数dE - 相对挤出量
  • 返回值:实际挤出量
  • 说明:更新E值和绝对E值
回抽控制
double retract(double length, double restart_extra)
double unretract()
  • retract():执行回抽
    • 参数:length 回抽长度,restart_extra 额外重启量
    • 返回值:实际回抽量
  • unretract():取消回抽
    • 返回值:取消回抽后的重启量

状态获取

方法说明
double E() const获取当前E值(共享/独立模式自动处理)
double extruded_volume() const计算已挤出耗材体积(mm³)
double used_filament() const计算已使用耗材长度(mm)

耗材属性

方法说明单位
filament_diameter()耗材直径mm
filament_density()耗材密度g/cm³
filament_cost()耗材成本单位长度成本
retract_before_wipe()擦拭前回抽长度mm
retraction_length()回抽长度mm

操作符重载

操作符说明
==ID相等比较
!=ID不等比较
< >ID大小比较

重要成员变量

变量类型说明
m_share_extruderbool共享挤出机模式标志
m_share_Estatic double共享模式下的E值
m_e_per_mm3double每立方毫米耗材对应的E步长

使用示例

// 创建挤出机(ID=0,使用配置,非共享模式)
Extruder extruder(0, &config, false);// 执行挤出
extruder.extrude(10.5);// 执行回抽
extruder.retract(2.0, 0.5);// 获取耗材使用量
double used = extruder.used_filament();

设计说明

  1. 共享模式支持:通过静态变量实现多实例共享挤出状态
  2. 单位统一:所有长度单位为毫米,体积为立方毫米
  3. 状态管理:独立维护绝对E值用于耗材统计
  4. 配置解耦:通过GCodeConfig指针获取机器参数

注意事项

  • 在共享模式下修改E值会影响所有共享该挤出机的实例
  • 回抽相关参数应从GCodeConfig获取最新配置
  • 重置操作会清除所有累积的挤出量统计

http://www.ppmy.cn/ops/163673.html

相关文章

在Ubuntu上搭建Samba服务,实现与windows之间的文件共享

1.安装samba 首先切换为root账户&#xff0c;就是带#符号的表示当前登录的是root超级用户&#xff1b; su - 如果忘记密码&#xff0c;就输入以下命令修改密码 sudo passwd root 再切换为超级用户 然后进行更新软件列表 sudo apt update sudo apt install samba安装 whe…

《2025软件测试工程师面试》功能测试篇

什么是功能测试? 功能测试是通过验证产品功能是否满足用户需求的过程,主要关注软件的功能是否符合需求规格说明,包括软件的各种功能、特性、性能、安全性和易用性等。 功能测试的流程包括哪些步骤? 需求分析:明确软件需求,确定测试范围。测试计划:制定详细的测试计划,…

大模型——打造自己的AI搜索引擎

大模型系列——打造自己的AI搜索引擎 你可能听说过 Perplexity,这是一个引起轰动的 AI 搜索引擎,但它是收费的。本文介绍使用开源 AI工具创建本地 Perplexity 的替代方案。 你可能听说过 Perplexity,这是一个引起轰动的 AI 搜索引擎。与传统搜索相比,它提供简洁、综合的查…

游戏引擎学习第132天

记录一下使用 Git 提交模板&#xff08;Git Commit Template&#xff09; 因为提交太多每次提交太累之前用插件也很繁琐 查找了好久其实就一个命令就行&#xff0c; git config --global commit.template <模板文件路径>举例 根据这个于是可通过笔记 当前笔记保存时自…

sqli-labs靶场通关

一.less-16 1.寻找注入点 发现url无法回显 构造闭合无论 还是 "都没有任何反应 最后发现闭合符号为")时成功登录 没有回显使用盲注 2.爆数据库 12") or (length(database()))8# 爆出数据库长度 获取数据库名&#xff0c;第一个字母的ascii码值 12") …

文件上传漏洞与phpcms漏洞安全分析

目录 1. 文件上传漏洞简介 2. 文件上传漏洞的危害 3. 文件上传漏洞的触发条件 1. 文件必须能被服务器解析执行 2. 上传目录必须支持代码执行 3. 需要能访问上传的文件 4. 例外情况&#xff1a;非脚本文件也可能被执行 4. 常见的攻击手法 4.1 直接上传恶意文件 4.2 文件…

Armbian: 轻量级 ARM 设备专用 Linux 发行版全面解析

引言 在嵌入式开发和物联网&#xff08;IoT&#xff09;领域&#xff0c;选择合适的操作系统至关重要。对于 Raspberry Pi、Orange Pi、Banana Pi 以及 Rockchip、Amlogic、Allwinner 等 ARM 平台上的单板计算机&#xff08;SBC&#xff09;&#xff0c;一个高效、轻量级并且易…

【深度学习】—— 深入 Keras:从基础到实战的深度学习指南 第5~8章 共12章

第 5 章&#xff1a;函数式模型&#xff08;Functional&#xff09; 5.1 函数式模型的优势与适用场景 5.1.1 函数式模型与序贯模型的对比 函数式模型和序贯模型都是 Keras 中构建神经网络的重要方式&#xff0c;但二者存在显著差异。序贯模型如同一条线性的流水线&#xff0…