Merge branch 'SoftFever:main' into main

This commit is contained in:
fr3ak2402 2023-04-24 11:11:36 +02:00 committed by GitHub
commit 5da73cab0f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 97 additions and 88 deletions

View File

@ -1,6 +1,6 @@
{
"name": "FLSun",
"version": "01.06.00.00",
"version": "01.06.00.02",
"force_update": "0",
"description": "FLSun configurations",
"machine_model_list": [

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

View File

@ -5,7 +5,7 @@
"nozzle_diameter": "0.4",
"machine_tech": "FFF",
"family": "FLSun",
"bed_model": "",
"bed_model": "V400_bed.stl",
"bed_texture": "V400.svg",
"hotend_model": "",
"default_materials": "FLSun Generic ABS;FLSun Generic PLA;FLSun Generic PLA-CF;FLSun Generic PETG;FLSun Generic TPU;FLSun Generic ASA;FLSun Generic PC;FLSun Generic PVA;FLSun Generic PA;FLSun Generic PA-CF"

View File

@ -17,56 +17,56 @@
"5000"
],
"machine_max_acceleration_extruding": [
"2000",
"2000"
"20000",
"20000"
],
"machine_max_acceleration_retracting": [
"5000",
"5000"
],
"machine_max_acceleration_travel": [
"3000",
"3000"
"20000",
"20000"
],
"machine_max_acceleration_x": [
"2000",
"2000"
"20000",
"20000"
],
"machine_max_acceleration_y": [
"2000",
"2000"
"20000",
"20000"
],
"machine_max_acceleration_z": [
"300",
"200"
"500",
"500"
],
"machine_max_speed_e": [
"25",
"25"
"30",
"30"
],
"machine_max_speed_x": [
"300",
"200"
"1000",
"1000"
],
"machine_max_speed_y": [
"300",
"200"
"1000",
"1000"
],
"machine_max_speed_z": [
"12",
"12"
"20",
"20"
],
"machine_max_jerk_e": [
"2.5",
"2.5"
],
"machine_max_jerk_x": [
"9",
"9"
"12",
"12"
],
"machine_max_jerk_y": [
"9",
"9"
"12",
"12"
],
"machine_max_jerk_z": [
"0.2",

View File

@ -5,15 +5,24 @@
"from": "system",
"instantiation": "true",
"inherits": "fdm_process_common",
"initial_layer_speed": "40",
"initial_layer_infill_speed": "50",
"outer_wall_speed": "35",
"inner_wall_speed": "60",
"sparse_infill_speed": "200",
"outer_wall_speed": "120",
"inner_wall_speed": "200",
"sparse_infill_speed": "250",
"internal_solid_infill_speed": "200",
"top_surface_speed": "50",
"gap_infill_speed": "40",
"travel_speed": "180",
"default_acceleration": "7000",
"default_jerk": "9",
"gap_infill_speed": "200",
"initial_layer_acceleration": "1000",
"initial_layer_infill_speed": "100",
"initial_layer_speed": "50",
"inner_wall_acceleration": "7000",
"is_custom_defined": "0",
"outer_wall_acceleration": "4000",
"overhang_1_4_speed": "80",
"top_surface_acceleration": "3000",
"top_surface_speed": "200",
"travel_acceleration": "7000",
"travel_speed": "400",
"compatible_printers": [
"FLSun V400 0.4 nozzle"
]

View File

@ -1,6 +1,6 @@
{
"name": "Vzbot",
"version": "01.00.00.00",
"version": "01.06.00.00",
"force_update": "0",
"description": "Vzbot configurations",
"machine_model_list": [

View File

@ -6,7 +6,6 @@
"instantiation": "true",
"inherits": "fdm_process_Vzbot_common_0.5_nozzle",
"layer_height": "0.24",
"top_surface_line_width": "0.45",
"bottom_shell_layers": "3",
"top_shell_layers": "4"
}

View File

@ -6,7 +6,6 @@
"instantiation": "true",
"inherits": "fdm_process_Vzbot_common_0.6_nozzle",
"layer_height": "0.24",
"top_surface_line_width": "0.45",
"bottom_shell_layers": "3",
"top_shell_layers": "4"
}

View File

@ -6,7 +6,7 @@
"instantiation": "true",
"inherits": "fdm_process_Vzbot_common",
"layer_height": "0.28",
"top_surface_line_width": "0.45",
"top_surface_line_width": "0.52",
"bottom_shell_layers": "3",
"top_shell_layers": "4"
}

View File

@ -6,7 +6,6 @@
"instantiation": "true",
"inherits": "fdm_process_Vzbot_common",
"layer_height": "0.28",
"top_surface_line_width": "0.45",
"bottom_shell_layers": "3",
"top_shell_layers": "4"
}

