Merge branch 'SoftFever' into feature/wall_order

This commit is contained in:
SoftFever 2022-11-19 23:05:15 +08:00
commit 88c0fea06f
7 changed files with 47 additions and 12 deletions

View file

@ -7,6 +7,25 @@ You can download it here: https://github.com/SoftFever/BambuStudio-SoftFever/rel
## BambuStudio SoftFever change notes: ## BambuStudio SoftFever change notes:
### [V1.3.3 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.3):
1. Improve top surface quality.
Fix a bug that internal solid infills didn't use monotonic when top surface is using monotonic lines
2. New feature: filter out tiny gaps.
Note: for aesthetic considerations, this setting won't affect top/bottom layers. In other words, gap fills that can be seen from outside won't be filtered out
3. PA(pressure advance) now support multi-color printing. A new PA value from the selected filament profile will be applied whenever there is
a filament/extruder change action. This change only affects multi-color printing.
5. Users can now set float values of layer time in Filament->Cooling tab.
6. Allow to set target bed temp to 0
7. Fix a bug that layer number is not displayed correctly in klipper UIs
8. Force using linear PA model when manual PA override is enabled for Bambu machines
9. Remember the last used filament
10. Skip checking BL network plugin for third-party printers.
### [V1.3.2 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.2-sf):
1. Support device control view for 3rd party printers
2. Port `Small perimeters` feature from PrusaSlicer. I also add an extra option to adjust the small perimeter threshold
You might want to reduce speed for small perimeter parts to prevent failures like bellow:
3. Add fan speed preview mode
4. Fix an issue that print time estimation is inaccurate when `Klipper` g-code style is used.
### [V1.3.1 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.1-sf): ### [V1.3.1 changes](https://github.com/SoftFever/BambuStudio-SoftFever/releases/tag/v1.3.1-sf):
1. Support change bed size and nozzle diameter 1. Support change bed size and nozzle diameter
2. Allow users to specify the bridge infill direction 2. Allow users to specify the bridge infill direction
@ -56,11 +75,14 @@ You can download it here: https://github.com/SoftFever/BambuStudio-SoftFever/rel
Demo video: https://youtu.be/vSNE9iGj2II Demo video: https://youtu.be/vSNE9iGj2II
## NOTE: ## NOTE:
## - If you have troubles to run the build, you might need to install following runtimes: ## 1. For Apple M1 users, please take a look at this [article](https://www.howtogeek.com/803598/app-is-damaged-and-cant-be-opened/ ) about how to run unsigned applications on your machine. Or better, you can build it from the source codes if you want:)
Apple requires a subscription(costs 99$ yearly) for developers to sign their app. I don't do a lot of dev work on Mac, and this is a nonprofit open-source project, so I decided not to pay the money ;)
## 2. If you have troubles to run the build, you might need to install following runtimes:
- [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe) - [MicrosoftEdgeWebView2RuntimeInstallerX64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/MicrosoftEdgeWebView2RuntimeInstallerX64.exe)
- [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe) - [vcredist2019_x64](https://github.com/SoftFever/BambuStudio-SoftFever/releases/download/v1.0.10-sf2/vcredist2019_x64.exe)
## - BambuStudio use G2/G3 commands by default. You need to turn on ARC support in your printer's firmware use with this slicer. ## 3. BambuStudio use G2/G3 commands by default. You need to turn on ARC support in your printer's firmware use with this slicer.
- For Voron and any Klipper based printers: - For Voron and any Klipper based printers:
You can enable gcode_arcs(G2/G3) support by adding following section into you printer.cfg file: You can enable gcode_arcs(G2/G3) support by adding following section into you printer.cfg file:
``` ```

Binary file not shown.

View file

@ -1150,7 +1150,7 @@ ConfigSubstitutions ConfigBase::load_from_gcode_file(const std::string &file, Fo
bool end_found = false; bool end_found = false;
std::string line; std::string line;
while (std::getline(ifs, line)) while (std::getline(ifs, line))
if (line == "; CONFIG_BLOCK_START") { if (line.rfind("; CONFIG_BLOCK_START",0)==0) {
begin_found = true; begin_found = true;
break; break;
} }
@ -1160,7 +1160,7 @@ ConfigSubstitutions ConfigBase::load_from_gcode_file(const std::string &file, Fo
} }
std::string key, value; std::string key, value;
while (std::getline(ifs, line)) { while (std::getline(ifs, line)) {
if (line == "; CONFIG_BLOCK_END") { if (line.rfind("; CONFIG_BLOCK_END",0)==0) {
end_found = true; end_found = true;
break; break;
} }

View file

@ -1306,6 +1306,8 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
#if ENABLE_GCODE_VIEWER_DATA_CHECKING #if ENABLE_GCODE_VIEWER_DATA_CHECKING
m_last_mm3_per_mm = 0.; m_last_mm3_per_mm = 0.;
#endif // ENABLE_GCODE_VIEWER_DATA_CHECKING #endif // ENABLE_GCODE_VIEWER_DATA_CHECKING
m_writer.set_is_bbl_machine(is_bbl_printers);
// How many times will be change_layer() called? // How many times will be change_layer() called?
// change_layer() in turn increments the progress bar status. // change_layer() in turn increments the progress bar status.

View file

@ -214,12 +214,16 @@ std::string GCodeWriter::set_pressure_advance(double pa) const
std::ostringstream gcode; std::ostringstream gcode;
if (pa < 0) if (pa < 0)
return gcode.str(); return gcode.str();
if(m_is_bbl_printers){
if (FLAVOR_IS(gcfKlipper)) //SoftFever: set L1000 to use linear model
gcode << "SET_PRESSURE_ADVANCE ADVANCE=" << std::setprecision(4) << pa << "; Override pressure advance value\n"; gcode << "M900 K" <<std::setprecision(4)<< pa << " L1000 M10 ; Override pressure advance value\n";
else }
gcode << "M900 K" <<std::setprecision(4)<< pa << "; Override pressure advance value\n"; else{
if (FLAVOR_IS(gcfKlipper))
gcode << "SET_PRESSURE_ADVANCE ADVANCE=" << std::setprecision(4) << pa << "; Override pressure advance value\n";
else
gcode << "M900 K" <<std::setprecision(4)<< pa << "; Override pressure advance value\n";
}
return gcode.str(); return gcode.str();
} }

View file

@ -91,6 +91,10 @@ public:
bool is_current_position_clear() const { return m_is_current_pos_clear; }; bool is_current_position_clear() const { return m_is_current_pos_clear; };
//BBS: //BBS:
static const bool full_gcode_comment; static const bool full_gcode_comment;
//SoftFever
void set_is_bbl_machine(bool bval) {m_is_bbl_printers = bval;}
const bool is_bbl_printers() const {return m_is_bbl_printers;}
private: private:
// Extruders are sorted by their ID, so that binary search is possible. // Extruders are sorted by their ID, so that binary search is possible.
@ -129,7 +133,10 @@ private:
//Radian threshold of slope for lazy lift and spiral lift; //Radian threshold of slope for lazy lift and spiral lift;
static const double slope_threshold; static const double slope_threshold;
//SoftFever
bool m_is_bbl_printers = false;
std::string _travel_to_z(double z, const std::string &comment); std::string _travel_to_z(double z, const std::string &comment);
std::string _spiral_travel_to_z(double z, const Vec2d &ij_offset, const std::string &comment); std::string _spiral_travel_to_z(double z, const Vec2d &ij_offset, const std::string &comment);
std::string _retract(double length, double restart_extra, const std::string &comment); std::string _retract(double length, double restart_extra, const std::string &comment);

View file

@ -11,4 +11,4 @@ if(NOT DEFINED BBL_INTERNAL_TESTING)
set(BBL_INTERNAL_TESTING "1") set(BBL_INTERNAL_TESTING "1")
endif() endif()
set(SLIC3R_VERSION "01.03.00.25") set(SLIC3R_VERSION "01.03.00.25")
set(SoftFever_VERSION "1.3.3 beta3") set(SoftFever_VERSION "1.3.3")