OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
bbs_3mf.cpp File Reference
#include "../libslic3r.h"
#include "../Exception.hpp"
#include "../IMEXHelpers.hpp"
#include "../Model.hpp"
#include "../Preset.hpp"
#include "../Utils.hpp"
#include "../LocalesUtils.hpp"
#include "../FilamentMixer.hpp"
#include "../GCode.hpp"
#include "../Geometry.hpp"
#include "../GCode/ThumbnailData.hpp"
#include "../Semver.hpp"
#include "../I18N.hpp"
#include "libslic3r/Point.hpp"
#include "libslic3r/GCode/GCodeProcessor.hpp"
#include "libslic3r/PrintConfig.hpp"
#include "libslic3r/MultiNozzleUtils.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include "libslic3r/ObjectID.hpp"
#include "libslic3r/Slicing.hpp"
#include "libslic3r/BrimEarsPoint.hpp"
#include "libslic3r/Config.hpp"
#include "libslic3r/CustomGCode.hpp"
#include "libslic3r/TextureDisplacement.hpp"
#include "libslic3r_version.h"
#include "bbs_3mf.hpp"
#include <boost/assert/source_location.hpp>
#include <ios>
#include <cstring>
#include <boost/spirit/home/qi/parse.hpp>
#include <boost/spirit/home/qi/numeric/int.hpp>
#include <cstdlib>
#include <cstddef>
#include <boost/algorithm/string/constants.hpp>
#include <algorithm>
#include <boost/thread/lock_types.hpp>
#include <cassert>
#include <boost/optional/optional.hpp>
#include <istream>
#include <functional>
#include <boost/algorithm/string/find.hpp>
#include <cstdio>
#include <exception>
#include <boost/filesystem/fstream.hpp>
#include <cstdint>
#include <boost/spirit/home/karma/generate.hpp>
#include <boost/spirit/home/support/common_terminals.hpp>
#include <boost/spirit/home/karma.hpp>
#include <deque>
#include <boost/filesystem/directory.hpp>
#include <boost/system/errc.hpp>
#include <boost/thread/lock_guard.hpp>
#include <boost/date_time/posix_time/posix_time_duration.hpp>
#include <boost/date_time/posix_time/posix_time_types.hpp>
#include <boost/date_time/posix_time/ptime.hpp>
#include <boost/thread/thread_time.hpp>
#include <boost/core/ref.hpp>
#include <boost/assign/list_of.hpp>
#include <cmath>
#include <limits>
#include <miniz.h>
#include <ostream>
#include <sstream>
#include <set>
#include <memory>
#include <optional>
#include <map>
#include <list>
#include <stdexcept>
#include <iomanip>
#include <regex>
#include <boost/assign.hpp>
#include <boost/bimap.hpp>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
#include <boost/algorithm/string/predicate.hpp>
#include <boost/algorithm/string/replace.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/nowide/fstream.hpp>
#include <boost/nowide/cstdio.hpp>
#include <boost/spirit/include/karma.hpp>
#include <boost/spirit/include/qi_int.hpp>
#include <boost/log/trivial.hpp>
#include <boost/beast/core/detail/base64.hpp>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/foreach.hpp>
#include <openssl/md5.h>
#include <string>
#include <vector>
#include <utility>
#include <string_view>
#include <tbb/blocked_range.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_reduce.h>
#include <expat.h>
#include <Eigen/Dense>
#include "miniz_extension.hpp"
#include "nlohmann/json.hpp"
#include "TextConfiguration.hpp"
#include "EmbossShape.hpp"
#include "ExPolygonSerialize.hpp"
#include "NSVGUtils.hpp"
#include <fast_float/fast_float.h>
#include "libslic3r/ProjectTask.hpp"

Go to the source code of this file.

Classes

struct  ZipUnicodePathExtraField
struct  hex_wrap< T >
class  version_error
class  Slic3r::_BBS_3MF_Base
class  Slic3r::_BBS_3MF_Importer
struct  Slic3r::_BBS_3MF_Importer::Component
struct  Slic3r::_BBS_3MF_Importer::Geometry
struct  Slic3r::_BBS_3MF_Importer::CurrentObject
struct  Slic3r::_BBS_3MF_Importer::CurrentConfig
struct  Slic3r::_BBS_3MF_Importer::CurrentInstance
struct  Slic3r::_BBS_3MF_Importer::Instance
struct  Slic3r::_BBS_3MF_Importer::CutObjectInfo
struct  Slic3r::_BBS_3MF_Importer::CutObjectInfo::Connector
struct  Slic3r::_BBS_3MF_Importer::ObjectImporter
struct  Slic3r::TextConfigurationSerialization
class  Slic3r::_BBS_3MF_Exporter
struct  Slic3r::_BBS_3MF_Exporter::BuildItem
struct  Slic3r::_BBS_3MF_Exporter::ObjectData
class  Slic3r::_BBS_Backup_Manager
struct  Slic3r::_BBS_Backup_Manager::Task
struct  Slic3r::_BBS_Backup_Manager::timer
struct  Slic3r::anonymous_namespace{bbs_3mf.cpp}::PublishedXmlProbe
union  Slic3r::_BBS_Backup_Manager::Task.__unnamed0__

Namespaces

namespace  std
 STL namespace.
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{bbs_3mf.cpp}

Macros

#define EXPORT_3MF_USE_SPIRIT_KARMA_FP   0
#define WRITE_ZIP_LANGUAGE_ENCODING   1
#define L(s)
 macro used to mark string used at localization, return same string
#define _(s)

Functions

template<class _Elem, class _Traits, class _Arg>
basic_ostream< _Elem, _Traits > & std::operator<< (basic_ostream< _Elem, _Traits > &ostr, const hex_wrap< _Arg > &wrap)
const char * bbs_get_attribute_value_charptr (const char **attributes, unsigned int attributes_size, const char *attribute_key)
std::string bbs_get_attribute_value_string (const char **attributes, unsigned int attributes_size, const char *attribute_key)
float bbs_get_attribute_value_float (const char **attributes, unsigned int attributes_size, const char *attribute_key)
int bbs_get_attribute_value_int (const char **attributes, unsigned int attributes_size, const char *attribute_key)
bool bbs_get_attribute_value_bool (const char **attributes, unsigned int attributes_size, const char *attribute_key)
void add_vec3 (std::stringstream &stream, const Slic3r::Vec3f &tr)
template<typename T>
void add_vector (std::stringstream &stream, const std::vector< T > &values)
std::vector< int > parse_int_list (const std::string &value)
std::string join_int_list_comma (const std::vector< int > &values)
Slic3r::Vec3f get_vec3_from_string (const std::string &pos_str)
Slic3r::Transform3d bbs_get_transform_from_3mf_specs_string (const std::string &mat_str)
Slic3r::Vec3d bbs_get_offset_from_3mf_specs_string (const std::string &vec_str)
float bbs_get_unit_factor (const std::string &unit)
bool bbs_is_valid_object_type (const std::string &type)
bool Slic3r::is_published_3mf_flag (const std::string &value)
static size_t Slic3r::mz_zip_read_istream (void *pOpaque, mz_uint64 file_ofs, void *pBuf, size_t n)
static void Slic3r::check_painting_version (unsigned int loaded_version, unsigned int highest_supported_version, const std::string &error_msg)
static void Slic3r::to_xml (std::stringstream &stream, const EmbossShape &es, const ModelVolume &volume, mz_zip_archive &archive, bool export_full_path)
static std::optional< EmbossShape > Slic3r::read_emboss_shape (const char **attributes, unsigned int num_attributes)
static void Slic3r::reset_stream (std::stringstream &stream)
boost::filesystem::path Slic3r::get_dealed_platform_path (std::string path_str)
static void Slic3r::add_texture_displacement (std::stringstream &stream, const ModelVolume &volume, mz_zip_archive &archive, const std::string &id)
static std::string Slic3r::sanitize_object_label (const std::string &name)
static void Slic3r::handle_legacy_project_loaded (unsigned int version_project_file, DynamicPrintConfig &config)
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)
template<typename F, typename S>
F Slic3r::anonymous_namespace{bbs_3mf.cpp}::bimap_cvt (const boost::bimap< F, S > &bmap, S s, const F &def_value)
template<typename F, typename S>
S Slic3r::anonymous_namespace{bbs_3mf.cpp}::bimap_cvt (const boost::bimap< F, S > &bmap, F f, const S &def_value)
FontProp::HorizontalAlign Slic3r::anonymous_namespace{bbs_3mf.cpp}::read_horizontal_align (const char **attributes, unsigned int num_attributes, const TextConfigurationSerialization::HorizontalAlignToName &horizontal_align_to_name)
FontProp::VerticalAlign Slic3r::anonymous_namespace{bbs_3mf.cpp}::read_vertical_align (const char **attributes, unsigned int num_attributes, const TextConfigurationSerialization::VerticalAlignToName &vertical_align_to_name)
Transform3d Slic3r::anonymous_namespace{bbs_3mf.cpp}::create_fix (const std::optional< Transform3d > &prev, const ModelVolume &volume)
bool Slic3r::anonymous_namespace{bbs_3mf.cpp}::to_xml (std::stringstream &stream, const EmbossShape::SvgFile &svg, const ModelVolume &volume, mz_zip_archive &archive, bool export_full_path)

Variables

