OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
bbs_3mf.hpp File Reference
#include "../GCode/ThumbnailData.hpp"
#include "libslic3r/MultiNozzleUtils.hpp"
#include "libslic3r/Semver.hpp"
#include "libslic3r/ProjectTask.hpp"
#include "libslic3r/GCode/GCodeProcessor.hpp"
#include <cstddef>
#include <functional>
#include <string>
#include <set>
#include <utility>
#include <vector>
#include <map>
#include <unordered_map>
#include <optional>
#include <type_traits>
#include <istream>
Include dependency graph for bbs_3mf.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Slic3r::PackingTemporaryData
struct  Slic3r::PlateMixedFilamentInfo
struct  Slic3r::PlateData
struct  Slic3r::StoreParams
class  Slic3r::SaveObjectGaurd

Namespaces

namespace  Slic3r
 |/ Copyright (c) Prusa Research 2020 - 2023 Enrico Turri @enricoturri1966 |/ |/ PrusaSlicer is released under the terms of the AGPLv3 or higher |/

Macros

#define PLATE_THUMBNAIL_SMALL_WIDTH   128
#define PLATE_THUMBNAIL_SMALL_HEIGHT   128
#define GCODE_FILE_FORMAT   "Metadata/plate_%1%.gcode"
#define STATISTICS_FILE_FORMAT   "Metadata/plate_%1%.statistics.json"
#define THUMBNAIL_FILE_FORMAT   "Metadata/plate_%1%.png"
#define NO_LIGHT_THUMBNAIL_FILE_FORMAT   "Metadata/plate_no_light_%1%.png"
#define TOP_FILE_FORMAT   "Metadata/top_%1%.png"
#define PICK_FILE_FORMAT   "Metadata/pick_%1%.png"
#define PATTERN_CONFIG_FILE_FORMAT   "Metadata/plate_%1%.json"
#define EMBEDDED_PRINT_FILE_FORMAT   "Metadata/process_settings_%1%.config"
#define EMBEDDED_FILAMENT_FILE_FORMAT   "Metadata/filament_settings_%1%.config"
#define EMBEDDED_PRINTER_FILE_FORMAT   "Metadata/machine_settings_%1%.config"
#define BBL_DESIGNER_MODEL_TITLE_TAG   "Title"
#define BBL_DESIGNER_PROFILE_ID_TAG   "DesignProfileId"
#define BBL_DESIGNER_PROFILE_TITLE_TAG   "ProfileTitle"
#define BBL_DESIGNER_MODEL_ID_TAG   "DesignModelId"

Typedefs

typedef std::function< void(int export_stage, int current, int total, bool &cancel)> Slic3r::Export3mfProgressFn
typedef std::function< void(int import_stage, int current, int total, bool &cancel)> Slic3r::Import3mfProgressFn
typedef std::vector< PlateData * > Slic3r::PlateDataPtrs
typedef std::map< int, PlateData * > Slic3r::PlateDataMaps

Enumerations

enum class  Slic3r::SaveStrategy {
  Slic3r::Default = 0 , Slic3r::FullPathSources = 1 , Slic3r::Zip64 = 1 << 1 , Slic3r::ProductionExt = 1 << 2 ,
  Slic3r::SecureContentExt = 1 << 3 , Slic3r::WithGcode = 1 << 4 , Slic3r::Silence = 1 << 5 , Slic3r::SkipStatic = 1 << 6 ,
  Slic3r::SkipModel = 1 << 7 , Slic3r::WithSliceInfo = 1 << 8 , Slic3r::SkipAuxiliary = 1 << 9 , Slic3r::UseLoadedId = 1 << 10 ,
  Slic3r::ShareMesh = 1 << 11 , Slic3r::MinimalPublished = 1 << 13 , Slic3r::WithStatistics = 1 << 14 , Slic3r::SplitModel = 0x1000 | ProductionExt ,
  Slic3r::Encrypted = SecureContentExt | SplitModel , Slic3r::Backup = 0x10000 | WithGcode | Silence | SkipStatic | SplitModel
}
enum  { Slic3r::brim_points_format_version = 0 }
enum class  Slic3r::LoadStrategy {
  Slic3r::Default = 0 , Slic3r::AddDefaultInstances = 1 , Slic3r::CheckVersion = 2 , Slic3r::LoadModel = 4 ,
  Slic3r::LoadConfig = 8 , Slic3r::LoadAuxiliary = 16 , Slic3r::Silence = 32 , Slic3r::ImperialUnits = 64 ,
  Slic3r::Restore = 0x10000 | LoadModel | LoadConfig | LoadAuxiliary | Silence
}

