OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
GCodeProcessor.cpp File Reference
#include "libslic3r/ArcFitter.hpp"
#include "ExclusionVolumePathCheck.hpp"
#include "libslic3r/Config.hpp"
#include "libslic3r/CustomGCode.hpp"
#include "libslic3r/Exception.hpp"
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/CommonDefs.hpp"
#include "ExtrusionEntity.hpp"
#include "libslic3r/GCodeReader.hpp"
#include "GCodeWriter.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/PrintBase.hpp"
#include "libslic3r/Polygon.hpp"
#include "PrintConfig.hpp"
#include "libslic3r/TriangleSelector.hpp"
#include "libslic3r/libslic3r.h"
#include "libslic3r/Utils.hpp"
#include "libslic3r/Print.hpp"
#include "libslic3r/ClipperUtils.hpp"
#include "libslic3r/LocalesUtils.hpp"
#include "libslic3r/format.hpp"
#include "libslic3r/I18N.hpp"
#include "libslic3r_version.h"
#include "GCodeProcessor.hpp"
#include <algorithm>
#include <array>
#include <boost/algorithm/string/case_conv.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/constants.hpp>
#include <boost/log/trivial.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/nowide/fstream.hpp>
#include <boost/nowide/cstdio.hpp>
#include <boost/filesystem/path.hpp>
#include <cstddef>
#include <cmath>
#include <exception>
#include <deque>
#include <cstdio>
#include <cstring>
#include <cctype>
#include <cstdlib>
#include <climits>
#include <fast_float/fast_float.h>
#include <float.h>
#include <assert.h>
#include <memory>
#include <optional>
#include <iterator>
#include <functional>
#include <math.h>
#include <map>
#include <limits>
#include <fstream>
#include <regex>
#include <set>
#include <sstream>
#include <charconv>
#include <string>
#include <string_view>
#include <system_error>
#include <vector>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <chrono>
#include "Geometry/ArcWelder.hpp"
#include "libslic3r/MultiNozzleUtils.hpp"

Go to the source code of this file.

Classes

class  Slic3r::anonymous_namespace{GCodeProcessor.cpp}::GCodeFileWriter
class  Slic3r::ExportLines
struct  Slic3r::ExportLines::Backtrace
struct  Slic3r::ExportLines::LineData
class  Slic3r::ExportLines::Statistics

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/
namespace  Slic3r::anonymous_namespace{GCodeProcessor.cpp}

Functions

static void Slic3r::set_option_value (ConfigOptionFloats &option, size_t id, float value)
static float Slic3r::get_option_value (const ConfigOptionFloats &option, size_t id)
static float Slic3r::estimated_acceleration_distance (float initial_rate, float target_rate, float acceleration)
static float Slic3r::intersection_distance (float initial_rate, float final_rate, float acceleration, float distance)
static float Slic3r::speed_from_distance (float initial_feedrate, float distance, float acceleration)
static float Slic3r::max_allowable_speed (float acceleration, float target_velocity, float distance)
static float Slic3r::acceleration_time_from_distance (float initial_feedrate, float distance, float acceleration)
static int Slic3r::get_object_label_id (const std::string_view comment_1)
static float Slic3r::get_z_height (const std::string_view comment_1)
static void Slic3r::planner_forward_pass_kernel (const GCodeProcessor::TimeBlock &prev, GCodeProcessor::TimeBlock &curr)
static void Slic3r::planner_reverse_pass_kernel (GCodeProcessor::TimeBlock &curr, const GCodeProcessor::TimeBlock &next)
static void Slic3r::recalculate_trapezoids (std::vector< GCodeProcessor::TimeBlock > &blocks)
template<typename T>
static bool Slic3r::parse_number (const std::string_view sv, T &out)
template<class T>
static T Slic3r::value_at_or_front (const std::vector< T > &v, int i, T fallback)
static const char * Slic3r::skip_whitespaces (const char *begin, const char *end)
static const char * Slic3r::remove_eols (const char *begin, const char *end)
ConfigSubstitutions Slic3r::load_from_superslicer_gcode_file (const std::string &filename, DynamicPrintConfig &config, ForwardCompatibilitySubstitutionRule compatibility_rule)
static std::array< bool, 3 > Slic3r::g28_homed_axes (const GCodeReader::GCodeLine &line)

Variables

static const float DEFAULT_TOOLPATH_WIDTH = 0.4f
static const float DEFAULT_TOOLPATH_HEIGHT = 0.2f
static const float INCHES_TO_MM = 25.4f
static const float MMMIN_TO_MMSEC = 1.0f / 60.0f
static const float DRAW_ARC_TOLERANCE = 0.0125f
static const float DEFAULT_ACCELERATION = 1500.0f
static const float DEFAULT_RETRACT_ACCELERATION = 1500.0f
static const float DEFAULT_TRAVEL_ACCELERATION = 1250.0f
static const size_t MIN_EXTRUDERS_COUNT = 5
static const float DEFAULT_FILAMENT_DIAMETER = 1.75f
static const int DEFAULT_FILAMENT_HRC = 0
static const float DEFAULT_FILAMENT_COST = 29.99f
static const int DEFAULT_FILAMENT_VITRIFICATION_TEMPERATURE = 0
static const Slic3r::Vec3f DEFAULT_EXTRUDER_OFFSET = Slic3r::Vec3f::Zero()

Class Documentation

◆ Slic3r::ExportLines::LineData

struct Slic3r::ExportLines::LineData
Collaboration diagram for Slic3r::ExportLines::LineData:
Class Members
string line
array< float, static_cast< size_t >(Count)> times {0.0f, 0.0f}

Variable Documentation

◆ DEFAULT_ACCELERATION

◆ DEFAULT_EXTRUDER_OFFSET

const Slic3r::Vec3f DEFAULT_EXTRUDER_OFFSET = Slic3r::Vec3f::Zero()
static

◆ DEFAULT_FILAMENT_COST

const float DEFAULT_FILAMENT_COST = 29.99f
static

◆ DEFAULT_FILAMENT_DIAMETER

const float DEFAULT_FILAMENT_DIAMETER = 1.75f
static

◆ DEFAULT_FILAMENT_HRC

const int DEFAULT_FILAMENT_HRC = 0
static

◆ DEFAULT_FILAMENT_VITRIFICATION_TEMPERATURE

const int DEFAULT_FILAMENT_VITRIFICATION_TEMPERATURE = 0
static

◆ DEFAULT_RETRACT_ACCELERATION

◆ DEFAULT_TOOLPATH_HEIGHT

const float DEFAULT_TOOLPATH_HEIGHT = 0.2f
static

◆ DEFAULT_TOOLPATH_WIDTH

const float DEFAULT_TOOLPATH_WIDTH = 0.4f
static

◆ DEFAULT_TRAVEL_ACCELERATION

◆ DRAW_ARC_TOLERANCE

const float DRAW_ARC_TOLERANCE = 0.0125f
static

◆ INCHES_TO_MM

◆ MIN_EXTRUDERS_COUNT

const size_t MIN_EXTRUDERS_COUNT = 5
static

◆ MMMIN_TO_MMSEC