const unsigned int VERSION_BBS_3MF = 1
const unsigned int VERSION_BBS_3MF_COMPATIBLE = 2
const char * BBS_3MF_VERSION1 = "bamboo_slicer:Version3mf"
const char * BBS_3MF_VERSION = "BambuStudio:3mfVersion"
const unsigned int FDM_SUPPORTS_PAINTING_VERSION = 0
const unsigned int SEAM_PAINTING_VERSION = 0
const unsigned int MM_PAINTING_VERSION = 0
const std::string BBS_FDM_SUPPORTS_PAINTING_VERSION = "BambuStudio:FdmSupportsPaintingVersion"
const std::string BBS_SEAM_PAINTING_VERSION = "BambuStudio:SeamPaintingVersion"
const std::string BBS_MM_PAINTING_VERSION = "BambuStudio:MmPaintingVersion"
const std::string BBL_MODEL_ID_TAG = "model_id"
const std::string BBL_MODEL_NAME_TAG = "Title"
const std::string BBL_ORIGIN_TAG = "Origin"
const std::string BBL_DESIGNER_TAG = "Designer"
const std::string BBL_DESIGNER_USER_ID_TAG = "DesignerUserId"
const std::string BBL_DESIGNER_COVER_FILE_TAG = "DesignerCover"
const std::string BBL_DESCRIPTION_TAG = "Description"
const std::string BBL_COPYRIGHT_TAG = "CopyRight"
const std::string BBL_COPYRIGHT_NORMATIVE_TAG = "Copyright"
const std::string BBL_LICENSE_TAG = "License"
const std::string BBL_REGION_TAG = "Region"
const std::string BBL_MODIFICATION_TAG = "ModificationDate"
const std::string BBL_CREATION_DATE_TAG = "CreationDate"
const std::string BBL_APPLICATION_TAG = "Application"
const std::string ORCASLICER_TAG = "OrcaSlicer"
const std::string BBL_MAKERLAB_TAG = "MakerLab"
const std::string BBL_MAKERLAB_VERSION_TAG = "MakerLabVersion"
const std::string BBL_PROFILE_TITLE_TAG = "ProfileTitle"
const std::string BBL_PROFILE_COVER_TAG = "ProfileCover"
const std::string BBL_PROFILE_DESCRIPTION_TAG = "ProfileDescription"
const std::string BBL_PROFILE_USER_ID_TAG = "ProfileUserId"
const std::string BBL_PROFILE_USER_NAME_TAG = "ProfileUserName"
const std::string MODEL_FOLDER = "3D/"
const std::string MODEL_EXTENSION = ".model"
const std::string MODEL_FILE = "3D/3dmodel.model"
const std::string MODEL_RELS_FILE = "3D/_rels/3dmodel.model.rels"
const std::string METADATA_DIR = "Metadata/"
const std::string ACCESOR_DIR = "accesories/"
const std::string GCODE_EXTENSION = ".gcode"
const std::string THUMBNAIL_EXTENSION = ".png"
const std::string CALIBRATION_INFO_EXTENSION = ".json"
const std::string CONTENT_TYPES_FILE = "[Content_Types].xml"
const std::string RELATIONSHIPS_FILE = "_rels/.rels"
const std::string THUMBNAIL_FILE = "Metadata/plate_1.png"
const std::string THUMBNAIL_FOR_PRINTER_FILE = "Metadata/bbl_thumbnail.png"
const std::string PRINTER_THUMBNAIL_SMALL_FILE = "/Auxiliaries/.thumbnails/thumbnail_small.png"
const std::string PRINTER_THUMBNAIL_MIDDLE_FILE = "/Auxiliaries/.thumbnails/thumbnail_middle.png"
const std::string _3MF_COVER_FILE = "/Auxiliaries/.thumbnails/thumbnail_3mf.png"
const std::string BBS_PRINT_CONFIG_FILE = "Metadata/print_profile.config"
const std::string BBS_PROJECT_CONFIG_FILE = "Metadata/project_settings.config"
const std::string BBS_MODEL_CONFIG_FILE = "Metadata/model_settings.config"
const std::string BBS_MODEL_CONFIG_RELS_FILE = "Metadata/_rels/model_settings.config.rels"
const std::string SLICE_INFO_CONFIG_FILE = "Metadata/slice_info.config"
const std::string FILAMENT_SEQUENCE_FILE = "Metadata/filament_sequence.json"
const std::string BBS_LAYER_HEIGHTS_PROFILE_FILE = "Metadata/layer_heights_profile.txt"
const std::string ORCA_CAD_RECIPE_FILE = "Metadata/orca_cad.bin"
const std::string LEGACY_CAD_RECIPE_FILE = "Metadata/SnapOrca_cad.bin"
const std::string LAYER_CONFIG_RANGES_FILE = "Metadata/layer_config_ranges.xml"
const std::string BRIM_EAR_POINTS_FILE = "Metadata/brim_ear_points.txt"
const std::string CUSTOM_GCODE_PER_PRINT_Z_FILE = "Metadata/custom_gcode_per_layer.xml"
const std::string AUXILIARY_DIR = "Auxiliaries/"
const std::string PROJECT_EMBEDDED_PRINT_PRESETS_FILE = "Metadata/print_setting_"
const std::string PROJECT_EMBEDDED_SLICE_PRESETS_FILE = "Metadata/process_settings_"
const std::string PROJECT_EMBEDDED_FILAMENT_PRESETS_FILE = "Metadata/filament_settings_"
const std::string PROJECT_EMBEDDED_PRINTER_PRESETS_FILE = "Metadata/machine_settings_"
const std::string CUT_INFORMATION_FILE = "Metadata/cut_information.xml"
const unsigned int AUXILIARY_STR_LEN = 12
const unsigned int METADATA_STR_LEN = 9
static constexpr const char * MODEL_TAG = "model"
static constexpr const char * RESOURCES_TAG = "resources"
static constexpr const char * COLOR_GROUP_TAG = "m:colorgroup"
static constexpr const char * COLOR_TAG = "m:color"
static constexpr const char * OBJECT_TAG = "object"
static constexpr const char * MESH_TAG = "mesh"
static constexpr const char * MESH_STAT_TAG = "mesh_stat"
static constexpr const char * VERTICES_TAG = "vertices"
static constexpr const char * VERTEX_TAG = "vertex"
static constexpr const char * TRIANGLES_TAG = "triangles"
static constexpr const char * TRIANGLE_TAG = "triangle"
static constexpr const char * COMPONENTS_TAG = "components"
static constexpr const char * COMPONENT_TAG = "component"
static constexpr const char * BUILD_TAG = "build"
static constexpr const char * ITEM_TAG = "item"
static constexpr const char * METADATA_TAG = "metadata"
static constexpr const char * FILAMENT_TAG = "filament"
static constexpr const char * MIXED_FILAMENT_TAG = "mixed_filament"
static constexpr const char * MIXED_FILAMENT_COMPONENTS_TAG = "components"
static constexpr const char * SLICE_WARNING_TAG = "warning"
static constexpr const char * WARNING_MSG_TAG = "msg"
static constexpr const char * FILAMENT_ID_TAG = "id"
static constexpr const char * FILAMENT_TYPE_TAG = "type"
static constexpr const char * FILAMENT_COLOR_TAG = "color"
static constexpr const char * FILAMENT_USED_M_TAG = "used_m"
static constexpr const char * FILAMENT_USED_G_TAG = "used_g"
static constexpr const char * FILAMENT_USED_FOR_SUPPORT = "used_for_support"
static constexpr const char * FILAMENT_USED_FOR_OBJECT = "used_for_object"
static constexpr const char * FILAMENT_NOZZLE_GROUP_ID_TAG = "group_id"
static constexpr const char * FILAMENT_NOZZLE_DIAMETER_TAG = "nozzle_diameter"
static constexpr const char * FILAMENT_NOZZLE_VOLUME_TYPE_TAG = "volume_type"
static constexpr const char * NOZZLE_TAG = "nozzle"
static constexpr const char * FILAMENT_TRAY_INFO_ID_TAG = "tray_info_idx"
static constexpr const char * LAYER_FILAMENT_LISTS_TAG = "layer_filament_lists"
static constexpr const char * LAYER_FILAMENT_LIST_TAG = "layer_filament_list"
static constexpr const char * CONFIG_TAG = "config"
static constexpr const char * VOLUME_TAG = "volume"
static constexpr const char * PART_TAG = "part"
static constexpr const char * PLATE_TAG = "plate"
static constexpr const char * INSTANCE_TAG = "model_instance"
static constexpr const char * ASSEMBLE_TAG = "assemble"
static constexpr const char * ASSEMBLE_ITEM_TAG = "assemble_item"
static constexpr const char * SLICE_HEADER_TAG = "header"
static constexpr const char * SLICE_HEADER_ITEM_TAG = "header_item"
static constexpr const char * TEXT_INFO_TAG = "text_info"
static constexpr const char * TEXT_ATTR = "text"
static constexpr const char * FONT_NAME_ATTR = "font_name"
static constexpr const char * FONT_INDEX_ATTR = "font_index"
static constexpr const char * FONT_SIZE_ATTR = "font_size"
static constexpr const char * THICKNESS_ATTR = "thickness"
static constexpr const char * EMBEDED_DEPTH_ATTR = "embeded_depth"
static constexpr const char * ROTATE_ANGLE_ATTR = "rotate_angle"
static constexpr const char * TEXT_GAP_ATTR = "text_gap"
static constexpr const char * BOLD_ATTR = "bold"
static constexpr const char * ITALIC_ATTR = "italic"
static constexpr const char * SURFACE_TEXT_ATTR = "surface_text"
static constexpr const char * KEEP_HORIZONTAL_ATTR = "keep_horizontal"
static constexpr const char * HIT_MESH_ATTR = "hit_mesh"
static constexpr const char * HIT_POSITION_ATTR = "hit_position"
static constexpr const char * HIT_NORMAL_ATTR = "hit_normal"
static constexpr const char * RELATIONSHIP_TAG = "Relationship"
static constexpr const char * PID_ATTR = "pid"
static constexpr const char * PUUID_ATTR = "p:UUID"
static constexpr const char * PUUID_LOWER_ATTR = "p:uuid"
static constexpr const char * PPATH_ATTR = "p:path"
static constexpr const char * OBJECT_UUID_SUFFIX = "-61cb-4c03-9d28-80fed5dfa1dc"
static constexpr const char * OBJECT_UUID_SUFFIX2 = "-71cb-4c03-9d28-80fed5dfa1dc"
static constexpr const char * SUB_OBJECT_UUID_SUFFIX = "-81cb-4c03-9d28-80fed5dfa1dc"
static constexpr const char * COMPONENT_UUID_SUFFIX = "-b206-40ff-9872-83e8017abed1"
static constexpr const char * BUILD_UUID = "2c7c17d8-22b5-4d84-8835-1976022ea369"
static constexpr const char * BUILD_UUID_SUFFIX = "-b1ec-4553-aec9-835e5b724bb4"
static constexpr const char * TARGET_ATTR = "Target"
static constexpr const char * RELS_TYPE_ATTR = "Type"
static constexpr const char * UNIT_ATTR = "unit"
static constexpr const char * NAME_ATTR = "name"
static constexpr const char * COLOR_ATTR = "color"
static constexpr const char * TYPE_ATTR = "type"
static constexpr const char * ID_ATTR = "id"
static constexpr const char * X_ATTR = "x"
static constexpr const char * Y_ATTR = "y"
static constexpr const char * Z_ATTR = "z"
static constexpr const char * V1_ATTR = "v1"
static constexpr const char * V2_ATTR = "v2"
static constexpr const char * V3_ATTR = "v3"
static constexpr const char * OBJECTID_ATTR = "objectid"
static constexpr const char * TRANSFORM_ATTR = "transform"
static constexpr const char * OFFSET_ATTR = "offset"
static constexpr const char * PRINTABLE_ATTR = "printable"
static constexpr const char * AUTO_DROP_ATTR = "auto_drop"
static constexpr const char * INSTANCESCOUNT_ATTR = "instances_count"
static constexpr const char * CUSTOM_SUPPORTS_ATTR = "paint_supports"
static constexpr const char * CUSTOM_FUZZY_SKIN_ATTR = "paint_fuzzy_skin"
static constexpr const char * CUSTOM_SEAM_ATTR = "paint_seam"
static constexpr const char * MMU_SEGMENTATION_ATTR = "paint_color"
static constexpr const char * TEXTURE_DISPLACEMENT_ATTRS [Slic3r::TEXTURE_DISPLACEMENT_MAX_LAYERS]
static constexpr const char * TEXTURE_DISPLACEMENT_KEY = "texture_displacement"
static constexpr const char * TEXTURE_DISPLACEMENT_DIR = "Metadata/texture_displacement/"
static constexpr const char * FACE_PROPERTY_ATTR = "face_property"
static constexpr const char * KEY_ATTR = "key"
static constexpr const char * VALUE_ATTR = "value"
static constexpr const char * FIRST_TRIANGLE_ID_ATTR = "firstid"
static constexpr const char * LAST_TRIANGLE_ID_ATTR = "lastid"
static constexpr const char * SUBTYPE_ATTR = "subtype"
static constexpr const char * LOCK_ATTR = "locked"
static constexpr const char * BED_TYPE_ATTR = "bed_type"
static constexpr const char * PRINT_SEQUENCE_ATTR = "print_sequence"
static constexpr const char * FIRST_LAYER_PRINT_SEQUENCE_ATTR = "first_layer_print_sequence"
static constexpr const char * OTHER_LAYERS_PRINT_SEQUENCE_ATTR = "other_layers_print_sequence"
static constexpr const char * OTHER_LAYERS_PRINT_SEQUENCE_NUMS_ATTR = "other_layers_print_sequence_nums"
static constexpr const char * SPIRAL_VASE_MODE = "spiral_mode"
static constexpr const char * IMEX_PARALLEL_MODE_ATTR = "imex_parallel_mode"
static constexpr const char * IXEX_PARALLEL_MODE_ATTR_LEGACY = "ixex_parallel_mode"
static constexpr const char * IMEX_HEAD_FILAMENT_MAP_ATTR = "imex_head_filament_map"
static constexpr const char * FILAMENT_MAP_MODE_ATTR = "filament_map_mode"
static constexpr const char * FILAMENT_MAP_ATTR = "filament_maps"
static constexpr const char * FILAMENT_VOL_MAP_ATTR = "filament_volume_maps"
static constexpr const char * LIMIT_FILAMENT_MAP_ATTR = "limit_filament_maps"
static constexpr const char * GCODE_FILE_ATTR = "gcode_file"
static constexpr const char * THUMBNAIL_FILE_ATTR = "thumbnail_file"
static constexpr const char * NO_LIGHT_THUMBNAIL_FILE_ATTR = "thumbnail_no_light_file"
static constexpr const char * TOP_FILE_ATTR = "top_file"
static constexpr const char * PICK_FILE_ATTR = "pick_file"
static constexpr const char * PATTERN_FILE_ATTR = "pattern_file"
static constexpr const char * PATTERN_BBOX_FILE_ATTR = "pattern_bbox_file"
static constexpr const char * OBJECT_ID_ATTR = "object_id"
static constexpr const char * INSTANCEID_ATTR = "instance_id"
static constexpr const char * IDENTIFYID_ATTR = "identify_id"
static constexpr const char * PLATERID_ATTR = "plater_id"
static constexpr const char * PLATER_NAME_ATTR = "plater_name"
static constexpr const char * PLATE_IDX_ATTR = "index"
static constexpr const char * PRINTER_MODEL_ID_ATTR = "printer_model_id"
static constexpr const char * EXTRUDER_TYPE_ATTR = "extruder_type"
static constexpr const char * NOZZLE_VOLUME_TYPE_ATTR = "nozzle_volume_type"
static constexpr const char * NOZZLE_TYPE_ATTR = "nozzle_types"
static constexpr const char * NOZZLE_DIAMETERS_ATTR = "nozzle_diameters"
static constexpr const char * SLICE_PREDICTION_ATTR = "prediction"
static constexpr const char * SLICE_WEIGHT_ATTR = "weight"
static constexpr const char * FIRST_LAYER_TIME_ATTR = "first_layer_time"
static constexpr const char * TIMELAPSE_TYPE_ATTR = "timelapse_type"
static constexpr const char * OUTSIDE_ATTR = "outside"
static constexpr const char * SUPPORT_USED_ATTR = "support_used"
static constexpr const char * LABEL_OBJECT_ENABLED_ATTR = "label_object_enabled"
static constexpr const char * ENABLE_FILAMENT_DYNAMIC_MAP_ATTR = "enable_filament_dynamic_map"
static constexpr const char * HAS_FILAMENT_SWITCHER_ATTR = "has_filament_switcher"
static constexpr const char * SKIPPED_ATTR = "skipped"
static constexpr const char * OBJECT_TYPE = "object"
static constexpr const char * VOLUME_TYPE = "volume"
static constexpr const char * PART_TYPE = "part"
static constexpr const char * NAME_KEY = "name"
static constexpr const char * VOLUME_TYPE_KEY = "volume_type"
static constexpr const char * PART_TYPE_KEY = "part_type"
static constexpr const char * PRECISE_SEAM_TYPE_KEY = "precise_seam_type"
static constexpr char PRECISE_SEAM_CONFIG_PREFIX [] = "precise_seam_config:"
static constexpr const char * MATRIX_KEY = "matrix"
static constexpr const char * SOURCE_FILE_KEY = "source_file"
static constexpr const char * SOURCE_OBJECT_ID_KEY = "source_object_id"
static constexpr const char * SOURCE_VOLUME_ID_KEY = "source_volume_id"
static constexpr const char * SOURCE_OFFSET_X_KEY = "source_offset_x"
static constexpr const char * SOURCE_OFFSET_Y_KEY = "source_offset_y"
static constexpr const char * SOURCE_OFFSET_Z_KEY = "source_offset_z"
static constexpr const char * SOURCE_IN_INCHES = "source_in_inches"
static constexpr const char * SOURCE_IN_METERS = "source_in_meters"
static constexpr const char * MESH_SHARED_KEY = "mesh_shared"
static constexpr const char * MESH_STAT_EDGES_FIXED = "edges_fixed"
static constexpr const char * MESH_STAT_DEGENERATED_FACETS = "degenerate_facets"
static constexpr const char * MESH_STAT_FACETS_REMOVED = "facets_removed"
static constexpr const char * MESH_STAT_FACETS_RESERVED = "facets_reversed"
static constexpr const char * MESH_STAT_BACKWARDS_EDGES = "backwards_edges"
static constexpr const char * TEXT_TAG = "slic3rpe:text"
static constexpr const char * TEXT_DATA_ATTR = "text"
static constexpr const char * STYLE_NAME_ATTR = "style_name"
static constexpr const char * FONT_DESCRIPTOR_ATTR = "font_descriptor"
static constexpr const char * FONT_DESCRIPTOR_TYPE_ATTR = "font_descriptor_type"
static constexpr const char * CHAR_GAP_ATTR = "char_gap"
static constexpr const char * LINE_GAP_ATTR = "line_gap"
static constexpr const char * LINE_HEIGHT_ATTR = "line_height"
static constexpr const char * BOLDNESS_ATTR = "boldness"
static constexpr const char * SKEW_ATTR = "skew"
static constexpr const char * PER_GLYPH_ATTR = "per_glyph"
static constexpr const char * HORIZONTAL_ALIGN_ATTR = "horizontal"
static constexpr const char * VERTICAL_ALIGN_ATTR = "vertical"
static constexpr const char * COLLECTION_NUMBER_ATTR = "collection"
static constexpr const char * FONT_FAMILY_ATTR = "family"
static constexpr const char * FONT_FACE_NAME_ATTR = "face_name"
static constexpr const char * FONT_STYLE_ATTR = "style"
static constexpr const char * FONT_WEIGHT_ATTR = "weight"
static constexpr const char * SHAPE_TAG = "slic3rpe:shape"
static constexpr const char * SHAPE_SCALE_ATTR = "scale"
static constexpr const char * UNHEALED_ATTR = "unhealed"
static constexpr const char * SVG_FILE_PATH_ATTR = "filepath"
static constexpr const char * SVG_FILE_PATH_IN_3MF_ATTR = "filepath3mf"
static constexpr const char * DEPTH_ATTR = "depth"
static constexpr const char * USE_SURFACE_ATTR = "use_surface"
const unsigned int BBS_VALID_OBJECT_TYPES_COUNT = 2
const char * BBS_VALID_OBJECT_TYPES []
const char * BBS_INVALID_OBJECT_TYPES []

