mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-28 11:21:30 +00:00
Merge branch 'main' into refactor/printer-agent-interface
This commit is contained in:
+1
-1
@@ -7054,7 +7054,7 @@ int CLI::run(int argc, char **argv)
|
|||||||
gcode_viewer.render_calibration_thumbnail(*calibration_data, cali_thumbnail_width, cali_thumbnail_height,
|
gcode_viewer.render_calibration_thumbnail(*calibration_data, cali_thumbnail_width, cali_thumbnail_height,
|
||||||
calibration_params, partplate_list, opengl_mgr);
|
calibration_params, partplate_list, opengl_mgr);
|
||||||
//generate_calibration_thumbnail(*calibration_data, thumbnail_width, thumbnail_height, calibration_params);
|
//generate_calibration_thumbnail(*calibration_data, thumbnail_width, thumbnail_height, calibration_params);
|
||||||
//*plate_bboxes[index] = p->generate_first_layer_bbox();
|
// *plate_bboxes[index] = p->generate_first_layer_bbox();
|
||||||
calibration_thumbnails.push_back(calibration_data);*/
|
calibration_thumbnails.push_back(calibration_data);*/
|
||||||
|
|
||||||
PlateBBoxData* plate_bbox = new PlateBBoxData();
|
PlateBBoxData* plate_bbox = new PlateBBoxData();
|
||||||
|
|||||||
@@ -54,12 +54,12 @@ public:
|
|||||||
int & i,
|
int & i,
|
||||||
Eigen::Matrix<double, 1, 3> &closest)
|
Eigen::Matrix<double, 1, 3> &closest)
|
||||||
{
|
{
|
||||||
size_t idx_unsigned = 0;
|
size_t idx_unsigned { 0 };
|
||||||
Vec3d closest_vec3d(closest);
|
Vec3d closest_vec3d { Vec3d::Zero() };
|
||||||
double dist =
|
const double dist {
|
||||||
AABBTreeIndirect::squared_distance_to_indexed_triangle_set(
|
AABBTreeIndirect::squared_distance_to_indexed_triangle_set(
|
||||||
its.vertices, its.indices, m_tree, point, idx_unsigned,
|
its.vertices, its.indices, m_tree, point, idx_unsigned,
|
||||||
closest_vec3d);
|
closest_vec3d) };
|
||||||
i = int(idx_unsigned);
|
i = int(idx_unsigned);
|
||||||
closest = closest_vec3d;
|
closest = closest_vec3d;
|
||||||
return dist;
|
return dist;
|
||||||
@@ -311,10 +311,9 @@ AABBMesh::hit_result IndexedMesh::filter_hits(
|
|||||||
|
|
||||||
|
|
||||||
double AABBMesh::squared_distance(const Vec3d &p, int& i, Vec3d& c) const {
|
double AABBMesh::squared_distance(const Vec3d &p, int& i, Vec3d& c) const {
|
||||||
double sqdst = 0;
|
const Eigen::Matrix<double, 1, 3> pp { p };
|
||||||
Eigen::Matrix<double, 1, 3> pp = p;
|
Eigen::Matrix<double, 1, 3> cc { Vec3d::Zero() };
|
||||||
Eigen::Matrix<double, 1, 3> cc;
|
const double sqdst { m_aabb->squared_distance(*m_tm, pp, i, cc) };
|
||||||
sqdst = m_aabb->squared_distance(*m_tm, pp, i, cc);
|
|
||||||
c = cc;
|
c = cc;
|
||||||
return sqdst;
|
return sqdst;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -883,7 +883,7 @@ std::string AppConfig::load()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch(std::exception err) {
|
} catch(const std::exception &err) {
|
||||||
BOOST_LOG_TRIVIAL(info) << format("parse app config \"%1%\", error: %2%", AppConfig::loading_path(), err.what());
|
BOOST_LOG_TRIVIAL(info) << format("parse app config \"%1%\", error: %2%", AppConfig::loading_path(), err.what());
|
||||||
|
|
||||||
return err.what();
|
return err.what();
|
||||||
|
|||||||
@@ -3576,7 +3576,7 @@ Polylines FillLateralHoneycomb::fill_surface(const Surface *surface, const FillP
|
|||||||
// |
|
// |
|
||||||
// |
|
// |
|
||||||
// 0 --+--
|
// 0 --+--
|
||||||
// / \
|
// ⟋ ⟍
|
||||||
// why inverted?
|
// why inverted?
|
||||||
// it makes determining some of the properties easier
|
// it makes determining some of the properties easier
|
||||||
// and the two angled legs provide additional horizontal stiffness
|
// and the two angled legs provide additional horizontal stiffness
|
||||||
|
|||||||
@@ -712,7 +712,7 @@ unsigned int Step::get_triangle_num(double linear_deflection, double angle_defle
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch(Exception e) {
|
} catch(const Exception &e) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5511,7 +5511,7 @@ LayerResult GCode::process_layer(
|
|||||||
// add tag for processor
|
// add tag for processor
|
||||||
gcode += ";" + GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Layer_Change) + "\n";
|
gcode += ";" + GCodeProcessor::reserved_tag(GCodeProcessor::ETags::Layer_Change) + "\n";
|
||||||
// export layer z
|
// export layer z
|
||||||
char buf[64];
|
char buf[80];
|
||||||
sprintf(buf, print.is_BBL_printer() ? "; Z_HEIGHT: %g\n" : ";Z:%g\n", print_z);
|
sprintf(buf, print.is_BBL_printer() ? "; Z_HEIGHT: %g\n" : ";Z:%g\n", print_z);
|
||||||
gcode += buf;
|
gcode += buf;
|
||||||
// export layer height
|
// export layer height
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ public:
|
|||||||
|
|
||||||
void* volume{nullptr};
|
void* volume{nullptr};
|
||||||
std::vector<int>* plane_indices{nullptr};
|
std::vector<int>* plane_indices{nullptr};
|
||||||
Transform3d world_tran;
|
Transform3d world_tran = Transform3d::Identity();
|
||||||
std::shared_ptr<std::vector<SurfaceFeature>> world_plane_features{nullptr};
|
std::shared_ptr<std::vector<SurfaceFeature>> world_plane_features{nullptr};
|
||||||
std::shared_ptr<SurfaceFeature> origin_surface_feature{nullptr};
|
std::shared_ptr<SurfaceFeature> origin_surface_feature{nullptr};
|
||||||
|
|
||||||
|
|||||||
+35
-85
@@ -48,100 +48,50 @@ struct OrientMesh {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// params for minimizing support area
|
|
||||||
struct OrientParamsArea {
|
|
||||||
float TAR_A = 0.015f;
|
|
||||||
float TAR_B = 0.177f;
|
|
||||||
float RELATIVE_F = 20;
|
|
||||||
float CONTOUR_F = 0.5f;
|
|
||||||
float BOTTOM_F = 2.5f;
|
|
||||||
float BOTTOM_HULL_F = 0.1f;
|
|
||||||
float TAR_C = 0.1f;
|
|
||||||
float TAR_D = 1;
|
|
||||||
float TAR_E = 0.0115f;
|
|
||||||
float FIRST_LAY_H = 0.2f;//0.0475;
|
|
||||||
float VECTOR_TOL = -0.00083f;
|
|
||||||
float NEGL_FACE_SIZE = 0.01f;
|
|
||||||
float ASCENT = -0.5f;
|
|
||||||
float PLAFOND_ADV = 0.0599f;
|
|
||||||
float CONTOUR_AMOUNT = 0.0182427f;
|
|
||||||
float OV_H = 2.574f;
|
|
||||||
float height_offset = 2.3728f;
|
|
||||||
float height_log = 0.041375f;
|
|
||||||
float height_log_k = 1.9325457f;
|
|
||||||
float LAF_MAX = 0.999f; // cos(1.4\degree) for low angle face 0.9997f
|
|
||||||
float LAF_MIN = 0.97f; // cos(14\degree) 0.9703f
|
|
||||||
float TAR_LAF = 0.001f; //0.01f
|
|
||||||
float TAR_PROJ_AREA = 0.1f;
|
|
||||||
float BOTTOM_MIN = 0.1f; // min bottom area. If lower than it the object may be unstable
|
|
||||||
float BOTTOM_MAX = 2000; // max bottom area. If get to it the object is stable enough (further increase bottom area won't do more help)
|
|
||||||
float height_to_bottom_hull_ratio_MIN = 1;
|
|
||||||
float BOTTOM_HULL_MAX = 2000;// max bottom hull area
|
|
||||||
float APPERANCE_FACE_SUPP=3; // penalty of generating supports on appearance face
|
|
||||||
|
|
||||||
float overhang_angle = 60.f;
|
|
||||||
bool use_low_angle_face = true;
|
|
||||||
bool min_volume = false;
|
|
||||||
Eigen::Vector3f fun_dir;
|
|
||||||
|
|
||||||
/// Allow parallel execution.
|
|
||||||
bool parallel = true;
|
|
||||||
|
|
||||||
/// Progress indicator callback called when an object gets packed.
|
|
||||||
/// The unsigned argument is the number of items remaining to pack.
|
|
||||||
std::function<void(unsigned, std::string)> progressind = {};
|
|
||||||
|
|
||||||
/// A predicate returning true if abort is needed.
|
|
||||||
std::function<bool(void)> stopcondition = {};
|
|
||||||
|
|
||||||
OrientParamsArea() = default;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct OrientParams {
|
struct OrientParams {
|
||||||
float TAR_A = 0.01f;//0.128f;
|
float TAR_A { 0.01f }; // 0.128f;
|
||||||
float TAR_B = 0.177f;
|
float TAR_B { 0.177f };
|
||||||
float RELATIVE_F= 6.610621027964314f;
|
float RELATIVE_F { 6.610621027964314f };
|
||||||
float CONTOUR_F = 0.23228623269775997f;
|
float CONTOUR_F { 0.23228623269775997f };
|
||||||
float BOTTOM_F = 1.167152017941474f;
|
float BOTTOM_F { 1.167152017941474f };
|
||||||
float BOTTOM_HULL_F = 0.1f;
|
float BOTTOM_HULL_F { 0.1f };
|
||||||
float TAR_C = 0.24308070476924726f;
|
float TAR_C { 0.24308070476924726f };
|
||||||
float TAR_D = 0.6284515508160871f;
|
float TAR_D { 0.6284515508160871f };
|
||||||
float TAR_E = 0;//0.032157292647062234;
|
float TAR_E { 0}; // 0.032157292647062234;
|
||||||
float FIRST_LAY_H = 0.2f;//0.029;
|
float FIRST_LAY_H { 0.2f}; // 0.029;
|
||||||
float VECTOR_TOL = -0.0011163303070972383f;
|
float VECTOR_TOL { -0.0011163303070972383f };
|
||||||
float NEGL_FACE_SIZE = 0.1f;
|
float NEGL_FACE_SIZE { 0.1f };
|
||||||
float ASCENT= -0.5f;
|
float ASCENT { -0.5f };
|
||||||
float PLAFOND_ADV = 0.04079208948120519f;
|
float PLAFOND_ADV { 0.04079208948120519f };
|
||||||
float CONTOUR_AMOUNT = 0.0101472219892684f;
|
float CONTOUR_AMOUNT { 0.0101472219892684f };
|
||||||
float OV_H = 1.0370178217794535f;
|
float OV_H { 1.0370178217794535f };
|
||||||
float height_offset = 2.7417608343142073f;
|
float height_offset { 2.7417608343142073f };
|
||||||
float height_log = 0.06442030687034085f;
|
float height_log { 0.06442030687034085f };
|
||||||
float height_log_k = 0.3933594673063997f;
|
float height_log_k { 0.3933594673063997f };
|
||||||
float LAF_MAX = 0.999f; // cos(1.4\degree) for low angle face //0.9997f;
|
float LAF_MAX { 0.999f }; // cos(1.4\degree) for low angle face //0.9997f;
|
||||||
float LAF_MIN= 0.9703f; // cos(14\degree) 0.9703f;
|
float LAF_MIN { 0.9703f }; // cos(14\degree) 0.9703f;
|
||||||
float TAR_LAF = 0.01f; //0.1f
|
float TAR_LAF { 0.01f }; // 0.1f
|
||||||
float TAR_PROJ_AREA = 0.1f;
|
float TAR_PROJ_AREA { 0.1f };
|
||||||
float BOTTOM_MIN = 0.1f; // min bottom area. If lower than it the objects may be unstable
|
float BOTTOM_MIN { 0.1f }; // min bottom area. If lower than it the objects may be unstable
|
||||||
float BOTTOM_MAX = 2000; //400
|
float BOTTOM_MAX { 2000 }; // 400
|
||||||
float height_to_bottom_hull_ratio_MIN = 1;
|
float height_to_bottom_hull_ratio_MIN { 1 };
|
||||||
float BOTTOM_HULL_MAX = 2000;// max bottom hull area to clip //600
|
float BOTTOM_HULL_MAX { 2000 }; // max bottom hull area to clip //600
|
||||||
float APPERANCE_FACE_SUPP=3; // penalty of generating supports on appearance face
|
float APPERANCE_FACE_SUPP { 3 }; // penalty of generating supports on appearance face
|
||||||
|
|
||||||
float overhang_angle = 60.f;
|
|
||||||
bool use_low_angle_face = true;
|
|
||||||
bool min_volume = false;
|
|
||||||
Eigen::Vector3f fun_dir;
|
|
||||||
|
|
||||||
|
float overhang_angle { 60.f };
|
||||||
|
bool use_low_angle_face { true };
|
||||||
|
bool min_volume { false };
|
||||||
|
Eigen::Vector3f fun_dir {};
|
||||||
|
|
||||||
/// Allow parallel execution.
|
/// Allow parallel execution.
|
||||||
bool parallel = false;
|
bool parallel { false };
|
||||||
|
|
||||||
/// Progress indicator callback called when an object gets packed.
|
/// Progress indicator callback called when an object gets packed.
|
||||||
/// The unsigned argument is the number of items remaining to pack.
|
/// The unsigned argument is the number of items remaining to pack.
|
||||||
std::function<void(unsigned, std::string)> progressind = {};
|
std::function<void(unsigned, std::string)> progressind {};
|
||||||
|
|
||||||
/// A predicate returning true if abort is needed.
|
/// A predicate returning true if abort is needed.
|
||||||
std::function<bool(void)> stopcondition = {};
|
std::function<bool(void)> stopcondition {};
|
||||||
|
|
||||||
OrientParams() = default;
|
OrientParams() = default;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -56,12 +56,12 @@ public:
|
|||||||
int & i,
|
int & i,
|
||||||
Eigen::Matrix<double, 1, 3> &closest)
|
Eigen::Matrix<double, 1, 3> &closest)
|
||||||
{
|
{
|
||||||
size_t idx_unsigned = 0;
|
size_t idx_unsigned { 0 };
|
||||||
Vec3d closest_vec3d(closest);
|
Vec3d closest_vec3d { Vec3d::Zero() };
|
||||||
double dist =
|
const double dist {
|
||||||
AABBTreeIndirect::squared_distance_to_indexed_triangle_set(
|
AABBTreeIndirect::squared_distance_to_indexed_triangle_set(
|
||||||
its.vertices, its.indices, m_tree, point, idx_unsigned,
|
its.vertices, its.indices, m_tree, point, idx_unsigned,
|
||||||
closest_vec3d);
|
closest_vec3d) };
|
||||||
i = int(idx_unsigned);
|
i = int(idx_unsigned);
|
||||||
closest = closest_vec3d;
|
closest = closest_vec3d;
|
||||||
return dist;
|
return dist;
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
//**********************************************************/
|
/**********************************************************
|
||||||
/* File: uiAmsHumidityPopup.cpp
|
* File: uiAmsHumidityPopup.cpp
|
||||||
* Description: The popup with DevAms Humidity
|
* Description: The popup with DevAms Humidity
|
||||||
*
|
*
|
||||||
* \n class uiAmsHumidityPopup
|
* \n class uiAmsHumidityPopup
|
||||||
//**********************************************************/
|
**********************************************************/
|
||||||
|
|
||||||
#include "uiAmsHumidityPopup.h"
|
#include "uiAmsHumidityPopup.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
//**********************************************************/
|
/**********************************************************
|
||||||
/* File: uiAmsHumidityPopup.h
|
* File: uiAmsHumidityPopup.h
|
||||||
* Description: The popup with DevAms Humidity
|
* Description: The popup with DevAms Humidity
|
||||||
*
|
*
|
||||||
* \n class uiAmsHumidityPopup
|
* \n class uiAmsHumidityPopup
|
||||||
//**********************************************************/
|
**********************************************************/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include "slic3r/GUI/Widgets/AMSItem.hpp"
|
#include "slic3r/GUI/Widgets/AMSItem.hpp"
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
//**********************************************************/
|
/**********************************************************
|
||||||
/* File: uiDeviceUpdateVersion.cpp
|
* File: uiDeviceUpdateVersion.cpp
|
||||||
* Description: The panel with firmware info
|
* Description: The panel with firmware info
|
||||||
*
|
*
|
||||||
* \n class uiDeviceUpdateVersion
|
* \n class uiDeviceUpdateVersion
|
||||||
//**********************************************************/
|
**********************************************************/
|
||||||
|
|
||||||
#include "uiDeviceUpdateVersion.h"
|
#include "uiDeviceUpdateVersion.h"
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
//**********************************************************/
|
/**********************************************************
|
||||||
/* File: uiDeviceUpdateVersion.h
|
* File: uiDeviceUpdateVersion.h
|
||||||
* Description: The panel with firmware info
|
* Description: The panel with firmware info
|
||||||
*
|
*
|
||||||
* \n class uiDeviceUpdateVersion
|
* \n class uiDeviceUpdateVersion
|
||||||
//**********************************************************/
|
**********************************************************/
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
#include <wx/panel.h>
|
#include <wx/panel.h>
|
||||||
|
|||||||
@@ -3213,7 +3213,7 @@ void ObjectList::merge(bool to_multipart_object)
|
|||||||
//changed_object(obj_idx);
|
//changed_object(obj_idx);
|
||||||
//remove();
|
//remove();
|
||||||
}
|
}
|
||||||
/* wxGetApp().plater()->load_model_objects(objects);
|
// wxGetApp().plater()->load_model_objects(objects);
|
||||||
|
|
||||||
Selection& selection = p->view3D->get_canvas3d()->get_selection();
|
Selection& selection = p->view3D->get_canvas3d()->get_selection();
|
||||||
size_t last_obj_idx = p->model.objects.size() - 1;
|
size_t last_obj_idx = p->model.objects.size() - 1;
|
||||||
|
|||||||
@@ -1733,7 +1733,7 @@ std::string IMSlider::get_label(int tick, LabelType label_type)
|
|||||||
::sprintf(layer_height, "%.2f", m_values.empty() ? m_label_koef * value : m_values[value]);
|
::sprintf(layer_height, "%.2f", m_values.empty() ? m_label_koef * value : m_values[value]);
|
||||||
if (label_type == ltHeight) return std::string(layer_height);
|
if (label_type == ltHeight) return std::string(layer_height);
|
||||||
if (label_type == ltHeightWithLayer) {
|
if (label_type == ltHeightWithLayer) {
|
||||||
char buffer[64];
|
char buffer[90];
|
||||||
size_t layer_number;
|
size_t layer_number;
|
||||||
layer_number = m_draw_mode == dmSequentialFffPrint ? (m_values.empty() ? value : value + 1) : m_is_wipe_tower ? get_layer_number(value, label_type) + 1 : (m_values.empty() ? value : value + 1);
|
layer_number = m_draw_mode == dmSequentialFffPrint ? (m_values.empty() ? value : value + 1) : m_is_wipe_tower ? get_layer_number(value, label_type) + 1 : (m_values.empty() ? value : value + 1);
|
||||||
::sprintf(buffer, "%5s\n%5s", std::to_string(layer_number).c_str(), layer_height);
|
::sprintf(buffer, "%5s\n%5s", std::to_string(layer_number).c_str(), layer_height);
|
||||||
|
|||||||
@@ -149,6 +149,46 @@ void OrientJob::prepare()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// parameters to minimize support area
|
||||||
|
static void setMinimalSupportAreaPrams(Slic3r::orientation::OrientParams &out)
|
||||||
|
{
|
||||||
|
out.TAR_A = 0.015f;
|
||||||
|
out.TAR_B = 0.177f;
|
||||||
|
out.RELATIVE_F = 20;
|
||||||
|
out.CONTOUR_F = 0.5f;
|
||||||
|
out.BOTTOM_F = 2.5f;
|
||||||
|
out.BOTTOM_HULL_F = 0.1f;
|
||||||
|
out.TAR_C = 0.1f;
|
||||||
|
out.TAR_D = 1;
|
||||||
|
out.TAR_E = 0.0115f;
|
||||||
|
out.FIRST_LAY_H = 0.2f; // 0.0475;
|
||||||
|
out.VECTOR_TOL = -0.00083f;
|
||||||
|
out.NEGL_FACE_SIZE = 0.01f;
|
||||||
|
out.ASCENT = -0.5f;
|
||||||
|
out.PLAFOND_ADV = 0.0599f;
|
||||||
|
out.CONTOUR_AMOUNT = 0.0182427f;
|
||||||
|
out.OV_H = 2.574f;
|
||||||
|
out.height_offset = 2.3728f;
|
||||||
|
out.height_log = 0.041375f;
|
||||||
|
out.height_log_k = 1.9325457f;
|
||||||
|
out.LAF_MAX = 0.999f; // cos(1.4\degree) for low angle face 0.9997f
|
||||||
|
out.LAF_MIN = 0.97f; // cos(14\degree) 0.9703f
|
||||||
|
out.TAR_LAF = 0.001f; // 0.01f
|
||||||
|
out.TAR_PROJ_AREA = 0.1f;
|
||||||
|
out.BOTTOM_MIN = 0.1f; // min bottom area. If lower than it the object may be unstable
|
||||||
|
out.BOTTOM_MAX = 2000; // max bottom area. If get to it the object is stable enough (further increase bottom area won't do more help)
|
||||||
|
out.height_to_bottom_hull_ratio_MIN = 1,
|
||||||
|
out.BOTTOM_HULL_MAX = 2000; // max bottom hull area
|
||||||
|
out.APPERANCE_FACE_SUPP = 3; // penalty of generating supports on appearance face
|
||||||
|
out.overhang_angle = 60.f;
|
||||||
|
out.use_low_angle_face = true;
|
||||||
|
out.min_volume = false;
|
||||||
|
out.fun_dir = {};
|
||||||
|
out.parallel = true;
|
||||||
|
out.progressind = {};
|
||||||
|
out.stopcondition = {};
|
||||||
|
}
|
||||||
|
|
||||||
void OrientJob::process(Ctl &ctl)
|
void OrientJob::process(Ctl &ctl)
|
||||||
{
|
{
|
||||||
static const auto arrangestr = _u8L("Orienting...");
|
static const auto arrangestr = _u8L("Orienting...");
|
||||||
@@ -161,9 +201,8 @@ void OrientJob::process(Ctl &ctl)
|
|||||||
const GLCanvas3D::OrientSettings& settings = m_plater->canvas3D()->get_orient_settings();
|
const GLCanvas3D::OrientSettings& settings = m_plater->canvas3D()->get_orient_settings();
|
||||||
|
|
||||||
orientation::OrientParams params;
|
orientation::OrientParams params;
|
||||||
orientation::OrientParamsArea params_area;
|
|
||||||
if (settings.min_area) {
|
if (settings.min_area) {
|
||||||
memcpy(¶ms, ¶ms_area, sizeof(params));
|
setMinimalSupportAreaPrams(params);
|
||||||
params.min_volume = false;
|
params.min_volume = false;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -3868,12 +3868,11 @@ _compare_obj_names(MachineObject* obj1, MachineObject* obj2)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*******************************************************************
|
/*******************************************************************
|
||||||
*@note _collect_machine_list
|
* @note _collect_machine_list
|
||||||
*@param dev_manager -- the device manager
|
* @param dev_manager -- the device manager
|
||||||
*@param sorted_machine_objs -- return the sorted machine objects
|
* @param sorted_machine_objs -- return the sorted machine objects
|
||||||
*@param best_one -- return the best one
|
* @param best_one -- return the best one
|
||||||
*/
|
*******************************************************************/
|
||||||
/*******************************************************************/
|
|
||||||
static void
|
static void
|
||||||
_collect_sorted_machines(Slic3r::DeviceManager* dev_manager,
|
_collect_sorted_machines(Slic3r::DeviceManager* dev_manager,
|
||||||
std::vector<MachineObject*>& sorted_machine_objs)
|
std::vector<MachineObject*>& sorted_machine_objs)
|
||||||
|
|||||||
@@ -107,7 +107,7 @@ std::optional<RaycastManager::Hit> RaycastManager::first_hit(const Vec3d& point,
|
|||||||
const AABBMesh *hit_mesh = nullptr;
|
const AABBMesh *hit_mesh = nullptr;
|
||||||
double hit_squared_distance = 0.;
|
double hit_squared_distance = 0.;
|
||||||
int hit_face = -1;
|
int hit_face = -1;
|
||||||
Vec3d hit_world;
|
Vec3d hit_world { Vec3d::Zero() };
|
||||||
const Transform3d *hit_tramsformation = nullptr;
|
const Transform3d *hit_tramsformation = nullptr;
|
||||||
const TrKey *hit_key = nullptr;
|
const TrKey *hit_key = nullptr;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user