View File

@ -85,7 +85,7 @@
"tree_support_wall_count": "0",
"detect_thin_wall": "0",
"top_surface_pattern": "monotonic",
"top_surface_line_width": "0.55",
"top_surface_line_width": "0.52",
"top_shell_layers": "3",
"top_shell_thickness": "0.8",
"initial_layer_speed": "120",

View File

@ -61,7 +61,7 @@
"support_threshold_angle": "40",
"support_object_xy_distance": "0.5",
"detect_thin_wall": "0",
"top_surface_line_width": "0.55",
"top_surface_line_width": "0.52",
"top_surface_speed": "30",
"travel_speed": "400",
"enable_prime_tower": "0",

View File

@ -2812,15 +2812,12 @@ GCode::LayerResult GCode::process_layer(
//BBS
if (first_layer) {
//BBS: set first layer global acceleration
if (m_config.default_acceleration.value > 0 && m_config.initial_layer_acceleration.value > 0) {
double acceleration = m_config.initial_layer_acceleration.value;
gcode += m_writer.set_acceleration((unsigned int)floor(acceleration + 0.5));
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.initial_layer_acceleration.value + 0.5));
}
if (m_config.default_jerk.value > 0 && m_config.initial_layer_jerk.value > 0) {
double jerk = m_config.initial_layer_jerk.value;
gcode += m_writer.set_jerk_xy(jerk);
gcode += m_writer.set_jerk_xy(m_config.initial_layer_jerk.value);
}
}
@ -2841,16 +2838,14 @@ GCode::LayerResult GCode::process_layer(
gcode += this->unretract();
}
}
//BBS: reset acceleration at sencond layer
if (m_config.default_acceleration.value > 0 && m_config.initial_layer_acceleration.value > 0) {
double acceleration = m_config.default_acceleration.value;
gcode += m_writer.set_acceleration((unsigned int)floor(acceleration + 0.5));
}
// BBS: reset acceleration at sencond layer
if (m_config.default_acceleration.value > 0 && m_config.initial_layer_acceleration.value > 0) {
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.default_acceleration.value + 0.5));
}
if (m_config.default_jerk.value > 0 && m_config.initial_layer_jerk.value > 0) {
double jerk = m_config.default_jerk.value;
gcode += m_writer.set_jerk_xy(jerk);
}
if (m_config.default_jerk.value > 0 && m_config.initial_layer_jerk.value > 0) {
gcode += m_writer.set_jerk_xy(m_config.default_jerk.value);
}
// Transition from 1st to 2nd layer. Adjust nozzle temperatures as prescribed by the nozzle dependent
// nozzle_temperature_initial_layer vs. temperature settings.
@ -3605,7 +3600,8 @@ std::string GCode::extrude_multi_path(ExtrusionMultiPath multipath, std::string
//BBS: don't reset acceleration when printing first layer. During first layer, acceleration is always same value.
if (!this->on_first_layer()) {
// reset acceleration
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.default_acceleration.value + 0.5));
if (m_config.default_acceleration.value > 0)
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.default_acceleration.value + 0.5));
if(m_config.default_jerk.value > 0)
gcode += m_writer.set_jerk_xy(m_config.default_jerk.value);
}
@ -3636,7 +3632,8 @@ std::string GCode::extrude_path(ExtrusionPath path, std::string description, dou
//BBS: don't reset acceleration when printing first layer. During first layer, acceleration is always same value.
if (!this->on_first_layer()){
// reset acceleration
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.default_acceleration.value + 0.5));
if (m_config.default_acceleration.value > 0)
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.default_acceleration.value + 0.5));
if(m_config.default_jerk.value > 0)
gcode += m_writer.set_jerk_xy(m_config.default_jerk.value);
@ -4205,28 +4202,19 @@ std::string GCode::travel_to(const Point &point, ExtrusionRole role, std::string
// SoftFever
if (this->on_first_layer()) {
if (m_config.default_acceleration.value > 0) {
auto accel = (unsigned int)floor(m_config.initial_layer_acceleration.value + 0.5);
if (accel > 0)
gcode += m_writer.set_acceleration(accel);
if (m_config.default_acceleration.value > 0 && m_config.initial_layer_acceleration.value > 0) {
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.initial_layer_acceleration.value + 0.5));
}
if (m_config.default_jerk.value > 0) {
auto jerk = m_config.initial_layer_jerk.value;
if (jerk > 0)
gcode += m_writer.set_jerk_xy(jerk);
if (m_config.default_jerk.value > 0 && m_config.initial_layer_jerk.value > 0) {
gcode += m_writer.set_jerk_xy(m_config.initial_layer_jerk.value);
}
}
else
{
if(m_config.default_jerk.value > 0)
{
auto jerk = m_config.travel_jerk.value;
auto accel = (unsigned int)floor(m_config.travel_acceleration.value + 0.5);
if(jerk > 0)
gcode += m_writer.set_jerk_xy(jerk);
if(accel > 0)
gcode += m_writer.set_acceleration(accel);
} else {
if (m_config.default_acceleration.value > 0 && m_config.travel_acceleration.value > 0) {
gcode += m_writer.set_acceleration((unsigned int)floor(m_config.travel_acceleration.value + 0.5));
}
if (m_config.default_jerk.value > 0 && m_config.travel_jerk.value > 0) {
gcode += m_writer.set_jerk_xy(m_config.travel_jerk.value);
}
}
// if a retraction would be needed, try to use reduce_crossing_wall to plan a

View File

@ -9,16 +9,30 @@ namespace Slic3r {
calib_pressure_advance::calib_pressure_advance(GCode* gcodegen) :mp_gcodegen(gcodegen), m_length_short(20.0), m_length_long(40.0), m_space_y(3.5), m_line_width(0.6), m_draw_numbers(true) {}
std::string calib_pressure_advance::generate_test(double start_pa/*= 0*/, double step_pa /*= 0.002*/, int count/*= 10*/) {
auto bed_sizes = mp_gcodegen->config().printable_area.values;
auto w = bed_sizes[2].x() - bed_sizes[0].x();
auto h = bed_sizes[2].y() - bed_sizes[0].y();
count = std::min(count, int((h - 10) / m_space_y));
std::string calib_pressure_advance::generate_test(double start_pa /*= 0*/, double step_pa /*= 0.002*/,
int count /*= 10*/) {
BoundingBoxf bed_ext = get_extents(mp_gcodegen->config().printable_area.values);
bool is_delta = false;
if (mp_gcodegen->config().printable_area.values.size() > 4) {
is_delta = true;
bed_ext.scale(1.0f / 1.41421f);
}
auto startx = (w - 100) / 2;
auto starty = (h - count * m_space_y) / 2;
m_length_long = 40 + std::min(w - 120.0, 30.0);
return print_pa_lines(startx, starty, start_pa, step_pa, count);
auto bed_sizes = mp_gcodegen->config().printable_area.values;
const auto &w = bed_ext.size().x();
const auto &h = bed_ext.size().y();
count = std::min(count, int((h - 10) / m_space_y));
m_length_long = 40 + std::min(w - 120.0, 0.0);
auto startx = (w - m_length_short * 2 - m_length_long - 20) / 2;
auto starty = (h - count * m_space_y) / 2;
if (is_delta) {
startx = -startx;
starty = -(count * m_space_y) / 2;
}
return print_pa_lines(startx, starty, start_pa, step_pa, count);
}
std::string calib_pressure_advance::move_to(Vec2d pt) {
@ -45,7 +59,7 @@ namespace Slic3r {
double y_pos = start_y;
// prime line
auto prime_x = std::max(start_x - 5, 0.5);
auto prime_x = start_x - 2;
gcode << move_to(Vec2d(prime_x, y_pos + (num - 4) * m_space_y));
gcode << writer.set_speed(slow);
gcode << writer.extrude_to_xy(Vec2d(prime_x, y_pos + 3 * m_space_y), e_calib * m_space_y * num * 1.1);

View File

@ -42,6 +42,7 @@ using boost::optional;
namespace fs = boost::filesystem;
static const float GROUND_Z = -0.03f;
static const float GROUND_Z_GRIDLINE = -0.26f;
static const float GRABBER_X_FACTOR = 0.20f;
static const float GRABBER_Y_FACTOR = 0.03f;
static const float GRABBER_Z_VALUE = 0.5f;
@ -376,10 +377,10 @@ void PartPlate::calc_gridlines(const ExPolygon& poly, const BoundingBox& pp_bbox
Lines contour_lines = to_lines(poly);
std::copy(contour_lines.begin(), contour_lines.end(), std::back_inserter(gridlines));
if (!m_gridlines.set_from_lines(gridlines, GROUND_Z))
if (!m_gridlines.set_from_lines(gridlines, GROUND_Z_GRIDLINE))
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << "Unable to create bed grid lines\n";
if (!m_gridlines_bolder.set_from_lines(gridlines_bolder, GROUND_Z))
if (!m_gridlines_bolder.set_from_lines(gridlines_bolder, GROUND_Z_GRIDLINE))
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << "Unable to create bed grid lines\n";
}