Class Documentation

◆ hex_wrap

struct hex_wrap
template<typename T>
struct hex_wrap< T >
Collaboration diagram for hex_wrap< T >:
Class Members
T t

◆ Slic3r::_BBS_3MF_Importer::CurrentConfig

struct Slic3r::_BBS_3MF_Importer::CurrentConfig
Class Members
int object_id {-1}
int volume_id {-1}

◆ Slic3r::_BBS_3MF_Importer::CurrentInstance

struct Slic3r::_BBS_3MF_Importer::CurrentInstance
Class Members
int identify_id
int instance_id
int object_id

◆ Slic3r::_BBS_3MF_Importer::ObjectMetadata

struct Slic3r::_BBS_3MF_Importer::ObjectMetadata
Collaboration diagram for Slic3r::_BBS_3MF_Importer::ObjectMetadata:
Class Members
typedef vector< VolumeMetadata > VolumeMetadataList
Class Members
optional< bool > auto_drop
MetadataList metadata
VolumeMetadataList volumes

◆ Slic3r::_BBS_3MF_Importer::CutObjectInfo

struct Slic3r::_BBS_3MF_Importer::CutObjectInfo
Collaboration diagram for Slic3r::_BBS_3MF_Importer::CutObjectInfo:
Class Members
vector< Connector > connectors
CutObjectBase id