Functions

bool Slic3r::is_published_3mf_flag (const std::string &value)
SaveStrategy Slic3r::operator| (SaveStrategy lhs, SaveStrategy rhs)
bool Slic3r::operator& (SaveStrategy &lhs, SaveStrategy rhs)
LoadStrategy Slic3r::operator| (LoadStrategy lhs, LoadStrategy rhs)
bool Slic3r::operator& (LoadStrategy &lhs, LoadStrategy rhs)
bool Slic3r::load_bbs_3mf (const char *path, DynamicPrintConfig *config, ConfigSubstitutionContext *config_substitutions, Model *model, PlateDataPtrs *plate_data_list, std::vector< Preset * > *project_presets, bool *is_bbl_3mf, bool *is_orca_3mf, Semver *file_version, Import3mfProgressFn proFn, LoadStrategy strategy, BBLProject *project, int plate_id)
std::string Slic3r::bbs_3mf_get_thumbnail (const char *path)
bool Slic3r::bbs_3mf_is_published (const std::string &path)
bool Slic3r::load_gcode_3mf_from_stream (std::istream &data, DynamicPrintConfig *config, Model *model, PlateDataPtrs *plate_data_list, Semver *file_version)
bool Slic3r::store_bbs_3mf (StoreParams &store_params)
void Slic3r::release_PlateData_list (PlateDataPtrs &plate_data_list)
void Slic3r::save_object_mesh (ModelObject &object)
void Slic3r::delete_object_mesh (ModelObject &object)
void Slic3r::backup_soon ()
void Slic3r::remove_backup (Model &model, bool removeAll)
void Slic3r::set_backup_interval (long interval)
void Slic3r::set_backup_callback (std::function< void(int)> callback)
void Slic3r::run_backup_ui_tasks ()
bool Slic3r::has_restore_data (std::string &path, std::string &origin)
void Slic3r::put_other_changes ()
void Slic3r::clear_other_changes (bool backup)
bool Slic3r::has_other_changes (bool backup)

Variables

constexpr const char * Slic3r::ORCA_PUBLISHED_TAG = "orca_published"
constexpr const char * Slic3r::ORCA_PUBLISHED_KEYS_TAG = "orca_published_keys"
constexpr const char * Slic3r::ORCA_PUBLISHED_MATERIAL_TAG = "orca_published_material_keys"
constexpr const char * Slic3r::ORCA_PUBLISHED_CONFIG_TAG = "orca_published_config"
const int Slic3r::EXPORT_STAGE_OPEN_3MF = 0
const int Slic3r::EXPORT_STAGE_CONTENT_TYPES = 1
const int Slic3r::EXPORT_STAGE_ADD_THUMBNAILS = 2
const int Slic3r::EXPORT_STAGE_ADD_RELATIONS = 3
const int Slic3r::EXPORT_STAGE_ADD_MODELS = 4
const int Slic3r::EXPORT_STAGE_ADD_LAYER_RANGE = 5
const int Slic3r::EXPORT_STAGE_ADD_SUPPORT = 6
const int Slic3r::EXPORT_STAGE_ADD_CUSTOM_GCODE = 7
const int Slic3r::EXPORT_STAGE_ADD_PRINT_CONFIG = 8
const int Slic3r::EXPORT_STAGE_ADD_PROJECT_CONFIG = 9
const int Slic3r::EXPORT_STAGE_ADD_CONFIG_FILE = 10
const int Slic3r::EXPORT_STAGE_ADD_SLICE_INFO = 11
const int Slic3r::EXPORT_STAGE_ADD_GCODE = 12
const int Slic3r::EXPORT_STAGE_ADD_AUXILIARIES = 13
const int Slic3r::EXPORT_STAGE_FINISH = 14
const int Slic3r::IMPORT_STAGE_RESTORE = 0
const int Slic3r::IMPORT_STAGE_OPEN = 1
const int Slic3r::IMPORT_STAGE_READ_FILES = 2
const int Slic3r::IMPORT_STAGE_EXTRACT = 3
const int Slic3r::IMPORT_STAGE_LOADING_OBJECTS = 4
const int Slic3r::IMPORT_STAGE_LOADING_PLATES = 5
const int Slic3r::IMPORT_STAGE_FINISH = 6
const int Slic3r::IMPORT_STAGE_ADD_INSTANCE = 7
const int Slic3r::IMPORT_STAGE_UPDATE_GCODE = 8
const int Slic3r::IMPORT_STAGE_CHECK_MODE_GCODE = 9
const int Slic3r::UPDATE_GCODE_RESULT = 10
const int Slic3r::IMPORT_LOAD_CONFIG = 11
const int Slic3r::IMPORT_LOAD_MODEL_OBJECTS = 12
const int Slic3r::IMPORT_STAGE_MAX = 13

