mirror of
https://github.com/QIDITECH/QIDISlicer.git
synced 2026-01-30 23:48:44 +03:00
update
This commit is contained in:
@@ -4,4 +4,4 @@ https://github.com/martinus/unordered_dense
|
||||
unordered_dense 3.1.1 10782bfc651c2bb75b11bf90491f50da122e5432
|
||||
SOURCE DISTRIBUTION.
|
||||
|
||||
THIS IS NOT THE COMPLETE unordered_dense DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING PRUSASLICER WERE PUT INTO THE PRUSASLICER SOURCE DISTRIBUTION.
|
||||
THIS IS NOT THE COMPLETE unordered_dense DISTRIBUTION. ONLY FILES NEEDED FOR COMPILING QIDISLICER WERE PUT INTO THE QIDISLICER SOURCE DISTRIBUTION.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
THIS IS A PRUSA3D BRANCH, WORKING AROUND A SPECIFIC PROBLEM
|
||||
THIS IS A QIDI3D BRANCH, WORKING AROUND A SPECIFIC PROBLEM
|
||||
IN THE EARLY I3 MK2 USB COMMUNICATION CHIPS.
|
||||
|
||||
Some of the early QIDI3D i3 MK2 printers were shipped with a buggy
|
||||
@@ -12,7 +12,7 @@ https://github.com/arduino/Arduino-stk500v2-bootloader
|
||||
|
||||
The avrdude binary modified by QIDI3D could replace the avrdude bianary
|
||||
of arduino to program the RAMBo board. In that case the modified binary
|
||||
is identified by a "-prusa3d" suffix to the version information.
|
||||
is identified by a "-qidi3d" suffix to the version information.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
|
||||
|
||||
@@ -4808,7 +4808,7 @@ void stk500v2_jtag3_initpgm(PROGRAMMER * pgm)
|
||||
void stk500v2_set_upload_size(PROGRAMMER * pgm, int size)
|
||||
{
|
||||
unsigned char buf[16];
|
||||
buf[0] = CMD_SET_UPLOAD_SIZE_PRUSA3D;
|
||||
buf[0] = CMD_SET_UPLOAD_SIZE_QIDI3D;
|
||||
buf[1] = size & 0xff;
|
||||
buf[2] = size >> 8;
|
||||
buf[3] = size >> 16;
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
// *****************[ STK QIDI3D specific command constants ]*****************
|
||||
|
||||
#define CMD_SET_UPLOAD_SIZE_PRUSA3D 0x71
|
||||
#define CMD_SET_UPLOAD_SIZE_QIDI3D 0x71
|
||||
|
||||
|
||||
// *** AVR32 JTAG Programming command ***
|
||||
|
||||
@@ -61,7 +61,7 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
try {
|
||||
path_to_ini = boost::filesystem::canonical(boost::filesystem::path(argv[1])).parent_path() / "resources" / "data" / "hints.ini";
|
||||
path_to_pot = boost::filesystem::canonical(boost::filesystem::path(argv[2])).parent_path() / "localization" /"PrusaSlicer.pot";
|
||||
path_to_pot = boost::filesystem::canonical(boost::filesystem::path(argv[2])).parent_path() / "localization" /"QIDISlicer.pot";
|
||||
} catch (std::exception&) {
|
||||
std::cout << "HINTS_TO_POT FAILED: BOOST CANNONICAL" << std::endl;
|
||||
return -1;
|
||||
|
||||
@@ -1237,7 +1237,7 @@ void GCodeProcessor::process_binary_file(const std::string& filename, std::funct
|
||||
for (const auto& [key, value] : slicer_metadata_block.raw_data) {
|
||||
str += key + " = " + value + "\n";
|
||||
}
|
||||
// Silently substitute unknown values by new ones for loading configurations from PrusaSlicer's own G-code.
|
||||
// Silently substitute unknown values by new ones for loading configurations from QIDISlicer's own G-code.
|
||||
// Showing substitution log or errors may make sense, but we are not really reading many values from the G-code config,
|
||||
// thus a probability of incorrect substitution is low and the G-code viewer is a consumer-only anyways.
|
||||
config.load_from_ini_string(str, ForwardCompatibilitySubstitutionRule::EnableSilent);
|
||||
|
||||
@@ -2455,7 +2455,7 @@ void PrintConfigDef::init_fff_params()
|
||||
|
||||
def = this->add("travel_lift_before_obstacle", coBools);
|
||||
def->label = L("Steeper ramp before obstacles");
|
||||
def->tooltip = L("If enabled, PrusaSlicer detects obstacles along the travel path and makes the slope steeper "
|
||||
def->tooltip = L("If enabled, QIDISlicer detects obstacles along the travel path and makes the slope steeper "
|
||||
"in case an obstacle might be hit during the initial phase of the travel.");
|
||||
def->mode = comExpert;
|
||||
def->set_default_value(new ConfigOptionBools{false});
|
||||
@@ -4544,7 +4544,6 @@ void PrintConfigDef::handle_legacy(t_config_option_key &opt_key, std::string &va
|
||||
value = value == "1" ? "enabled" : "disabled";
|
||||
} else if (opt_key == "gcode_label_objects" && (value == "1" || value == "0")) {
|
||||
// gcode_label_objects used to be a bool (the behavior was nothing or "octoprint"), it is
|
||||
// and enum since PrusaSlicer 2.6.2.
|
||||
value = value == "1" ? "octoprint" : "disabled";
|
||||
} else if (opt_key == "octoprint_host") {
|
||||
opt_key = "print_host";
|
||||
@@ -5274,12 +5273,12 @@ ReadWriteSlicingStatesConfigDef::ReadWriteSlicingStatesConfigDef()
|
||||
def = this->add("position", coFloats);
|
||||
def->label = L("Position");
|
||||
def->tooltip = L("Position of the extruder at the beginning of the custom G-code block. If the custom G-code travels somewhere else, "
|
||||
"it should write to this variable so PrusaSlicer knows where it travels from when it gets control back.");
|
||||
"it should write to this variable so QIDISlicer knows where it travels from when it gets control back.");
|
||||
|
||||
def = this->add("e_retracted", coFloats);
|
||||
def->label = L("Retraction");
|
||||
def->tooltip = L("Retraction state at the beginning of the custom G-code block. If the custom G-code moves the extruder axis, "
|
||||
"it should write to this variable so PrusaSlicer deretracts correctly when it gets control back.");
|
||||
"it should write to this variable so QIDISlicer deretracts correctly when it gets control back.");
|
||||
|
||||
def = this->add("e_restart_extra", coFloats);
|
||||
def->label = L("Extra deretraction");
|
||||
@@ -5611,7 +5610,7 @@ std::string get_sla_suptree_prefix(const DynamicPrintConfig &config)
|
||||
|
||||
static bool is_XL_printer(const std::string& printer_notes)
|
||||
{
|
||||
return boost::algorithm::contains(printer_notes, "PRINTER_VENDOR_PRUSA3D")
|
||||
return boost::algorithm::contains(printer_notes, "PRINTER_VENDOR_QIDI3D")
|
||||
&& boost::algorithm::contains(printer_notes, "PRINTER_MODEL_XL");
|
||||
}
|
||||
|
||||
|
||||
@@ -56,4 +56,4 @@
|
||||
#define ENABLE_BINARIZED_GCODE_DEBUG_WINDOW 0
|
||||
|
||||
|
||||
#endif // _prusaslicer_technologies_h_
|
||||
#endif // _qidislicer_technologies_h_
|
||||
|
||||
@@ -13,7 +13,7 @@ PRODUCTVERSION @SLIC3R_RC_VERSION@
|
||||
VALUE "ProductVersion", "@SLIC3R_BUILD_ID@"
|
||||
VALUE "InternalName", "@SLIC3R_APP_NAME@ G-code Viewer"
|
||||
VALUE "LegalCopyright", "Copyright \251 2016-2023 QIDI Research, \251 2011-2018 Alessandro Ranellucci"
|
||||
VALUE "OriginalFilename", "prusa-gcodeviewer.exe"
|
||||
VALUE "OriginalFilename", "qidi-gcodeviewer.exe"
|
||||
}
|
||||
}
|
||||
BLOCK "VarFileInfo"
|
||||
|
||||
@@ -13,7 +13,7 @@ PRODUCTVERSION @SLIC3R_RC_VERSION@
|
||||
VALUE "ProductVersion", "@SLIC3R_BUILD_ID@"
|
||||
VALUE "InternalName", "@SLIC3R_APP_NAME@"
|
||||
VALUE "LegalCopyright", "Copyright \251 2016-2023 QIDI Research, \251 2011-2018 Alessandro Ranellucci"
|
||||
VALUE "OriginalFilename", "prusa-slicer.exe"
|
||||
VALUE "OriginalFilename", "qidi-slicer.exe"
|
||||
}
|
||||
}
|
||||
BLOCK "VarFileInfo"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>@SLIC3R_APP_NAME@ @SLIC3R_BUILD_ID@</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.prusa3d.slic3r/</string>
|
||||
<string>com.qidi3d.slic3r/</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
@@ -134,7 +134,7 @@
|
||||
<string>QIDISlicer Downloads</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>prusaslicer</string>
|
||||
<string>qidislicer</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=QIDI GCode viewer
|
||||
Exec=prusa-slicer --gcodeviewer %F
|
||||
Exec=qidi-slicer --gcodeviewer %F
|
||||
Icon=QIDISlicer-gcodeviewer
|
||||
Terminal=false
|
||||
Type=Application
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
Name=QIDISlicer
|
||||
GenericName=3D Printing Software
|
||||
Icon=QIDISlicer
|
||||
Exec=prusa-slicer %F
|
||||
Exec=qidi-slicer %F
|
||||
Terminal=false
|
||||
Type=Application
|
||||
MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;application/x-amf;
|
||||
Categories=Graphics;3DGraphics;Engineering;
|
||||
Keywords=3D;Printing;Slicer;slice;3D;printer;convert;gcode;stl;obj;amf;SLA
|
||||
StartupNotify=false
|
||||
StartupWMClass=prusa-slicer
|
||||
StartupWMClass=qidi-slicer
|
||||
|
||||
@@ -276,7 +276,7 @@ AboutDialog::AboutDialog()
|
||||
const wxString s_url_str = _L("Shopify : https://qidi3d.com/");
|
||||
const wxString is_lecensed_str = _L("is licensed under the");
|
||||
const wxString license_str = _L("GNU Affero General Public License, version 3");
|
||||
const wxString version_str = std::string(SLIC3R_APP_NAME) + " " + std::string(SLIC3R_VERSION) + _L(" is based on PrusaSlicer.");
|
||||
const wxString version_str = std::string(SLIC3R_APP_NAME) + " " + std::string(SLIC3R_VERSION) + _L(" is based on QIDISlicer.");
|
||||
const wxString based_on_str = _L("QIDISlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community.");
|
||||
const wxString contributors_str = _L("QIDISlicer has made targeted adjustment and adaptation to QIDITech 3D printers, so that QIDITech 3D printers are more friendly to novices. It is recommended to use QIDITech 3D printers.");
|
||||
const auto text = format_wxstr(
|
||||
@@ -289,7 +289,7 @@ AboutDialog::AboutDialog()
|
||||
"<a href=\"https://qidi3d.com/\">%6%</a>"
|
||||
"<br /><br />"
|
||||
"%7%<br />"
|
||||
"%8% © 2016-2023 Prusa Research. <br />"
|
||||
"%8% © 2016-2023 QIDI Research. <br />"
|
||||
"%9% © 2011-2018 Alessandro Ranellucci. <br />"
|
||||
"<a href=\"http://slic3r.org/\">Slic3r</a> %10% "
|
||||
"<a href=\"http://www.gnu.org/licenses/agpl-3.0.html\">%11%</a>."
|
||||
|
||||
@@ -1489,7 +1489,7 @@ PageDownloader::PageDownloader(ConfigWizard* parent)
|
||||
|
||||
const wxString link = format_wxstr("<a href = \"%1%\">%1%</a>", "printables.com");
|
||||
|
||||
// TRN ConfigWizard : Downloader : %1% = "printables.com", %2% = "PrusaSlicer"
|
||||
// TRN ConfigWizard : Downloader : %1% = "printables.com", %2% = "QIDISlicer"
|
||||
const wxString main_text = format_wxstr(_L("If enabled, you will be able to open models from the %1% "
|
||||
"online database with a single click (using a %2% logo button)."
|
||||
), link, SLIC3R_APP_NAME);
|
||||
|
||||
@@ -55,7 +55,7 @@ EditGCodeDialog::EditGCodeDialog(wxWindow* parent, const std::string& key, const
|
||||
const auto text_clr_str = encode_color(ColorRGB(text_clr.Red(), text_clr.Green(), text_clr.Blue()));
|
||||
|
||||
//TRN this word-combination is a part of phraze "For more information about placeholders and its use visit our help page"
|
||||
const wxString link = format_wxstr("<a href = \"%1%\">%2%</a>", "help.prusa3d.com/article/macros_1775", _L("help page"));
|
||||
const wxString link = format_wxstr("<a href = \"%1%\">%2%</a>", "help.qidi3d.com/article/macros_1775", _L("help page"));
|
||||
|
||||
// TRN ConfigWizard : Downloader : %1% = "help page"
|
||||
const wxString main_text = format_wxstr(_L("For more information about placeholders and its use visit our %1%."), link);
|
||||
|
||||
@@ -3274,7 +3274,7 @@ static void check_objects_after_cut(const ModelObjectPtrs& objects)
|
||||
names += ", " + from_u8(err_objects_names[i]);
|
||||
WarningDialog(wxGetApp().plater(), format_wxstr("Objects(%1%) have duplicated connectors. "
|
||||
"Some connectors may be missing in slicing result.\n"
|
||||
"Please report to PrusaSlicer team in which scenario this issue happened.\n"
|
||||
"Please report to QIDISlicer team in which scenario this issue happened.\n"
|
||||
"Thank you.", names)).ShowModal();
|
||||
}
|
||||
void synchronize_model_after_cut(Model& model, const CutObjectBase& cut_id)
|
||||
|
||||
@@ -488,7 +488,7 @@ void PhysicalPrinterDialog::update(bool printer_change)
|
||||
const auto opt = m_config->option<ConfigOptionEnum<PrintHostType>>("host_type");
|
||||
m_optgroup->show_field("host_type");
|
||||
|
||||
if (opt->value == htQIDILink) { // PrusaConnect does NOT allow http digest
|
||||
if (opt->value == htQIDILink) { // QIDIConnect does NOT allow http digest
|
||||
m_optgroup->show_field("printhost_authorization_type");
|
||||
AuthorizationType auth_type = m_config->option<ConfigOptionEnum<AuthorizationType>>("printhost_authorization_type")->value;
|
||||
m_optgroup->show_field("printhost_apikey", auth_type == AuthorizationType::atKeyPassword);
|
||||
|
||||
@@ -2300,7 +2300,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
||||
notification_manager->device_ejected();
|
||||
});
|
||||
this->q->Bind(EVT_REMOVABLE_DRIVE_ADDED, [this](wxCommandEvent& evt) {
|
||||
if (!fs::exists(fs::path(evt.GetString().utf8_string()) / "prusa_printer_settings.ini"))
|
||||
if (!fs::exists(fs::path(evt.GetString().utf8_string()) / "qidi_printer_settings.ini"))
|
||||
return;
|
||||
if (evt.GetInt() == 0) { // not at startup, show dialog
|
||||
wxGetApp().open_wifi_config_dialog(false, evt.GetString());
|
||||
@@ -2484,8 +2484,8 @@ void Plater::notify_about_installed_presets()
|
||||
|
||||
// show notification about temporarily installed presets
|
||||
if (!names.empty()) {
|
||||
std::string notif_text = into_u8(_L_PLURAL("The preset below was temporarily installed on the active instance of PrusaSlicer",
|
||||
"The presets below were temporarily installed on the active instance of PrusaSlicer", names.size())) + ":";
|
||||
std::string notif_text = into_u8(_L_PLURAL("The preset below was temporarily installed on the active instance of QIDISlicer",
|
||||
"The presets below were temporarily installed on the active instance of QIDISlicer", names.size())) + ":";
|
||||
for (const std::string& name : names)
|
||||
notif_text += "\n - " + name;
|
||||
get_notification_manager()->push_notification(NotificationType::CustomNotification,
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
|
||||
#include "libslic3r/GCode.hpp"
|
||||
#include "libslic3r/Gcode/GCodeWriter.hpp"
|
||||
// #include "libslic3r/Gcode/GCodeWriter.hpp"
|
||||
#include "libslic3r/PrintConfig.hpp"
|
||||
|
||||
class wxButton;
|
||||
|
||||
@@ -399,8 +399,8 @@ void PreferencesDialog::build()
|
||||
L("If enabled, sets QIDISlicer G-code Viewer as default application to open .gcode files."),
|
||||
app_config->get_bool("associate_gcode"));
|
||||
append_bool_option(m_optgroup_general, "associate_bgcode",
|
||||
L("Associate .bgcode files to PrusaSlicer G-code Viewer"),
|
||||
L("If enabled, sets PrusaSlicer G-code Viewer as default application to open .bgcode files."),
|
||||
L("Associate .bgcode files to QIDISlicer G-code Viewer"),
|
||||
L("If enabled, sets QIDISlicer G-code Viewer as default application to open .bgcode files."),
|
||||
app_config->get_bool("associate_bgcode"));
|
||||
}
|
||||
#endif // _WIN32
|
||||
|
||||
@@ -180,12 +180,12 @@ wxWebView *WebView::CreateWebView(wxWindow *parent, wxString const &url)
|
||||
if (webView) {
|
||||
//webView->SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE));
|
||||
#ifdef __WIN32__
|
||||
webView->SetUserAgent(wxString::Format("BBL-Slicer/v%s (%s) Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
|
||||
webView->SetUserAgent(wxString::Format("QIDI-Slicer/v%s (%s) Mozilla/5.0 (Windows NT 10.0; Win64; x64) "
|
||||
"AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 Edg/107.0.1418.52",
|
||||
SLIC3R_VERSION, Slic3r::GUI::wxGetApp().dark_mode() ? "dark" : "light"));
|
||||
webView->Create(parent, wxID_ANY, url2, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
|
||||
// We register the wxfs:// protocol for testing purposes
|
||||
webView->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewArchiveHandler("bbl")));
|
||||
webView->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewArchiveHandler("qidi")));
|
||||
// And the memory: file system
|
||||
webView->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewFSHandler("memory")));
|
||||
#else
|
||||
@@ -195,7 +195,7 @@ wxWebView *WebView::CreateWebView(wxWindow *parent, wxString const &url)
|
||||
webView->RegisterHandler(wxSharedPtr<wxWebViewHandler>(new wxWebViewFSHandler("memory")));
|
||||
webView->Create(parent, wxID_ANY, url2, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE);
|
||||
webView->SetUserAgent(
|
||||
wxString::Format("BBL-Slicer/v%s (%s) Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)",
|
||||
wxString::Format("QIDI-Slicer/v%s (%s) Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)",
|
||||
SLIC3R_VERSION, Slic3r::GUI::wxGetApp().dark_mode() ? "dark" : "light"));
|
||||
#endif
|
||||
#ifdef __WXMAC__
|
||||
@@ -291,7 +291,7 @@ void WebView::RecreateAll()
|
||||
{
|
||||
for (auto webView : g_webviews) {
|
||||
webView->SetUserAgent(
|
||||
wxString::Format("BBL-Slicer/v%s (%s) Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)",
|
||||
wxString::Format("QIDI-Slicer/v%s (%s) Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko)",
|
||||
SLIC3R_VERSION, Slic3r::GUI::wxGetApp().dark_mode() ? "dark" : "light"));
|
||||
webView->Reload();
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
namespace Slic3r {
|
||||
namespace GUI {
|
||||
|
||||
const char* WIFI_CONFIGFILE_NAME = "prusa_printer_settings.ini";
|
||||
const char* WIFI_CONFIGFILE_NAME = "qidi_printer_settings.ini";
|
||||
|
||||
WifiConfigDialog::WifiConfigDialog(wxWindow* parent, std::string& file_path, RemovableDriveManager* removable_manager, const wxString& preffered_drive)
|
||||
// TRN: This is the dialog title.
|
||||
|
||||
Reference in New Issue
Block a user