◆ Slic3r::_BBS_3MF_Importer::CutObjectInfo::Connector

struct Slic3r::_BBS_3MF_Importer::CutObjectInfo::Connector
Class Members
float h_tolerance
float r_tolerance
int type
int volume_id

◆ Slic3r::_BBS_3MF_Exporter::ObjectData

struct Slic3r::_BBS_3MF_Exporter::ObjectData
Collaboration diagram for Slic3r::_BBS_3MF_Exporter::ObjectData:
Class Members
int backup_id
ModelObject const * object
int object_id = 0
bool share_mesh = false
string sub_path
VolumeToObjectIDMap volumes_objectID

◆ Slic3r::_BBS_Backup_Manager::Task.__unnamed0__

union Slic3r::_BBS_Backup_Manager::Task.__unnamed0__
Class Members
size_t delay
bool removeAll
size_t sequence

Macro Definition Documentation

◆ _

#define _ ( s)
Value:
std::string translate(const std::string &s)
Definition I18N.hpp:18

◆ EXPORT_3MF_USE_SPIRIT_KARMA_FP

#define EXPORT_3MF_USE_SPIRIT_KARMA_FP   0

◆ L

#define L ( s)
Value:
(s)

macro used to mark string used at localization, return same string

◆ WRITE_ZIP_LANGUAGE_ENCODING

#define WRITE_ZIP_LANGUAGE_ENCODING   1

Function Documentation

◆ add_vec3()

void add_vec3 ( std::stringstream & stream,
const Slic3r::Vec3f & tr )
567{
568 for (unsigned r = 0; r < 3; ++r) {
569 stream << tr(r);
570 if (r != 2)
571 stream << " ";
572 }
573}

◆ add_vector()

template<typename T>
void add_vector ( std::stringstream & stream,
const std::vector< T > & values )
577{
578 for (size_t i = 0; i < values.size(); ++i) {
579 stream << values[i];
580 if (i != (values.size() - 1))
581 stream << " ";
582 }
583}

Referenced by Slic3r::_BBS_3MF_Exporter::_add_slice_info_config_file_to_archive().

Here is the caller graph for this function:

◆ bbs_get_attribute_value_bool()

bool bbs_get_attribute_value_bool ( const char ** attributes,
unsigned int attributes_size,
const char * attribute_key )
561{
562 const char* text = bbs_get_attribute_value_charptr(attributes, attributes_size, attribute_key);
563 return (text != nullptr) ? (bool)::atoi(text) : true;
564}
const char * bbs_get_attribute_value_charptr(const char **attributes, unsigned int attributes_size, const char *attribute_key)
Definition bbs_3mf.cpp:525

References bbs_get_attribute_value_charptr().

Referenced by Slic3r::_BBS_3MF_Importer::_handle_start_config_object(), and Slic3r::_BBS_3MF_Importer::_handle_start_item().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bbs_get_attribute_value_charptr()

const char * bbs_get_attribute_value_charptr ( const char ** attributes,
unsigned int attributes_size,
const char * attribute_key )
526{
527 if ((attributes == nullptr) || (attributes_size == 0) || (attributes_size % 2 != 0) || (attribute_key == nullptr))
528 return nullptr;
529
530 for (unsigned int a = 0; a < attributes_size; a += 2) {
531 if (::strcmp(attributes[a], attribute_key) == 0)
532 return attributes[a + 1];
533 }
534
535 return nullptr;
536}

Referenced by Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_triangle(), Slic3r::_BBS_3MF_Importer::_handle_start_config_object(), Slic3r::_BBS_3MF_Importer::_handle_start_item(), Slic3r::_BBS_3MF_Importer::_handle_start_triangle(), bbs_get_attribute_value_bool(), bbs_get_attribute_value_float(), bbs_get_attribute_value_int(), and bbs_get_attribute_value_string().

Here is the caller graph for this function:

◆ bbs_get_attribute_value_float()

float bbs_get_attribute_value_float ( const char ** attributes,
unsigned int attributes_size,
const char * attribute_key )
545{
546 float value = 0.0f;
547 if (const char *text = bbs_get_attribute_value_charptr(attributes, attributes_size, attribute_key); text != nullptr)
548 fast_float::from_chars(text, text + strlen(text), value);
549 return value;
550}

References bbs_get_attribute_value_charptr().

Referenced by Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_vertex(), Slic3r::_BBS_3MF_Importer::_handle_start_vertex(), Slic3r::TextConfigurationSerialization::read(), Slic3r::read_emboss_shape(), and Slic3r::TextConfigurationSerialization::read_old().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bbs_get_attribute_value_int()

int bbs_get_attribute_value_int ( const char ** attributes,
unsigned int attributes_size,
const char * attribute_key )
553{
554 int value = 0;
555 if (const char *text = bbs_get_attribute_value_charptr(attributes, attributes_size, attribute_key); text != nullptr)
556 boost::spirit::qi::parse(text, text + strlen(text), boost::spirit::qi::int_, value);
557 return value;
558}

References bbs_get_attribute_value_charptr().

