目录
语言设置:
修改文件:
编译后会生成:
语言设置:
BambuStudio 自定义加载页面
插件下载url:
version.inc 中设置软件名字:
网络地址直接加载:
修改后:
编译命令:
语言设置:
cmake --build . --target gettext_po_to_mo --config RelWithDebInfo
修改文件:
BambuStudio_zh_CN.po
编译后会生成:
BambuStudio\build\src\RelWithDebInfo\resources\i18n\zh_CN\BambuStudio.mofindstr /S /I "zh_CN" *.cpp *.h *.cmake
CMakeFiles\VerifyGlobs.cmake: "E:/pro_math/BambuStudio/src/slic3r/GUI/DeviceWeb/device_page/locales/zh_CN.json"
语言设置:
sort_remove_duplicates(language_infos); std::sort(language_infos.begin(), language_infos.end(), [](const wxLanguageInfo *l, const wxLanguageInfo *r) { return l->Description < r->Description; }); auto item_language = create_item_language_combobox(_L("Language"), page, _L("Language"), 50, "language", language_infos); std::vector<wxString> Regions = {_L("Asia-Pacific"), _L("Chinese Mainland"), _L("Europe"), _L("North America"), _L("Others")}; auto item_region= create_item_region_combobox(_L("Login Region"), page, _L("Login Region"), Regions);BambuStudio 自定义加载页面
cmake --build . --target BambuStudio --config RelWithDebInfosrc/slic3r/GUI/GUI_App.cppvoid init(wxFont init_font) { // title title = wxGetApp().is_editor() ? SLIC3R_APP_FULL_NAME : GCODEVIEWER_APP_NAME; title=wxString::FromUTF8("AIGC制造工坊"); // dynamically get the version to display // version = _L("V") + " " + GUI_App::format_display_version(); version = _L("V02.08.00.50"); // credits infornation credits = ""; title_font = Label::Head_16; version_font = Label::Body_16; credits_font = init_font; }插件下载url:
BOOST_LOG_TRIVIAL(info) << "[download_plugin] get_url = " << download_url;插件目录:
const size_t len = BBL_INTERNAL_TESTING == 1 ? strlen("\\AppData\\Roaming\\BambuStudioInternal\\user") : strlen("\\AppData\\Roaming\\BambuStudioBeta\\user");version.inc 中设置软件名字:
缓存目录地址:
C:\Users\ChangJing03\AppData\Roaming\BambuStudioaaaInternal
SLIC3R_APP_NAME
# Included by CMakeLists, edited by the build script # (the version numbers are generated by the build script from the git current label) set(SLIC3R_APP_NAME "BambuStudio") set(SLIC3R_APP_KEY "BambuStudio") if(NOT DEFINED BBL_RELEASE_TO_PUBLIC) set(BBL_RELEASE_TO_PUBLIC "0") endif() if(NOT DEFINED BBL_INTERNAL_TESTING) set(BBL_INTERNAL_TESTING "1") endif() # The build_version should start from 50 in master branch set(SLIC3R_VERSION "02.08.00.40") string(REPLACE "." "," SLIC3R_COMMA_SEPARATED_VERSION ${SLIC3R_VERSION}) set(SLIC3R_COMMA_SEPARATED_VERSION "${SLIC3R_COMMA_SEPARATED_VERSION}")网络地址直接加载:
bambu-studio.exe https://makerworld.com/xxx/model.3mf bambustudio://open?file=https://public-cdn.bblmw.com/xxx.3mf修改协议地址:
修改协议地址: reg query HKEY_CLASSES_ROOT\bambustudio\shell\open\command下载代码:
void GUI_App::request_model_download(wxString url) { if (plater_) { plater_->request_model_download(url); } } void Plater::request_model_download(wxString url) { wxCommandEvent* event = new wxCommandEvent(EVT_IMPORT_MODEL_ID); event->SetString(url); wxQueueEvent(this, event); }on_action_request_model_id
void Plater::import_model_id(wxString download_info) {if (!extension.Contains(".3mf") && !extension.Contains(".3MF")) { msg = _L("Download failed, unknown file format."); return; // 直接返回,不支持其他格式 }修改后:
static const std::vector<wxString> supported_formats = { ".3mf", ".3MF", ".stl", ".STL", ".step", ".STEP", ".stp", ".STP", ".glb", ".GLB", ".gcode", ".GCODE", ".obj", ".OBJ", ".amf", ".AMF" }; bool is_supported = false; for (const auto& fmt : supported_formats) { if (extension.Contains(fmt)) { is_supported = true; break; } } if (!is_supported) { // 构建支持的格式列表用于提示 wxString format_list; for (size_t i = 0; i < supported_formats.size(); i++) { if (i > 0) format_list += ", "; format_list += supported_formats[i]; } msg = wxString::Format(_L("Download failed, unsupported file format. Supported formats: %s"), format_list); return; }编译命令:
cd E:\pro_math\BambuStudio\build E:\pro_math\BambuStudio\src\slic3r\GUI\Plater.cpp cmake --build . --target BambuStudio --config RelWithDebInfo