Class Documentation

◆ Slic3r::PlateMixedFilamentInfo

struct Slic3r::PlateMixedFilamentInfo
Collaboration diagram for Slic3r::PlateMixedFilamentInfo:
Class Members
string color
string components
int id {0}
string type

Macro Definition Documentation

◆ BBL_DESIGNER_MODEL_ID_TAG

#define BBL_DESIGNER_MODEL_ID_TAG   "DesignModelId"

◆ BBL_DESIGNER_MODEL_TITLE_TAG

#define BBL_DESIGNER_MODEL_TITLE_TAG   "Title"

◆ BBL_DESIGNER_PROFILE_ID_TAG

#define BBL_DESIGNER_PROFILE_ID_TAG   "DesignProfileId"

◆ BBL_DESIGNER_PROFILE_TITLE_TAG

#define BBL_DESIGNER_PROFILE_TITLE_TAG   "ProfileTitle"

◆ EMBEDDED_FILAMENT_FILE_FORMAT

#define EMBEDDED_FILAMENT_FILE_FORMAT   "Metadata/filament_settings_%1%.config"

◆ EMBEDDED_PRINT_FILE_FORMAT

#define EMBEDDED_PRINT_FILE_FORMAT   "Metadata/process_settings_%1%.config"

◆ EMBEDDED_PRINTER_FILE_FORMAT

#define EMBEDDED_PRINTER_FILE_FORMAT   "Metadata/machine_settings_%1%.config"

◆ GCODE_FILE_FORMAT

#define GCODE_FILE_FORMAT   "Metadata/plate_%1%.gcode"

◆ NO_LIGHT_THUMBNAIL_FILE_FORMAT

#define NO_LIGHT_THUMBNAIL_FILE_FORMAT   "Metadata/plate_no_light_%1%.png"

◆ PATTERN_CONFIG_FILE_FORMAT

#define PATTERN_CONFIG_FILE_FORMAT   "Metadata/plate_%1%.json"

◆ PICK_FILE_FORMAT

#define PICK_FILE_FORMAT   "Metadata/pick_%1%.png"

◆ PLATE_THUMBNAIL_SMALL_HEIGHT

#define PLATE_THUMBNAIL_SMALL_HEIGHT   128

◆ PLATE_THUMBNAIL_SMALL_WIDTH

#define PLATE_THUMBNAIL_SMALL_WIDTH   128

◆ STATISTICS_FILE_FORMAT

#define STATISTICS_FILE_FORMAT   "Metadata/plate_%1%.statistics.json"

◆ THUMBNAIL_FILE_FORMAT

#define THUMBNAIL_FILE_FORMAT   "Metadata/plate_%1%.png"

◆ TOP_FILE_FORMAT

#define TOP_FILE_FORMAT   "Metadata/top_%1%.png"