Referenced by Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_color_group(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_component(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_object(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_triangle(), Slic3r::_BBS_3MF_Importer::_handle_start_assemble_item(), Slic3r::_BBS_3MF_Importer::_handle_start_color_group(), Slic3r::_BBS_3MF_Importer::_handle_start_component(), Slic3r::_BBS_3MF_Importer::_handle_start_config_object(), Slic3r::_BBS_3MF_Importer::_handle_start_config_volume(), Slic3r::_BBS_3MF_Importer::_handle_start_config_volume_mesh(), Slic3r::_BBS_3MF_Importer::_handle_start_item(), Slic3r::_BBS_3MF_Importer::_handle_start_object(), Slic3r::_BBS_3MF_Importer::_handle_start_triangle(), Slic3r::TextConfigurationSerialization::read(), Slic3r::read_emboss_shape(), and Slic3r::TextConfigurationSerialization::read_old().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bbs_get_attribute_value_string()

std::string bbs_get_attribute_value_string ( const char ** attributes,
unsigned int attributes_size,
const char * attribute_key )
539{
540 const char* text = bbs_get_attribute_value_charptr(attributes, attributes_size, attribute_key);
541 return (text != nullptr) ? text : "";
542}

References bbs_get_attribute_value_charptr().

Referenced by Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_color(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_component(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_metadata(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_model(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_object(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_triangle(), Slic3r::_BBS_3MF_Importer::_handle_start_assemble_item(), Slic3r::_BBS_3MF_Importer::_handle_start_color(), Slic3r::_BBS_3MF_Importer::_handle_start_component(), Slic3r::_BBS_3MF_Importer::_handle_start_config_filament(), Slic3r::_BBS_3MF_Importer::_handle_start_config_metadata(), Slic3r::_BBS_3MF_Importer::_handle_start_config_mixed_filament(), Slic3r::_BBS_3MF_Importer::_handle_start_config_nozzle(), Slic3r::_BBS_3MF_Importer::_handle_start_config_volume(), Slic3r::_BBS_3MF_Importer::_handle_start_config_warning(), Slic3r::_BBS_3MF_Importer::_handle_start_item(), Slic3r::_BBS_3MF_Importer::_handle_start_metadata(), Slic3r::_BBS_3MF_Importer::_handle_start_model(), Slic3r::_BBS_3MF_Importer::_handle_start_object(), Slic3r::_BBS_3MF_Importer::_handle_start_relationship(), Slic3r::_BBS_3MF_Importer::_handle_start_triangle(), Slic3r::TextConfigurationSerialization::read(), Slic3r::read_emboss_shape(), Slic3r::anonymous_namespace{bbs_3mf.cpp}::read_horizontal_align(), Slic3r::TextConfigurationSerialization::read_old(), and Slic3r::anonymous_namespace{bbs_3mf.cpp}::read_vertical_align().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ bbs_get_offset_from_3mf_specs_string()

Slic3r::Vec3d bbs_get_offset_from_3mf_specs_string ( const std::string & vec_str)
667{
668 Slic3r::Vec3d ofs2ass(0, 0, 0);
669
670 if (vec_str.empty())
671 // empty string means default zero offset
672 return ofs2ass;
673
674 std::vector<std::string> vec_elements_str;
675 boost::split(vec_elements_str, vec_str, boost::is_any_of(" "), boost::token_compress_on);
676
677 unsigned int size = (unsigned int)vec_elements_str.size();
678 if (size != 3)
679 // invalid data, return zero offset
680 return ofs2ass;
681
682 for (unsigned int i = 0; i < 3; i++) {
683 ofs2ass(i) = ::atof(vec_elements_str[i].c_str());
684 }
685
686 return ofs2ass;
687}
Eigen::Matrix< double, 3, 1, Eigen::DontAlign > Vec3d
Definition Point.hpp:68

Referenced by Slic3r::_BBS_3MF_Importer::_handle_start_assemble_item().

Here is the caller graph for this function:

◆ bbs_get_transform_from_3mf_specs_string()

Slic3r::Transform3d bbs_get_transform_from_3mf_specs_string ( const std::string & mat_str)
638{
639 // check: https://3mf.io/3d-manufacturing-format/ or https://github.com/3MFConsortium/spec_core/blob/master/3MF%20Core%20Specification.md
640 // to see how matrices are stored inside 3mf according to specifications
641 Slic3r::Transform3d ret = Slic3r::Transform3d::Identity();
642
643 if (mat_str.empty())
644 // empty string means default identity matrix
645 return ret;
646
647 std::vector<std::string> mat_elements_str;
648 boost::split(mat_elements_str, mat_str, boost::is_any_of(" "), boost::token_compress_on);
649
650 unsigned int size = (unsigned int)mat_elements_str.size();
651 if (size != 12)
652 // invalid data, return identity matrix
653 return ret;
654
655 unsigned int i = 0;
656 // matrices are stored into 3mf files as 4x3
657 // we need to transpose them
658 for (unsigned int c = 0; c < 4; ++c) {
659 for (unsigned int r = 0; r < 3; ++r) {
660 ret(r, c) = ::atof(mat_elements_str[i++].c_str());
661 }
662 }
663 return ret;
664}
Eigen::Transform< double, 3, Eigen::Affine, Eigen::DontAlign > Transform3d
Definition Point.hpp:96

Referenced by Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_component(), Slic3r::_BBS_3MF_Importer::_handle_start_assemble_item(), Slic3r::_BBS_3MF_Importer::_handle_start_component(), Slic3r::_BBS_3MF_Importer::_handle_start_item(), Slic3r::read_emboss_shape(), and Slic3r::TextConfigurationSerialization::read_old().

Here is the caller graph for this function:

◆ bbs_get_unit_factor()

float bbs_get_unit_factor ( const std::string & unit)
690{
691 const char* text = unit.c_str();
692
693 if (::strcmp(text, "micron") == 0)
694 return 0.001f;
695 else if (::strcmp(text, "centimeter") == 0)
696 return 10.0f;
697 else if (::strcmp(text, "inch") == 0)
698 return 25.4f;
699 else if (::strcmp(text, "foot") == 0)
700 return 304.8f;
701 else if (::strcmp(text, "meter") == 0)
702 return 1000.0f;
703 else
704 // default "millimeters" (see specification)
705 return 1.0f;
706}

Referenced by Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_model(), and Slic3r::_BBS_3MF_Importer::_handle_start_model().

Here is the caller graph for this function:

◆ bbs_is_valid_object_type()

bool bbs_is_valid_object_type ( const std::string & type)
709{
710 // if the type is empty defaults to "model" (see specification)
711 if (type.empty())
712 return true;
713
714 for (unsigned int i = 0; i < BBS_VALID_OBJECT_TYPES_COUNT; ++i) {
715 if (::strcmp(type.c_str(), BBS_VALID_OBJECT_TYPES[i]) == 0)
716 return true;
717 }
718
719 return false;
720}
const unsigned int BBS_VALID_OBJECT_TYPES_COUNT
Definition bbs_3mf.cpp:486
const char * BBS_VALID_OBJECT_TYPES[]
Definition bbs_3mf.cpp:487

References BBS_VALID_OBJECT_TYPES, and BBS_VALID_OBJECT_TYPES_COUNT.

Referenced by Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_object(), and Slic3r::_BBS_3MF_Importer::_handle_start_object().

Here is the caller graph for this function:

◆ get_vec3_from_string()

Slic3r::Vec3f get_vec3_from_string ( const std::string & pos_str)
620{
621 Slic3r::Vec3f pos(0, 0, 0);
622 if (pos_str.empty())
623 return pos;
624
625 std::vector<std::string> values;
626 boost::split(values, pos_str, boost::is_any_of(" "), boost::token_compress_on);
627
628 if (values.size() != 3)
629 return pos;
630
631 for (int i = 0; i < 3; ++i)
632 pos(i) = ::atof(values[i].c_str());
633
634 return pos;
635}
Vec3d pos(const Pt &p)
Definition ReprojectPointsOnMesh.hpp:16
Eigen::Matrix< float, 3, 1, Eigen::DontAlign > Vec3f
Definition Point.hpp:65

◆ join_int_list_comma()

std::string join_int_list_comma ( const std::vector< int > & values)
609{
610 std::stringstream stream;
611 for (size_t i = 0; i < values.size(); ++i) {
612 stream << values[i];
613 if (i + 1 < values.size())
614 stream << ",";
615 }
616 return stream.str();
617}

Referenced by Slic3r::_BBS_3MF_Exporter::_add_slice_info_config_file_to_archive().

Here is the caller graph for this function:

◆ parse_int_list()

std::vector< int > parse_int_list ( const std::string & value)
586{
587 std::vector<int> out;
588 if (value.empty())
589 return out;
590
591 std::vector<std::string> tokens;
592 boost::split(tokens, value, boost::is_any_of(" ,"), boost::token_compress_on);
593 out.reserve(tokens.size());
594 for (const std::string& token : tokens) {
595 if (token.empty())
596 continue;
597 try {
598 out.emplace_back(boost::lexical_cast<int>(token));
599 } catch (...) {
600 }
601 }
602
603 std::sort(out.begin(), out.end());
604 out.erase(std::unique(out.begin(), out.end()), out.end());
605 return out;
606}

Referenced by Slic3r::_BBS_3MF_Importer::_handle_start_config_filament().

Here is the caller graph for this function:

Variable Documentation

◆ _3MF_COVER_FILE

const std::string _3MF_COVER_FILE = "/Auxiliaries/.thumbnails/thumbnail_3mf.png"

◆ ACCESOR_DIR

const std::string ACCESOR_DIR = "accesories/"

◆ ASSEMBLE_ITEM_TAG

◆ ASSEMBLE_TAG

◆ AUTO_DROP_ATTR

◆ AUXILIARY_DIR

◆ AUXILIARY_STR_LEN

const unsigned int AUXILIARY_STR_LEN = 12

◆ BBL_APPLICATION_TAG

const std::string BBL_APPLICATION_TAG = "Application"

◆ BBL_COPYRIGHT_NORMATIVE_TAG

const std::string BBL_COPYRIGHT_NORMATIVE_TAG = "Copyright"

◆ BBL_COPYRIGHT_TAG

const std::string BBL_COPYRIGHT_TAG = "CopyRight"

◆ BBL_CREATION_DATE_TAG

const std::string BBL_CREATION_DATE_TAG = "CreationDate"

◆ BBL_DESCRIPTION_TAG

const std::string BBL_DESCRIPTION_TAG = "Description"

◆ BBL_DESIGNER_COVER_FILE_TAG

const std::string BBL_DESIGNER_COVER_FILE_TAG = "DesignerCover"

◆ BBL_DESIGNER_TAG

const std::string BBL_DESIGNER_TAG = "Designer"

◆ BBL_DESIGNER_USER_ID_TAG

const std::string BBL_DESIGNER_USER_ID_TAG = "DesignerUserId"

◆ BBL_LICENSE_TAG

◆ BBL_MAKERLAB_TAG

const std::string BBL_MAKERLAB_TAG = "MakerLab"

◆ BBL_MAKERLAB_VERSION_TAG

const std::string BBL_MAKERLAB_VERSION_TAG = "MakerLabVersion"

◆ BBL_MODEL_ID_TAG

const std::string BBL_MODEL_ID_TAG = "model_id"

◆ BBL_MODEL_NAME_TAG

const std::string BBL_MODEL_NAME_TAG = "Title"

◆ BBL_MODIFICATION_TAG

const std::string BBL_MODIFICATION_TAG = "ModificationDate"

◆ BBL_ORIGIN_TAG

◆ BBL_PROFILE_COVER_TAG

const std::string BBL_PROFILE_COVER_TAG = "ProfileCover"

◆ BBL_PROFILE_DESCRIPTION_TAG

const std::string BBL_PROFILE_DESCRIPTION_TAG = "ProfileDescription"

◆ BBL_PROFILE_TITLE_TAG

const std::string BBL_PROFILE_TITLE_TAG = "ProfileTitle"

◆ BBL_PROFILE_USER_ID_TAG

const std::string BBL_PROFILE_USER_ID_TAG = "ProfileUserId"

◆ BBL_PROFILE_USER_NAME_TAG

const std::string BBL_PROFILE_USER_NAME_TAG = "ProfileUserName"

◆ BBL_REGION_TAG

◆ BBS_3MF_VERSION

◆ BBS_3MF_VERSION1

◆ BBS_FDM_SUPPORTS_PAINTING_VERSION

const std::string BBS_FDM_SUPPORTS_PAINTING_VERSION = "BambuStudio:FdmSupportsPaintingVersion"

◆ BBS_INVALID_OBJECT_TYPES

const char* BBS_INVALID_OBJECT_TYPES[]
Initial value:
=
{
"solidsupport",
"support",
"surface"
}
494{
495 "solidsupport",
496 "support",
497 "surface"
498};

◆ BBS_LAYER_HEIGHTS_PROFILE_FILE

const std::string BBS_LAYER_HEIGHTS_PROFILE_FILE = "Metadata/layer_heights_profile.txt"

◆ BBS_MM_PAINTING_VERSION

const std::string BBS_MM_PAINTING_VERSION = "BambuStudio:MmPaintingVersion"

◆ BBS_MODEL_CONFIG_FILE

const std::string BBS_MODEL_CONFIG_FILE = "Metadata/model_settings.config"

◆ BBS_MODEL_CONFIG_RELS_FILE

const std::string BBS_MODEL_CONFIG_RELS_FILE = "Metadata/_rels/model_settings.config.rels"

◆ BBS_PRINT_CONFIG_FILE

const std::string BBS_PRINT_CONFIG_FILE = "Metadata/print_profile.config"

◆ BBS_PROJECT_CONFIG_FILE

const std::string BBS_PROJECT_CONFIG_FILE = "Metadata/project_settings.config"

◆ BBS_SEAM_PAINTING_VERSION

const std::string BBS_SEAM_PAINTING_VERSION = "BambuStudio:SeamPaintingVersion"

◆ BBS_VALID_OBJECT_TYPES

const char* BBS_VALID_OBJECT_TYPES[]
Initial value:
=
{
"model",
"other"
}
488{
489 "model",
490 "other"
491};

Referenced by bbs_is_valid_object_type().

◆ BBS_VALID_OBJECT_TYPES_COUNT

const unsigned int BBS_VALID_OBJECT_TYPES_COUNT = 2

◆ BED_TYPE_ATTR

◆ BOLD_ATTR

const char* BOLD_ATTR = "bold"
staticconstexpr

◆ BOLDNESS_ATTR

const char* BOLDNESS_ATTR = "boldness"
staticconstexpr

◆ BRIM_EAR_POINTS_FILE

const std::string BRIM_EAR_POINTS_FILE = "Metadata/brim_ear_points.txt"

◆ BUILD_TAG

const char* BUILD_TAG = "build"
staticconstexpr

◆ BUILD_UUID

const char* BUILD_UUID = "2c7c17d8-22b5-4d84-8835-1976022ea369"
staticconstexpr

◆ BUILD_UUID_SUFFIX

const char* BUILD_UUID_SUFFIX = "-b1ec-4553-aec9-835e5b724bb4"
staticconstexpr

◆ CALIBRATION_INFO_EXTENSION

const std::string CALIBRATION_INFO_EXTENSION = ".json"

◆ CHAR_GAP_ATTR

const char* CHAR_GAP_ATTR = "char_gap"
staticconstexpr

◆ COLLECTION_NUMBER_ATTR

const char* COLLECTION_NUMBER_ATTR = "collection"
staticconstexpr

◆ COLOR_ATTR

◆ COLOR_GROUP_TAG

◆ COLOR_TAG

◆ COMPONENT_TAG

const char* COMPONENT_TAG = "component"
staticconstexpr

◆ COMPONENT_UUID_SUFFIX

const char* COMPONENT_UUID_SUFFIX = "-b206-40ff-9872-83e8017abed1"
staticconstexpr

◆ COMPONENTS_TAG

const char* COMPONENTS_TAG = "components"
staticconstexpr

◆ CONFIG_TAG

const char* CONFIG_TAG = "config"
staticconstexpr

◆ CONTENT_TYPES_FILE

const std::string CONTENT_TYPES_FILE = "[Content_Types].xml"

◆ CUSTOM_FUZZY_SKIN_ATTR

◆ CUSTOM_GCODE_PER_PRINT_Z_FILE

const std::string CUSTOM_GCODE_PER_PRINT_Z_FILE = "Metadata/custom_gcode_per_layer.xml"

◆ CUSTOM_SEAM_ATTR

const char* CUSTOM_SEAM_ATTR = "paint_seam"
staticconstexpr

◆ CUSTOM_SUPPORTS_ATTR

const char* CUSTOM_SUPPORTS_ATTR = "paint_supports"
staticconstexpr

◆ CUT_INFORMATION_FILE

const std::string CUT_INFORMATION_FILE = "Metadata/cut_information.xml"

◆ DEPTH_ATTR

const char* DEPTH_ATTR = "depth"
staticconstexpr

◆ EMBEDED_DEPTH_ATTR

const char* EMBEDED_DEPTH_ATTR = "embeded_depth"
staticconstexpr

◆ ENABLE_FILAMENT_DYNAMIC_MAP_ATTR

const char* ENABLE_FILAMENT_DYNAMIC_MAP_ATTR = "enable_filament_dynamic_map"
staticconstexpr

◆ EXTRUDER_TYPE_ATTR

const char* EXTRUDER_TYPE_ATTR = "extruder_type"
staticconstexpr

◆ FACE_PROPERTY_ATTR

◆ FDM_SUPPORTS_PAINTING_VERSION

const unsigned int FDM_SUPPORTS_PAINTING_VERSION = 0

◆ FILAMENT_COLOR_TAG

◆ FILAMENT_ID_TAG

◆ FILAMENT_MAP_ATTR

◆ FILAMENT_MAP_MODE_ATTR

const char* FILAMENT_MAP_MODE_ATTR = "filament_map_mode"
staticconstexpr

◆ FILAMENT_NOZZLE_DIAMETER_TAG

const char* FILAMENT_NOZZLE_DIAMETER_TAG = "nozzle_diameter"
staticconstexpr

◆ FILAMENT_NOZZLE_GROUP_ID_TAG

const char* FILAMENT_NOZZLE_GROUP_ID_TAG = "group_id"
staticconstexpr

◆ FILAMENT_NOZZLE_VOLUME_TYPE_TAG

const char* FILAMENT_NOZZLE_VOLUME_TYPE_TAG = "volume_type"
staticconstexpr

◆ FILAMENT_SEQUENCE_FILE

const std::string FILAMENT_SEQUENCE_FILE = "Metadata/filament_sequence.json"

◆ FILAMENT_TAG

◆ FILAMENT_TRAY_INFO_ID_TAG

const char* FILAMENT_TRAY_INFO_ID_TAG = "tray_info_idx"
staticconstexpr

◆ FILAMENT_TYPE_TAG

◆ FILAMENT_USED_FOR_OBJECT

const char* FILAMENT_USED_FOR_OBJECT = "used_for_object"
staticconstexpr

◆ FILAMENT_USED_FOR_SUPPORT

const char* FILAMENT_USED_FOR_SUPPORT = "used_for_support"
staticconstexpr

◆ FILAMENT_USED_G_TAG

◆ FILAMENT_USED_M_TAG

◆ FILAMENT_VOL_MAP_ATTR

const char* FILAMENT_VOL_MAP_ATTR = "filament_volume_maps"
staticconstexpr

◆ FIRST_LAYER_PRINT_SEQUENCE_ATTR

const char* FIRST_LAYER_PRINT_SEQUENCE_ATTR = "first_layer_print_sequence"
staticconstexpr

◆ FIRST_LAYER_TIME_ATTR

const char* FIRST_LAYER_TIME_ATTR = "first_layer_time"
staticconstexpr

◆ FIRST_TRIANGLE_ID_ATTR

const char* FIRST_TRIANGLE_ID_ATTR = "firstid"
staticconstexpr

◆ FONT_DESCRIPTOR_ATTR

const char* FONT_DESCRIPTOR_ATTR = "font_descriptor"
staticconstexpr

◆ FONT_DESCRIPTOR_TYPE_ATTR

const char* FONT_DESCRIPTOR_TYPE_ATTR = "font_descriptor_type"
staticconstexpr

◆ FONT_FACE_NAME_ATTR

const char* FONT_FACE_NAME_ATTR = "face_name"
staticconstexpr

◆ FONT_FAMILY_ATTR

const char* FONT_FAMILY_ATTR = "family"
staticconstexpr

◆ FONT_INDEX_ATTR

const char* FONT_INDEX_ATTR = "font_index"
staticconstexpr

◆ FONT_NAME_ATTR

const char* FONT_NAME_ATTR = "font_name"
staticconstexpr

◆ FONT_SIZE_ATTR

const char* FONT_SIZE_ATTR = "font_size"
staticconstexpr

◆ FONT_STYLE_ATTR

const char* FONT_STYLE_ATTR = "style"
staticconstexpr

◆ FONT_WEIGHT_ATTR

const char* FONT_WEIGHT_ATTR = "weight"
staticconstexpr

◆ GCODE_EXTENSION

const std::string GCODE_EXTENSION = ".gcode"

◆ GCODE_FILE_ATTR

const char* GCODE_FILE_ATTR = "gcode_file"
staticconstexpr

◆ HAS_FILAMENT_SWITCHER_ATTR

const char* HAS_FILAMENT_SWITCHER_ATTR = "has_filament_switcher"
staticconstexpr

◆ HIT_MESH_ATTR

const char* HIT_MESH_ATTR = "hit_mesh"
staticconstexpr

◆ HIT_NORMAL_ATTR

const char* HIT_NORMAL_ATTR = "hit_normal"
staticconstexpr

◆ HIT_POSITION_ATTR

const char* HIT_POSITION_ATTR = "hit_position"
staticconstexpr

◆ HORIZONTAL_ALIGN_ATTR

const char* HORIZONTAL_ALIGN_ATTR = "horizontal"
staticconstexpr

◆ ID_ATTR

const char* ID_ATTR = "id"
staticconstexpr

◆ IDENTIFYID_ATTR

◆ IMEX_HEAD_FILAMENT_MAP_ATTR

const char* IMEX_HEAD_FILAMENT_MAP_ATTR = "imex_head_filament_map"
staticconstexpr

◆ IMEX_PARALLEL_MODE_ATTR

const char* IMEX_PARALLEL_MODE_ATTR = "imex_parallel_mode"
staticconstexpr

◆ INSTANCE_TAG

◆ INSTANCEID_ATTR

◆ INSTANCESCOUNT_ATTR

const char* INSTANCESCOUNT_ATTR = "instances_count"
staticconstexpr

◆ ITALIC_ATTR

const char* ITALIC_ATTR = "italic"
staticconstexpr

◆ ITEM_TAG

const char* ITEM_TAG = "item"
staticconstexpr

◆ IXEX_PARALLEL_MODE_ATTR_LEGACY

const char* IXEX_PARALLEL_MODE_ATTR_LEGACY = "ixex_parallel_mode"
staticconstexpr

◆ KEEP_HORIZONTAL_ATTR

const char* KEEP_HORIZONTAL_ATTR = "keep_horizontal"
staticconstexpr

◆ KEY_ATTR

const char* KEY_ATTR = "key"
staticconstexpr

◆ LABEL_OBJECT_ENABLED_ATTR

const char* LABEL_OBJECT_ENABLED_ATTR = "label_object_enabled"
staticconstexpr

◆ LAST_TRIANGLE_ID_ATTR

const char* LAST_TRIANGLE_ID_ATTR = "lastid"
staticconstexpr

◆ LAYER_CONFIG_RANGES_FILE

const std::string LAYER_CONFIG_RANGES_FILE = "Metadata/layer_config_ranges.xml"

◆ LAYER_FILAMENT_LIST_TAG

const char* LAYER_FILAMENT_LIST_TAG = "layer_filament_list"
staticconstexpr

◆ LAYER_FILAMENT_LISTS_TAG

const char* LAYER_FILAMENT_LISTS_TAG = "layer_filament_lists"
staticconstexpr

◆ LEGACY_CAD_RECIPE_FILE

const std::string LEGACY_CAD_RECIPE_FILE = "Metadata/SnapOrca_cad.bin"

◆ LIMIT_FILAMENT_MAP_ATTR

const char* LIMIT_FILAMENT_MAP_ATTR = "limit_filament_maps"
staticconstexpr

◆ LINE_GAP_ATTR

const char* LINE_GAP_ATTR = "line_gap"
staticconstexpr

◆ LINE_HEIGHT_ATTR

const char* LINE_HEIGHT_ATTR = "line_height"
staticconstexpr

◆ LOCK_ATTR

◆ MATRIX_KEY

const char* MATRIX_KEY = "matrix"
staticconstexpr

◆ MESH_SHARED_KEY

const char* MESH_SHARED_KEY = "mesh_shared"
staticconstexpr

◆ MESH_STAT_BACKWARDS_EDGES

const char* MESH_STAT_BACKWARDS_EDGES = "backwards_edges"
staticconstexpr

◆ MESH_STAT_DEGENERATED_FACETS

const char* MESH_STAT_DEGENERATED_FACETS = "degenerate_facets"
staticconstexpr

◆ MESH_STAT_EDGES_FIXED

const char* MESH_STAT_EDGES_FIXED = "edges_fixed"
staticconstexpr

◆ MESH_STAT_FACETS_REMOVED

const char* MESH_STAT_FACETS_REMOVED = "facets_removed"
staticconstexpr

◆ MESH_STAT_FACETS_RESERVED

const char* MESH_STAT_FACETS_RESERVED = "facets_reversed"
staticconstexpr

◆ MESH_STAT_TAG

◆ MESH_TAG

const char* MESH_TAG = "mesh"
staticconstexpr

◆ METADATA_DIR

const std::string METADATA_DIR = "Metadata/"

◆ METADATA_STR_LEN

const unsigned int METADATA_STR_LEN = 9

◆ METADATA_TAG

const char* METADATA_TAG = "metadata"
staticconstexpr

◆ MIXED_FILAMENT_COMPONENTS_TAG

const char* MIXED_FILAMENT_COMPONENTS_TAG = "components"
staticconstexpr

◆ MIXED_FILAMENT_TAG

const char* MIXED_FILAMENT_TAG = "mixed_filament"
staticconstexpr

◆ MM_PAINTING_VERSION

const unsigned int MM_PAINTING_VERSION = 0

◆ MMU_SEGMENTATION_ATTR

const char* MMU_SEGMENTATION_ATTR = "paint_color"
staticconstexpr

◆ MODEL_EXTENSION

const std::string MODEL_EXTENSION = ".model"

◆ MODEL_FILE

const std::string MODEL_FILE = "3D/3dmodel.model"

◆ MODEL_FOLDER

const std::string MODEL_FOLDER = "3D/"

◆ MODEL_RELS_FILE

const std::string MODEL_RELS_FILE = "3D/_rels/3dmodel.model.rels"

◆ MODEL_TAG

const char* MODEL_TAG = "model"
staticconstexpr

◆ NAME_ATTR

const char* NAME_ATTR = "name"
staticconstexpr

◆ NAME_KEY

const char* NAME_KEY = "name"
staticconstexpr

◆ NO_LIGHT_THUMBNAIL_FILE_ATTR

const char* NO_LIGHT_THUMBNAIL_FILE_ATTR = "thumbnail_no_light_file"
staticconstexpr

◆ NOZZLE_DIAMETERS_ATTR

const char* NOZZLE_DIAMETERS_ATTR = "nozzle_diameters"
staticconstexpr

◆ NOZZLE_TAG

◆ NOZZLE_TYPE_ATTR

const char* NOZZLE_TYPE_ATTR = "nozzle_types"
staticconstexpr

◆ NOZZLE_VOLUME_TYPE_ATTR

const char* NOZZLE_VOLUME_TYPE_ATTR = "nozzle_volume_type"
staticconstexpr

◆ OBJECT_ID_ATTR

◆ OBJECT_TAG

const char* OBJECT_TAG = "object"
staticconstexpr

◆ OBJECT_TYPE

const char* OBJECT_TYPE = "object"
staticconstexpr

◆ OBJECT_UUID_SUFFIX

◆ OBJECT_UUID_SUFFIX2

const char* OBJECT_UUID_SUFFIX2 = "-71cb-4c03-9d28-80fed5dfa1dc"
staticconstexpr

◆ OBJECTID_ATTR

const char* OBJECTID_ATTR = "objectid"
staticconstexpr

◆ OFFSET_ATTR

◆ ORCA_CAD_RECIPE_FILE

const std::string ORCA_CAD_RECIPE_FILE = "Metadata/orca_cad.bin"

◆ ORCASLICER_TAG

const std::string ORCASLICER_TAG = "OrcaSlicer"

◆ OTHER_LAYERS_PRINT_SEQUENCE_ATTR

const char* OTHER_LAYERS_PRINT_SEQUENCE_ATTR = "other_layers_print_sequence"
staticconstexpr

◆ OTHER_LAYERS_PRINT_SEQUENCE_NUMS_ATTR

const char* OTHER_LAYERS_PRINT_SEQUENCE_NUMS_ATTR = "other_layers_print_sequence_nums"
staticconstexpr

◆ OUTSIDE_ATTR

◆ PART_TAG

◆ PART_TYPE

const char* PART_TYPE = "part"
staticconstexpr

◆ PART_TYPE_KEY

const char* PART_TYPE_KEY = "part_type"
staticconstexpr

◆ PATTERN_BBOX_FILE_ATTR

const char* PATTERN_BBOX_FILE_ATTR = "pattern_bbox_file"
staticconstexpr

◆ PATTERN_FILE_ATTR

const char* PATTERN_FILE_ATTR = "pattern_file"
staticconstexpr

◆ PER_GLYPH_ATTR

const char* PER_GLYPH_ATTR = "per_glyph"
staticconstexpr

◆ PICK_FILE_ATTR

const char* PICK_FILE_ATTR = "pick_file"
staticconstexpr

◆ PID_ATTR

◆ PLATE_IDX_ATTR

◆ PLATE_TAG

◆ PLATER_NAME_ATTR

const char* PLATER_NAME_ATTR = "plater_name"
staticconstexpr

◆ PLATERID_ATTR

◆ PPATH_ATTR

◆ PRECISE_SEAM_CONFIG_PREFIX

char PRECISE_SEAM_CONFIG_PREFIX[] = "precise_seam_config:"
staticconstexpr

◆ PRECISE_SEAM_TYPE_KEY

const char* PRECISE_SEAM_TYPE_KEY = "precise_seam_type"
staticconstexpr

◆ PRINT_SEQUENCE_ATTR

const char* PRINT_SEQUENCE_ATTR = "print_sequence"
staticconstexpr

◆ PRINTABLE_ATTR

const char* PRINTABLE_ATTR = "printable"
staticconstexpr

◆ PRINTER_MODEL_ID_ATTR

const char* PRINTER_MODEL_ID_ATTR = "printer_model_id"
staticconstexpr

◆ PRINTER_THUMBNAIL_MIDDLE_FILE

const std::string PRINTER_THUMBNAIL_MIDDLE_FILE = "/Auxiliaries/.thumbnails/thumbnail_middle.png"

◆ PRINTER_THUMBNAIL_SMALL_FILE

const std::string PRINTER_THUMBNAIL_SMALL_FILE = "/Auxiliaries/.thumbnails/thumbnail_small.png"

◆ PROJECT_EMBEDDED_FILAMENT_PRESETS_FILE

const std::string PROJECT_EMBEDDED_FILAMENT_PRESETS_FILE = "Metadata/filament_settings_"

◆ PROJECT_EMBEDDED_PRINT_PRESETS_FILE

const std::string PROJECT_EMBEDDED_PRINT_PRESETS_FILE = "Metadata/print_setting_"

◆ PROJECT_EMBEDDED_PRINTER_PRESETS_FILE

const std::string PROJECT_EMBEDDED_PRINTER_PRESETS_FILE = "Metadata/machine_settings_"

◆ PROJECT_EMBEDDED_SLICE_PRESETS_FILE

const std::string PROJECT_EMBEDDED_SLICE_PRESETS_FILE = "Metadata/process_settings_"

◆ PUUID_ATTR

◆ PUUID_LOWER_ATTR

◆ RELATIONSHIP_TAG

const char* RELATIONSHIP_TAG = "Relationship"
staticconstexpr

◆ RELATIONSHIPS_FILE

const std::string RELATIONSHIPS_FILE = "_rels/.rels"

◆ RELS_TYPE_ATTR

const char* RELS_TYPE_ATTR = "Type"
staticconstexpr

◆ RESOURCES_TAG

const char* RESOURCES_TAG = "resources"
staticconstexpr

◆ ROTATE_ANGLE_ATTR

const char* ROTATE_ANGLE_ATTR = "rotate_angle"
staticconstexpr

◆ SEAM_PAINTING_VERSION

const unsigned int SEAM_PAINTING_VERSION = 0

◆ SHAPE_SCALE_ATTR

const char* SHAPE_SCALE_ATTR = "scale"
staticconstexpr

◆ SHAPE_TAG

const char* SHAPE_TAG = "slic3rpe:shape"
staticconstexpr

◆ SKEW_ATTR

const char* SKEW_ATTR = "skew"
staticconstexpr

◆ SKIPPED_ATTR

const char* SKIPPED_ATTR = "skipped"
staticconstexpr

◆ SLICE_HEADER_ITEM_TAG

const char* SLICE_HEADER_ITEM_TAG = "header_item"
staticconstexpr

◆ SLICE_HEADER_TAG

const char* SLICE_HEADER_TAG = "header"
staticconstexpr

◆ SLICE_INFO_CONFIG_FILE

const std::string SLICE_INFO_CONFIG_FILE = "Metadata/slice_info.config"

◆ SLICE_PREDICTION_ATTR

const char* SLICE_PREDICTION_ATTR = "prediction"
staticconstexpr

◆ SLICE_WARNING_TAG

◆ SLICE_WEIGHT_ATTR

◆ SOURCE_FILE_KEY

const char* SOURCE_FILE_KEY = "source_file"
staticconstexpr

◆ SOURCE_IN_INCHES

const char* SOURCE_IN_INCHES = "source_in_inches"
staticconstexpr

◆ SOURCE_IN_METERS

const char* SOURCE_IN_METERS = "source_in_meters"
staticconstexpr

◆ SOURCE_OBJECT_ID_KEY

const char* SOURCE_OBJECT_ID_KEY = "source_object_id"
staticconstexpr

◆ SOURCE_OFFSET_X_KEY

const char* SOURCE_OFFSET_X_KEY = "source_offset_x"
staticconstexpr

◆ SOURCE_OFFSET_Y_KEY

const char* SOURCE_OFFSET_Y_KEY = "source_offset_y"
staticconstexpr

◆ SOURCE_OFFSET_Z_KEY

const char* SOURCE_OFFSET_Z_KEY = "source_offset_z"
staticconstexpr

◆ SOURCE_VOLUME_ID_KEY

const char* SOURCE_VOLUME_ID_KEY = "source_volume_id"
staticconstexpr

◆ SPIRAL_VASE_MODE

const char* SPIRAL_VASE_MODE = "spiral_mode"
staticconstexpr

◆ STYLE_NAME_ATTR

const char* STYLE_NAME_ATTR = "style_name"
staticconstexpr

◆ SUB_OBJECT_UUID_SUFFIX

const char* SUB_OBJECT_UUID_SUFFIX = "-81cb-4c03-9d28-80fed5dfa1dc"
staticconstexpr

◆ SUBTYPE_ATTR

◆ SUPPORT_USED_ATTR

const char* SUPPORT_USED_ATTR = "support_used"
staticconstexpr

◆ SURFACE_TEXT_ATTR

const char* SURFACE_TEXT_ATTR = "surface_text"
staticconstexpr

◆ SVG_FILE_PATH_ATTR

const char* SVG_FILE_PATH_ATTR = "filepath"
staticconstexpr

◆ SVG_FILE_PATH_IN_3MF_ATTR

const char* SVG_FILE_PATH_IN_3MF_ATTR = "filepath3mf"
staticconstexpr

◆ TARGET_ATTR

const char* TARGET_ATTR = "Target"
staticconstexpr

◆ TEXT_ATTR

const char* TEXT_ATTR = "text"
staticconstexpr

◆ TEXT_DATA_ATTR

const char* TEXT_DATA_ATTR = "text"
staticconstexpr

◆ TEXT_GAP_ATTR

const char* TEXT_GAP_ATTR = "text_gap"
staticconstexpr

◆ TEXT_INFO_TAG

const char* TEXT_INFO_TAG = "text_info"
staticconstexpr

◆ TEXT_TAG

const char* TEXT_TAG = "slic3rpe:text"
staticconstexpr

◆ TEXTURE_DISPLACEMENT_ATTRS

const char* TEXTURE_DISPLACEMENT_ATTRS[Slic3r::TEXTURE_DISPLACEMENT_MAX_LAYERS]
staticconstexpr
Initial value:
= {
"paint_texture_0", "paint_texture_1", "paint_texture_2", "paint_texture_3",
"paint_texture_4", "paint_texture_5", "paint_texture_6", "paint_texture_7" }
361 {
362 "paint_texture_0", "paint_texture_1", "paint_texture_2", "paint_texture_3",
363 "paint_texture_4", "paint_texture_5", "paint_texture_6", "paint_texture_7" };

Referenced by Slic3r::_BBS_3MF_Exporter::_add_mesh_to_object_stream(), Slic3r::_BBS_3MF_Importer::ObjectImporter::_handle_object_start_triangle(), and Slic3r::_BBS_3MF_Importer::_handle_start_triangle().

◆ TEXTURE_DISPLACEMENT_DIR

const char* TEXTURE_DISPLACEMENT_DIR = "Metadata/texture_displacement/"
staticconstexpr

◆ TEXTURE_DISPLACEMENT_KEY

const char* TEXTURE_DISPLACEMENT_KEY = "texture_displacement"
staticconstexpr

◆ THICKNESS_ATTR

const char* THICKNESS_ATTR = "thickness"
staticconstexpr

◆ THUMBNAIL_EXTENSION

const std::string THUMBNAIL_EXTENSION = ".png"

◆ THUMBNAIL_FILE

const std::string THUMBNAIL_FILE = "Metadata/plate_1.png"

◆ THUMBNAIL_FILE_ATTR

const char* THUMBNAIL_FILE_ATTR = "thumbnail_file"
staticconstexpr

◆ THUMBNAIL_FOR_PRINTER_FILE

const std::string THUMBNAIL_FOR_PRINTER_FILE = "Metadata/bbl_thumbnail.png"

◆ TIMELAPSE_TYPE_ATTR

const char* TIMELAPSE_TYPE_ATTR = "timelapse_type"
staticconstexpr

◆ TOP_FILE_ATTR

◆ TRANSFORM_ATTR

const char* TRANSFORM_ATTR = "transform"
staticconstexpr

◆ TRIANGLE_TAG

const char* TRIANGLE_TAG = "triangle"
staticconstexpr

◆ TRIANGLES_TAG

const char* TRIANGLES_TAG = "triangles"
staticconstexpr

◆ TYPE_ATTR

const char* TYPE_ATTR = "type"
staticconstexpr

◆ UNHEALED_ATTR

const char* UNHEALED_ATTR = "unhealed"
staticconstexpr

◆ UNIT_ATTR

const char* UNIT_ATTR = "unit"
staticconstexpr

◆ USE_SURFACE_ATTR

const char* USE_SURFACE_ATTR = "use_surface"
staticconstexpr

◆ V1_ATTR

const char* V1_ATTR = "v1"
staticconstexpr

◆ V2_ATTR

const char* V2_ATTR = "v2"
staticconstexpr

◆ V3_ATTR

const char* V3_ATTR = "v3"
staticconstexpr

◆ VALUE_ATTR

const char* VALUE_ATTR = "value"
staticconstexpr

◆ VERSION_BBS_3MF

const unsigned int VERSION_BBS_3MF = 1

◆ VERSION_BBS_3MF_COMPATIBLE

const unsigned int VERSION_BBS_3MF_COMPATIBLE = 2

◆ VERTEX_TAG

const char* VERTEX_TAG = "vertex"
staticconstexpr

◆ VERTICAL_ALIGN_ATTR

const char* VERTICAL_ALIGN_ATTR = "vertical"
staticconstexpr

◆ VERTICES_TAG

const char* VERTICES_TAG = "vertices"
staticconstexpr

◆ VOLUME_TAG

const char* VOLUME_TAG = "volume"
staticconstexpr

◆ VOLUME_TYPE

const char* VOLUME_TYPE = "volume"
staticconstexpr

◆ VOLUME_TYPE_KEY

const char* VOLUME_TYPE_KEY = "volume_type"
staticconstexpr

◆ WARNING_MSG_TAG

const char* WARNING_MSG_TAG = "msg"
staticconstexpr

◆ X_ATTR

const char* X_ATTR = "x"
staticconstexpr

◆ Y_ATTR

const char* Y_ATTR = "y"
staticconstexpr

◆ Z_ATTR

const char* Z_ATTR = "z"
staticconstexpr