Merge branch 'master' into SoftFever
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-07-23 18:15+0800\n"
|
"POT-Creation-Date: 2022-08-08 20:01+0800\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -57,7 +57,7 @@ msgstr ""
|
||||||
msgid "Perform"
|
msgid "Perform"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Fragment area"
|
msgid "Gap area"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set pen size"
|
msgid "Set pen size"
|
||||||
|
@ -126,9 +126,6 @@ msgstr ""
|
||||||
msgid "Edge detection"
|
msgid "Edge detection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Clear all"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Triangles"
|
msgid "Triangles"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -339,19 +336,34 @@ msgstr ""
|
||||||
msgid "Perform Recognition"
|
msgid "Perform Recognition"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cube"
|
msgid "Reset direction"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cylinder"
|
msgid "Brush size"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cone"
|
msgid "Brush shape"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Timelapse Wipe Tower"
|
msgid "Enforce seam"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add Modifier"
|
msgid "Block seam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Remove selection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Seam painting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Entering Seam painting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Leaving Seam painting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Paint-on seam editing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Notice"
|
msgid "Notice"
|
||||||
|
@ -416,11 +428,14 @@ msgstr ""
|
||||||
msgid "BambuStudio got an unhandled exception: %1%"
|
msgid "BambuStudio got an unhandled exception: %1%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Downloading Bambu Network plug-in"
|
msgid "Downloading Bambu Network Plug-in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Incorrect password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, possible-c-format, possible-boost-format
|
#, possible-c-format, possible-boost-format
|
||||||
msgid "Connect %s[SN:%s] failed!"
|
msgid "Connect %s failed! [SN:%s, code=%s]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -474,6 +489,23 @@ msgstr ""
|
||||||
msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):"
|
msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Some presets are modified."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"You can keep the modifield presets to the new project, discard or save "
|
||||||
|
"changes as new presets."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "User logged out"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "new or open project file is not allowed during the slicing process!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open Project"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The version of Bambu studio is too low and needs to be updated to the latest "
|
"The version of Bambu studio is too low and needs to be updated to the latest "
|
||||||
"version before it can be used normally"
|
"version before it can be used normally"
|
||||||
|
@ -500,12 +532,6 @@ msgstr ""
|
||||||
msgid "*"
|
msgid "*"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "G-code files can not be loaded with models together!"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "G-code loading"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Select a G-code file:"
|
msgid "Select a G-code file:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -594,6 +620,18 @@ msgstr ""
|
||||||
msgid "Load..."
|
msgid "Load..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cube"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cylinder"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Cone"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Timelapse Wipe Tower"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add settings"
|
msgid "Add settings"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -790,6 +828,9 @@ msgstr ""
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Fila."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, possible-c-format, possible-boost-format
|
#, possible-c-format, possible-boost-format
|
||||||
msgid "%1$d error repaired"
|
msgid "%1$d error repaired"
|
||||||
msgid_plural "%1$d errors repaired"
|
msgid_plural "%1$d errors repaired"
|
||||||
|
@ -841,6 +882,9 @@ msgstr ""
|
||||||
msgid "Generic"
|
msgid "Generic"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Add Modifier"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Deleting the last solid part is not allowed."
|
msgid "Deleting the last solid part is not allowed."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1053,6 +1097,9 @@ msgid ""
|
||||||
"Arrange failed. Found some exceptions when processing object geometries."
|
"Arrange failed. Found some exceptions when processing object geometries."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Arranging"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Arranging canceled."
|
msgid "Arranging canceled."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1236,10 +1283,10 @@ msgid ""
|
||||||
"the corresponding code comments."
|
"the corresponding code comments."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Colour"
|
msgid "AMSMaterialsSetting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "SN"
|
msgid "Colour"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -1257,9 +1304,22 @@ msgstr ""
|
||||||
msgid "The input value should be greater than %1% and less than %2%"
|
msgid "The input value should be greater than %1% and less than %2%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "SN"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Close"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "AMS Slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Note: Only the AMS slots loaded with the same material type can be selected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Insertion update"
|
msgid "Insertion update"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1296,9 +1356,6 @@ msgstr ""
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Close"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
|
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
|
||||||
"program"
|
"program"
|
||||||
|
@ -1495,13 +1552,6 @@ msgid ""
|
||||||
"No - Give up using spiral mode this time"
|
"No - Give up using spiral mode this time"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"When recording timelapse without toolhead, it is recommended to add a "
|
|
||||||
"\"Timelapse Wipe Tower\" \n"
|
|
||||||
"by right-click the empty position of build plate and choose \"Add Primitive"
|
|
||||||
"\"->\"Timelapse Wipe Tower\".\n"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Prime tower does not work when Adaptive Layer Height or Independent Support "
|
"Prime tower does not work when Adaptive Layer Height or Independent Support "
|
||||||
"Layer Height is on.\n"
|
"Layer Height is on.\n"
|
||||||
|
@ -1639,6 +1689,9 @@ msgstr ""
|
||||||
msgid "Failed to start printing job"
|
msgid "Failed to start printing job"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "parameter name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1877,7 +1930,10 @@ msgstr ""
|
||||||
msgid "Auto orient"
|
msgid "Auto orient"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Auto arrange"
|
msgid "Arrange all objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Arrange objects on selected plates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Split to objects"
|
msgid "Split to objects"
|
||||||
|
@ -1972,6 +2028,9 @@ msgid ""
|
||||||
"on the printer, as shown in the figure:"
|
"on the printer, as shown in the figure:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Invalid input."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Application is closing"
|
msgid "Application is closing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2077,9 +2136,6 @@ msgstr ""
|
||||||
msgid "Start a new project"
|
msgid "Start a new project"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Open Project"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Open a project file"
|
msgid "Open a project file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2188,6 +2244,18 @@ msgstr ""
|
||||||
msgid "Help"
|
msgid "Help"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&File"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&Edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "&Open G-code"
|
msgid "&Open G-code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2219,15 +2287,6 @@ msgstr ""
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "&File"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "&View"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "&Help"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Save configuration as:"
|
msgid "Save configuration as:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2316,9 +2375,15 @@ msgstr ""
|
||||||
msgid "0%"
|
msgid "0%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Clean"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Control"
|
msgid "Control"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Print Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "100%"
|
msgid "100%"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2548,6 +2613,15 @@ msgctxt "Layers"
|
||||||
msgid "Bottom"
|
msgid "Bottom"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Spaghetti Detection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Stop printing when spaghetti detected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "First Layer Inspection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Switch to per-object setting mode to edit modifier settings."
|
msgid "Switch to per-object setting mode to edit modifier settings."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2632,13 +2706,16 @@ msgstr ""
|
||||||
msgid "Loading file: %s"
|
msgid "Loading file: %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "The Config is not compatible and can not be loaded."
|
msgid "The 3mf is not from Bambu Lab, load geometry data only."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Incompatible 3mf"
|
msgid "Load 3mf"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "the 3mf is not compatible, load geometry data only!"
|
msgid "The Config can not be loaded."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The 3mf is generated by old Bambu Studio, load geometry data only."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, possible-c-format, possible-boost-format
|
#, possible-c-format, possible-boost-format
|
||||||
|
@ -2653,6 +2730,12 @@ msgstr ""
|
||||||
msgid "Newer 3mf version"
|
msgid "Newer 3mf version"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The 3mf is not compatible, load geometry data only!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Incompatible 3mf"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Name of components inside step file is not UTF8 format!"
|
msgid "Name of components inside step file is not UTF8 format!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2690,6 +2773,14 @@ msgstr ""
|
||||||
msgid "The file does not contain any geometry data."
|
msgid "The file does not contain any geometry data."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Your object appears to be too large, Do you want to scale it down to fit the "
|
||||||
|
"heat bed automatically?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Object too large"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Export STL file:"
|
msgid "Export STL file:"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2733,17 +2824,9 @@ msgid ""
|
||||||
"The loaded file contains gcode only, Can not enter the Prepare page"
|
"The loaded file contains gcode only, Can not enter the Prepare page"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Some presets are modified."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "You can keep the modified presets to the new project or discard them"
|
msgid "You can keep the modified presets to the new project or discard them"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"You can keep the modifield presets to the new project, discard or save "
|
|
||||||
"changes as new presets."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Creating a new project"
|
msgid "Creating a new project"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2774,6 +2857,12 @@ msgstr ""
|
||||||
msgid "Only one G-code file can be opened at the same time."
|
msgid "Only one G-code file can be opened at the same time."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "G-code loading"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "G-code files can not be loaded with models together!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Can not add models when in preview mode!"
|
msgid "Can not add models when in preview mode!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3225,9 +3314,15 @@ msgstr ""
|
||||||
msgid "The printer is busy on other print job"
|
msgid "The printer is busy on other print job"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, possible-c-format, possible-boost-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The filament index exceeds the AMS's slot count and cannot send the print "
|
"Filament %s exceeds the number of AMS slots. Please update the printer "
|
||||||
"job."
|
"firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Filament exceeds the number of AMS slots. Please update the printer firmware "
|
||||||
|
"to support AMS slot assignment."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -3240,6 +3335,17 @@ msgid ""
|
||||||
"sending the print job"
|
"sending the print job"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#, possible-c-format, possible-boost-format
|
||||||
|
msgid ""
|
||||||
|
"Filament %s does not match the filament in AMS slot %s. Please update the "
|
||||||
|
"printer firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Filament does not match the filament in AMS slot. Please update the printer "
|
||||||
|
"firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The printer firmware only supports sequential mapping of filament => AMS "
|
"The printer firmware only supports sequential mapping of filament => AMS "
|
||||||
"slot."
|
"slot."
|
||||||
|
@ -3283,6 +3389,13 @@ msgstr ""
|
||||||
msgid "Delete this preset"
|
msgid "Delete this preset"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"When recording timelapse without toolhead, it is recommended to add a "
|
||||||
|
"\"Timelapse Wipe Tower\" \n"
|
||||||
|
"by right-click the empty position of build plate and choose \"Add Primitive"
|
||||||
|
"\"->\"Timelapse Wipe Tower\".\n"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Line width"
|
msgid "Line width"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3714,12 +3827,6 @@ msgstr ""
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Filaments Selection"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Printer Selection"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "The configuration package is changed in previous Config Guide"
|
msgid "The configuration package is changed in previous Config Guide"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3735,69 +3842,51 @@ msgstr ""
|
||||||
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select all objects"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Paste from clipboard"
|
msgid "Paste from clipboard"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Camera view - Default"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Camera view - Top"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Camera view - Bottom"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Camera view - Front"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Camera view - Behind"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Camera Angle - Left side"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Camera Angle - Right side"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "keyboard 1-9: set filament for object/part"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Show keyboard shortcuts list"
|
msgid "Show keyboard shortcuts list"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Global shortcuts"
|
msgid "Global shortcuts"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Arrange all objects"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Arrange objects on selected plates"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"Auto orientates selected objects or all objects.If there are selected "
|
|
||||||
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
|
||||||
"all objects in the project."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Auto orientates selected objects or all objects.If there are selected "
|
"Auto orientates selected objects or all objects.If there are selected "
|
||||||
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
||||||
"all objects in the current disk."
|
"all objects in the current disk."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Collapse/Expand the sidebar"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "⌘+Any arrow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Movement in camera space"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "⌥+Left mouse button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Select a part"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "⌘+Left mouse button"
|
msgid "⌘+Left mouse button"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Select multiple objects"
|
msgid "Select multiple objects"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Ctrl+Any arrow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt+Left mouse button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Ctrl+Left mouse button"
|
msgid "Ctrl+Left mouse button"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -3837,16 +3926,52 @@ msgstr ""
|
||||||
msgid "Movement step set to 1 mm"
|
msgid "Movement step set to 1 mm"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "⌘+Any arrow"
|
msgid "keyboard 1-9: set filament for object/part"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Movement in camera space"
|
msgid "Camera view - Default"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Ctrl+Any arrow"
|
msgid "Camera view - Top"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Collapse/Expand the sidebar"
|
msgid "Camera view - Bottom"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Camera view - Front"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Camera view - Behind"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Camera Angle - Left side"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Camera Angle - Right side"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Select all objects"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo move"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo scale"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo rotate"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo cut"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo Place face on bed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo SLA support points"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo FDM paint-on seam"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plater"
|
msgid "Plater"
|
||||||
|
@ -4263,6 +4388,12 @@ msgstr ""
|
||||||
msgid "Bed exclude area"
|
msgid "Bed exclude area"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Unprintable area in XY plane. For example, X1 Series printers use the front "
|
||||||
|
"left corner to cut filament during filament change. The area is expressed as "
|
||||||
|
"polygon by points in following format: \"XxY, XxY, ...\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Elephant foot compensation"
|
msgid "Elephant foot compensation"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -5343,7 +5474,7 @@ msgstr ""
|
||||||
msgid "Speed of internal solid infill, not the top and bottom surface"
|
msgid "Speed of internal solid infill, not the top and bottom surface"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Spiral mode"
|
msgid "Spiral vase"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -5352,9 +5483,6 @@ msgid ""
|
||||||
"generated model has no seam"
|
"generated model has no seam"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Timelapse without toolhead"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Record timelapse video of printing without showing toolhead. In this mode "
|
"Record timelapse video of printing without showing toolhead. In this mode "
|
||||||
"the toolhead docks near the excess chute at each layer change, and then a "
|
"the toolhead docks near the excess chute at each layer change, and then a "
|
||||||
|
|
|
@ -2,7 +2,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Bambu Studio\n"
|
"Project-Id-Version: Bambu Studio\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-07-23 18:15+0800\n"
|
"POT-Creation-Date: 2022-08-08 20:01+0800\n"
|
||||||
"PO-Revision-Date: \n"
|
"PO-Revision-Date: \n"
|
||||||
"Last-Translator: \n"
|
"Last-Translator: \n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
|
@ -52,8 +52,8 @@ msgstr ""
|
||||||
msgid "Perform"
|
msgid "Perform"
|
||||||
msgstr "Perform"
|
msgstr "Perform"
|
||||||
|
|
||||||
msgid "Fragment area"
|
msgid "Gap area"
|
||||||
msgstr "Fragment area"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set pen size"
|
msgid "Set pen size"
|
||||||
msgstr "Set pen size"
|
msgstr "Set pen size"
|
||||||
|
@ -123,9 +123,6 @@ msgstr "Choose filament"
|
||||||
msgid "Edge detection"
|
msgid "Edge detection"
|
||||||
msgstr "Edge detection"
|
msgstr "Edge detection"
|
||||||
|
|
||||||
msgid "Clear all"
|
|
||||||
msgstr "Clear all"
|
|
||||||
|
|
||||||
msgid "Triangles"
|
msgid "Triangles"
|
||||||
msgstr "Triangles"
|
msgstr "Triangles"
|
||||||
|
|
||||||
|
@ -339,20 +336,35 @@ msgstr "Face recognition"
|
||||||
msgid "Perform Recognition"
|
msgid "Perform Recognition"
|
||||||
msgstr "Perform Recognition"
|
msgstr "Perform Recognition"
|
||||||
|
|
||||||
msgid "Cube"
|
msgid "Reset direction"
|
||||||
msgstr "Cube"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cylinder"
|
msgid "Brush size"
|
||||||
msgstr "Cylinder"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Cone"
|
msgid "Brush shape"
|
||||||
msgstr "Cone"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Timelapse Wipe Tower"
|
msgid "Enforce seam"
|
||||||
msgstr "Timelapse Wipe Tower"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Add Modifier"
|
msgid "Block seam"
|
||||||
msgstr "Add Modifier"
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Remove selection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Seam painting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Entering Seam painting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Leaving Seam painting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Paint-on seam editing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Notice"
|
msgid "Notice"
|
||||||
msgstr "Notice"
|
msgstr "Notice"
|
||||||
|
@ -421,11 +433,14 @@ msgstr "Critical error"
|
||||||
msgid "BambuStudio got an unhandled exception: %1%"
|
msgid "BambuStudio got an unhandled exception: %1%"
|
||||||
msgstr "BambuStudio got an unhandled exception: %1%"
|
msgstr "BambuStudio got an unhandled exception: %1%"
|
||||||
|
|
||||||
msgid "Downloading Bambu Network plug-in"
|
msgid "Downloading Bambu Network Plug-in"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Incorrect password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, c-format, boost-format
|
#, c-format, boost-format
|
||||||
msgid "Connect %s[SN:%s] failed!"
|
msgid "Connect %s failed! [SN:%s, code=%s]"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -483,6 +498,25 @@ msgstr "Choose one or more files (3mf/step/stl/obj/amf):"
|
||||||
msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):"
|
msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):"
|
||||||
msgstr "Choose one file (.gcode/.gco/.g/.ngc/ngc):"
|
msgstr "Choose one file (.gcode/.gco/.g/.ngc/ngc):"
|
||||||
|
|
||||||
|
msgid "Some presets are modified."
|
||||||
|
msgstr "Some presets are modified."
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"You can keep the modifield presets to the new project, discard or save "
|
||||||
|
"changes as new presets."
|
||||||
|
msgstr ""
|
||||||
|
"You can keep the modified presets for the new project, discard, or save "
|
||||||
|
"changes as new presets."
|
||||||
|
|
||||||
|
msgid "User logged out"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "new or open project file is not allowed during the slicing process!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Open Project"
|
||||||
|
msgstr "Open Project"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The version of Bambu studio is too low and needs to be updated to the latest "
|
"The version of Bambu studio is too low and needs to be updated to the latest "
|
||||||
"version before it can be used normally"
|
"version before it can be used normally"
|
||||||
|
@ -511,12 +545,6 @@ msgstr "Language"
|
||||||
msgid "*"
|
msgid "*"
|
||||||
msgstr "*"
|
msgstr "*"
|
||||||
|
|
||||||
msgid "G-code files can not be loaded with models together!"
|
|
||||||
msgstr "G-code files and models cannot be loaded together!"
|
|
||||||
|
|
||||||
msgid "G-code loading"
|
|
||||||
msgstr "G-code loading"
|
|
||||||
|
|
||||||
msgid "Select a G-code file:"
|
msgid "Select a G-code file:"
|
||||||
msgstr "Select a G-code file:"
|
msgstr "Select a G-code file:"
|
||||||
|
|
||||||
|
@ -605,6 +633,18 @@ msgstr "Delete the selected object"
|
||||||
msgid "Load..."
|
msgid "Load..."
|
||||||
msgstr "Load..."
|
msgstr "Load..."
|
||||||
|
|
||||||
|
msgid "Cube"
|
||||||
|
msgstr "Cube"
|
||||||
|
|
||||||
|
msgid "Cylinder"
|
||||||
|
msgstr "Cylinder"
|
||||||
|
|
||||||
|
msgid "Cone"
|
||||||
|
msgstr "Cone"
|
||||||
|
|
||||||
|
msgid "Timelapse Wipe Tower"
|
||||||
|
msgstr "Timelapse Wipe Tower"
|
||||||
|
|
||||||
msgid "Add settings"
|
msgid "Add settings"
|
||||||
msgstr "Add Settings"
|
msgstr "Add Settings"
|
||||||
|
|
||||||
|
@ -801,6 +841,9 @@ msgstr "Lock"
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Name"
|
msgstr "Name"
|
||||||
|
|
||||||
|
msgid "Fila."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, c-format, boost-format
|
#, c-format, boost-format
|
||||||
msgid "%1$d error repaired"
|
msgid "%1$d error repaired"
|
||||||
msgid_plural "%1$d errors repaired"
|
msgid_plural "%1$d errors repaired"
|
||||||
|
@ -852,6 +895,9 @@ msgstr "Error!"
|
||||||
msgid "Generic"
|
msgid "Generic"
|
||||||
msgstr "Generic"
|
msgstr "Generic"
|
||||||
|
|
||||||
|
msgid "Add Modifier"
|
||||||
|
msgstr "Add Modifier"
|
||||||
|
|
||||||
msgid "Deleting the last solid part is not allowed."
|
msgid "Deleting the last solid part is not allowed."
|
||||||
msgstr "Deleting the last solid part is not allowed."
|
msgstr "Deleting the last solid part is not allowed."
|
||||||
|
|
||||||
|
@ -1076,6 +1122,9 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Arrange failed. Found some exceptions when processing object geometries."
|
"Arrange failed. Found some exceptions when processing object geometries."
|
||||||
|
|
||||||
|
msgid "Arranging"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Arranging canceled."
|
msgid "Arranging canceled."
|
||||||
msgstr "Arranging canceled."
|
msgstr "Arranging canceled."
|
||||||
|
|
||||||
|
@ -1274,12 +1323,12 @@ msgid ""
|
||||||
"the corresponding code comments."
|
"the corresponding code comments."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "AMSMaterialsSetting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Colour"
|
msgid "Colour"
|
||||||
msgstr "Colour"
|
msgstr "Colour"
|
||||||
|
|
||||||
msgid "SN"
|
|
||||||
msgstr "SN"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Nozzle\n"
|
"Nozzle\n"
|
||||||
"Temperature"
|
"Temperature"
|
||||||
|
@ -1297,9 +1346,22 @@ msgstr "min"
|
||||||
msgid "The input value should be greater than %1% and less than %2%"
|
msgid "The input value should be greater than %1% and less than %2%"
|
||||||
msgstr "The input value should be greater than %1% and less than %2%"
|
msgstr "The input value should be greater than %1% and less than %2%"
|
||||||
|
|
||||||
|
msgid "SN"
|
||||||
|
msgstr "SN"
|
||||||
|
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "Confirm"
|
msgstr "Confirm"
|
||||||
|
|
||||||
|
msgid "Close"
|
||||||
|
msgstr "Close"
|
||||||
|
|
||||||
|
msgid "AMS Slots"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Note: Only the AMS slots loaded with the same material type can be selected."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Insertion update"
|
msgid "Insertion update"
|
||||||
msgstr "Insertion update"
|
msgstr "Insertion update"
|
||||||
|
|
||||||
|
@ -1348,9 +1410,6 @@ msgstr ""
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "File"
|
msgstr "File"
|
||||||
|
|
||||||
msgid "Close"
|
|
||||||
msgstr "Close"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
|
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
|
||||||
"program"
|
"program"
|
||||||
|
@ -1593,13 +1652,6 @@ msgstr ""
|
||||||
"Yes - Change these settings and enable spiral mode automatically\n"
|
"Yes - Change these settings and enable spiral mode automatically\n"
|
||||||
"No - Give up using spiral mode this time"
|
"No - Give up using spiral mode this time"
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"When recording timelapse without toolhead, it is recommended to add a "
|
|
||||||
"\"Timelapse Wipe Tower\" \n"
|
|
||||||
"by right-click the empty position of build plate and choose \"Add Primitive"
|
|
||||||
"\"->\"Timelapse Wipe Tower\".\n"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Prime tower does not work when Adaptive Layer Height or Independent Support "
|
"Prime tower does not work when Adaptive Layer Height or Independent Support "
|
||||||
"Layer Height is on.\n"
|
"Layer Height is on.\n"
|
||||||
|
@ -1753,6 +1805,9 @@ msgstr "Update failed."
|
||||||
msgid "Failed to start printing job"
|
msgid "Failed to start printing job"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "parameter name"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "N/A"
|
msgstr "N/A"
|
||||||
|
|
||||||
|
@ -1994,8 +2049,11 @@ msgstr "Add Plate"
|
||||||
msgid "Auto orient"
|
msgid "Auto orient"
|
||||||
msgstr "Auto Orient"
|
msgstr "Auto Orient"
|
||||||
|
|
||||||
msgid "Auto arrange"
|
msgid "Arrange all objects"
|
||||||
msgstr "Auto Arrange"
|
msgstr "Arrange all objects"
|
||||||
|
|
||||||
|
msgid "Arrange objects on selected plates"
|
||||||
|
msgstr "Arrange objects on selected plates"
|
||||||
|
|
||||||
msgid "Split to objects"
|
msgid "Split to objects"
|
||||||
msgstr "Split to Objects"
|
msgstr "Split to Objects"
|
||||||
|
@ -2094,6 +2152,9 @@ msgstr ""
|
||||||
"You can find it in \"Settings > Network > Connection code\"\n"
|
"You can find it in \"Settings > Network > Connection code\"\n"
|
||||||
"on the printer, as shown in the figure:"
|
"on the printer, as shown in the figure:"
|
||||||
|
|
||||||
|
msgid "Invalid input."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Application is closing"
|
msgid "Application is closing"
|
||||||
msgstr "Closing application"
|
msgstr "Closing application"
|
||||||
|
|
||||||
|
@ -2199,9 +2260,6 @@ msgstr "New Project"
|
||||||
msgid "Start a new project"
|
msgid "Start a new project"
|
||||||
msgstr "Start a new project"
|
msgstr "Start a new project"
|
||||||
|
|
||||||
msgid "Open Project"
|
|
||||||
msgstr "Open Project"
|
|
||||||
|
|
||||||
msgid "Open a project file"
|
msgid "Open a project file"
|
||||||
msgstr "Open a project file"
|
msgstr "Open a project file"
|
||||||
|
|
||||||
|
@ -2310,6 +2368,18 @@ msgstr "View"
|
||||||
msgid "Help"
|
msgid "Help"
|
||||||
msgstr "Help"
|
msgstr "Help"
|
||||||
|
|
||||||
|
msgid "&File"
|
||||||
|
msgstr "&File"
|
||||||
|
|
||||||
|
msgid "&Edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&View"
|
||||||
|
msgstr "&View"
|
||||||
|
|
||||||
|
msgid "&Help"
|
||||||
|
msgstr "&Help"
|
||||||
|
|
||||||
msgid "&Open G-code"
|
msgid "&Open G-code"
|
||||||
msgstr "&Open G-code"
|
msgstr "&Open G-code"
|
||||||
|
|
||||||
|
@ -2341,15 +2411,6 @@ msgstr "&Quit"
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Quit %s"
|
msgstr "Quit %s"
|
||||||
|
|
||||||
msgid "&File"
|
|
||||||
msgstr "&File"
|
|
||||||
|
|
||||||
msgid "&View"
|
|
||||||
msgstr "&View"
|
|
||||||
|
|
||||||
msgid "&Help"
|
|
||||||
msgstr "&Help"
|
|
||||||
|
|
||||||
msgid "Save configuration as:"
|
msgid "Save configuration as:"
|
||||||
msgstr "Save configuration as:"
|
msgstr "Save configuration as:"
|
||||||
|
|
||||||
|
@ -2438,9 +2499,15 @@ msgstr "Stop"
|
||||||
msgid "0%"
|
msgid "0%"
|
||||||
msgstr "0%"
|
msgstr "0%"
|
||||||
|
|
||||||
|
msgid "Clean"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Control"
|
msgid "Control"
|
||||||
msgstr "Control"
|
msgstr "Control"
|
||||||
|
|
||||||
|
msgid "Print Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "100%"
|
msgid "100%"
|
||||||
msgstr "100%"
|
msgstr "100%"
|
||||||
|
|
||||||
|
@ -2674,6 +2741,15 @@ msgctxt "Layers"
|
||||||
msgid "Bottom"
|
msgid "Bottom"
|
||||||
msgstr "Bottom"
|
msgstr "Bottom"
|
||||||
|
|
||||||
|
msgid "Spaghetti Detection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Stop printing when spaghetti detected"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "First Layer Inspection"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Switch to per-object setting mode to edit modifier settings."
|
msgid "Switch to per-object setting mode to edit modifier settings."
|
||||||
msgstr "Switch to per-object setting mode to edit modifier settings."
|
msgstr "Switch to per-object setting mode to edit modifier settings."
|
||||||
|
|
||||||
|
@ -2758,14 +2834,17 @@ msgstr "Restore"
|
||||||
msgid "Loading file: %s"
|
msgid "Loading file: %s"
|
||||||
msgstr "Loading file: %s"
|
msgstr "Loading file: %s"
|
||||||
|
|
||||||
msgid "The Config is not compatible and can not be loaded."
|
msgid "The 3mf is not from Bambu Lab, load geometry data only."
|
||||||
msgstr "The configuration is not compatible; it cannot be loaded!"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Incompatible 3mf"
|
msgid "Load 3mf"
|
||||||
msgstr "Incompatible 3mf"
|
msgstr ""
|
||||||
|
|
||||||
msgid "the 3mf is not compatible, load geometry data only!"
|
msgid "The Config can not be loaded."
|
||||||
msgstr "The 3mf is not compatible, loading geometry data only!"
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The 3mf is generated by old Bambu Studio, load geometry data only."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, c-format, boost-format
|
#, c-format, boost-format
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -2781,6 +2860,12 @@ msgstr "You'd better upgrade your software.\n"
|
||||||
msgid "Newer 3mf version"
|
msgid "Newer 3mf version"
|
||||||
msgstr "Newer 3mf version"
|
msgstr "Newer 3mf version"
|
||||||
|
|
||||||
|
msgid "The 3mf is not compatible, load geometry data only!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Incompatible 3mf"
|
||||||
|
msgstr "Incompatible 3mf"
|
||||||
|
|
||||||
msgid "Name of components inside step file is not UTF8 format!"
|
msgid "Name of components inside step file is not UTF8 format!"
|
||||||
msgstr "Component name(s) inside step file not in UTF8 format!"
|
msgstr "Component name(s) inside step file not in UTF8 format!"
|
||||||
|
|
||||||
|
@ -2820,6 +2905,14 @@ msgstr "An object with multiple parts was detected"
|
||||||
msgid "The file does not contain any geometry data."
|
msgid "The file does not contain any geometry data."
|
||||||
msgstr "The file does not contain any geometry data."
|
msgstr "The file does not contain any geometry data."
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Your object appears to be too large, Do you want to scale it down to fit the "
|
||||||
|
"heat bed automatically?"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Object too large"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Export STL file:"
|
msgid "Export STL file:"
|
||||||
msgstr "Export STL file:"
|
msgstr "Export STL file:"
|
||||||
|
|
||||||
|
@ -2865,19 +2958,9 @@ msgstr ""
|
||||||
"Preview only mode:\n"
|
"Preview only mode:\n"
|
||||||
"The loaded file contains G-code only and can not enter the Prepare page"
|
"The loaded file contains G-code only and can not enter the Prepare page"
|
||||||
|
|
||||||
msgid "Some presets are modified."
|
|
||||||
msgstr "Some presets are modified."
|
|
||||||
|
|
||||||
msgid "You can keep the modified presets to the new project or discard them"
|
msgid "You can keep the modified presets to the new project or discard them"
|
||||||
msgstr "You can keep the modified presets for the new project or discard them"
|
msgstr "You can keep the modified presets for the new project or discard them"
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"You can keep the modifield presets to the new project, discard or save "
|
|
||||||
"changes as new presets."
|
|
||||||
msgstr ""
|
|
||||||
"You can keep the modified presets for the new project, discard, or save "
|
|
||||||
"changes as new presets."
|
|
||||||
|
|
||||||
msgid "Creating a new project"
|
msgid "Creating a new project"
|
||||||
msgstr "Creating a new project"
|
msgstr "Creating a new project"
|
||||||
|
|
||||||
|
@ -2908,6 +2991,12 @@ msgstr "Import geometry only"
|
||||||
msgid "Only one G-code file can be opened at the same time."
|
msgid "Only one G-code file can be opened at the same time."
|
||||||
msgstr "Only one G-code file can be opened at a time."
|
msgstr "Only one G-code file can be opened at a time."
|
||||||
|
|
||||||
|
msgid "G-code loading"
|
||||||
|
msgstr "G-code loading"
|
||||||
|
|
||||||
|
msgid "G-code files can not be loaded with models together!"
|
||||||
|
msgstr "G-code files and models cannot be loaded together!"
|
||||||
|
|
||||||
msgid "Can not add models when in preview mode!"
|
msgid "Can not add models when in preview mode!"
|
||||||
msgstr "Unable to add models in preview mode"
|
msgstr "Unable to add models in preview mode"
|
||||||
|
|
||||||
|
@ -3371,9 +3460,15 @@ msgstr ""
|
||||||
msgid "The printer is busy on other print job"
|
msgid "The printer is busy on other print job"
|
||||||
msgstr "The printer is busy with another print job."
|
msgstr "The printer is busy with another print job."
|
||||||
|
|
||||||
|
#, c-format, boost-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The filament index exceeds the AMS's slot count and cannot send the print "
|
"Filament %s exceeds the number of AMS slots. Please update the printer "
|
||||||
"job."
|
"firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Filament exceeds the number of AMS slots. Please update the printer firmware "
|
||||||
|
"to support AMS slot assignment."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -3390,6 +3485,17 @@ msgstr ""
|
||||||
"Please click each filament above to specify its mapping AMS slot before "
|
"Please click each filament above to specify its mapping AMS slot before "
|
||||||
"sending the print job"
|
"sending the print job"
|
||||||
|
|
||||||
|
#, c-format, boost-format
|
||||||
|
msgid ""
|
||||||
|
"Filament %s does not match the filament in AMS slot %s. Please update the "
|
||||||
|
"printer firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Filament does not match the filament in AMS slot. Please update the printer "
|
||||||
|
"firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The printer firmware only supports sequential mapping of filament => AMS "
|
"The printer firmware only supports sequential mapping of filament => AMS "
|
||||||
"slot."
|
"slot."
|
||||||
|
@ -3433,6 +3539,13 @@ msgstr "Save current %s"
|
||||||
msgid "Delete this preset"
|
msgid "Delete this preset"
|
||||||
msgstr "Delete this preset"
|
msgstr "Delete this preset"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"When recording timelapse without toolhead, it is recommended to add a "
|
||||||
|
"\"Timelapse Wipe Tower\" \n"
|
||||||
|
"by right-click the empty position of build plate and choose \"Add Primitive"
|
||||||
|
"\"->\"Timelapse Wipe Tower\".\n"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Line width"
|
msgid "Line width"
|
||||||
msgstr "Line width"
|
msgstr "Line width"
|
||||||
|
|
||||||
|
@ -3901,12 +4014,6 @@ msgstr "To"
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "Login"
|
msgstr "Login"
|
||||||
|
|
||||||
msgid "Filaments Selection"
|
|
||||||
msgstr "Filaments selection"
|
|
||||||
|
|
||||||
msgid "Printer Selection"
|
|
||||||
msgstr "Printer Selection"
|
|
||||||
|
|
||||||
msgid "The configuration package is changed in previous Config Guide"
|
msgid "The configuration package is changed in previous Config Guide"
|
||||||
msgstr "The configuration package is changed in previous Config Guide"
|
msgstr "The configuration package is changed in previous Config Guide"
|
||||||
|
|
||||||
|
@ -3922,68 +4029,41 @@ msgstr "Objects list"
|
||||||
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
||||||
msgstr "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
msgstr "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
||||||
|
|
||||||
msgid "Select all objects"
|
|
||||||
msgstr "Select all objects"
|
|
||||||
|
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr "Copy to clipboard"
|
msgstr "Copy to clipboard"
|
||||||
|
|
||||||
msgid "Paste from clipboard"
|
msgid "Paste from clipboard"
|
||||||
msgstr "Paste from clipboard"
|
msgstr "Paste from clipboard"
|
||||||
|
|
||||||
msgid "Camera view - Default"
|
|
||||||
msgstr "Camera view - Default"
|
|
||||||
|
|
||||||
msgid "Camera view - Top"
|
|
||||||
msgstr "Camera view - Top"
|
|
||||||
|
|
||||||
msgid "Camera view - Bottom"
|
|
||||||
msgstr "Camera view - Bottom"
|
|
||||||
|
|
||||||
msgid "Camera view - Front"
|
|
||||||
msgstr "Camera view - Front"
|
|
||||||
|
|
||||||
msgid "Camera view - Behind"
|
|
||||||
msgstr "Camera view - Behind"
|
|
||||||
|
|
||||||
msgid "Camera Angle - Left side"
|
|
||||||
msgstr "Camera Angle - Left side"
|
|
||||||
|
|
||||||
msgid "Camera Angle - Right side"
|
|
||||||
msgstr "Camera Angle - Right side"
|
|
||||||
|
|
||||||
msgid "keyboard 1-9: set filament for object/part"
|
|
||||||
msgstr "keyboard 1-9: set filament for object/part"
|
|
||||||
|
|
||||||
msgid "Show keyboard shortcuts list"
|
msgid "Show keyboard shortcuts list"
|
||||||
msgstr "Show keyboard shortcuts list"
|
msgstr "Show keyboard shortcuts list"
|
||||||
|
|
||||||
msgid "Global shortcuts"
|
msgid "Global shortcuts"
|
||||||
msgstr "Global shortcuts"
|
msgstr "Global shortcuts"
|
||||||
|
|
||||||
msgid "Arrange all objects"
|
|
||||||
msgstr "Arrange all objects"
|
|
||||||
|
|
||||||
msgid "Arrange objects on selected plates"
|
|
||||||
msgstr "Arrange objects on selected plates"
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"Auto orientates selected objects or all objects.If there are selected "
|
|
||||||
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
|
||||||
"all objects in the project."
|
|
||||||
msgstr ""
|
|
||||||
"Auto orientates selected objects or all objects.\n"
|
|
||||||
"If there are selected objects, it just orientates the selected ones."
|
|
||||||
"Otherwise, it will orientates all objects in the project."
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Auto orientates selected objects or all objects.If there are selected "
|
"Auto orientates selected objects or all objects.If there are selected "
|
||||||
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
||||||
"all objects in the current disk."
|
"all objects in the current disk."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Auto orientates selected objects or all objects.\n"
|
"Auto orientates selected objects or all objects.If there are selected "
|
||||||
"If there are selected objects, it just orientates the selected ones."
|
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
||||||
"Otherwise, it will orientates all objects in the current disk."
|
"all objects in the current disk."
|
||||||
|
|
||||||
|
msgid "Collapse/Expand the sidebar"
|
||||||
|
msgstr "Collapse/Expand the sidebar"
|
||||||
|
|
||||||
|
msgid "⌘+Any arrow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Movement in camera space"
|
||||||
|
msgstr "Movement in camera space"
|
||||||
|
|
||||||
|
msgid "⌥+Left mouse button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Select a part"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "⌘+Left mouse button"
|
msgid "⌘+Left mouse button"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -3991,6 +4071,12 @@ msgstr ""
|
||||||
msgid "Select multiple objects"
|
msgid "Select multiple objects"
|
||||||
msgstr "Select multiple objects"
|
msgstr "Select multiple objects"
|
||||||
|
|
||||||
|
msgid "Ctrl+Any arrow"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alt+Left mouse button"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Ctrl+Left mouse button"
|
msgid "Ctrl+Left mouse button"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -4030,17 +4116,53 @@ msgstr ""
|
||||||
msgid "Movement step set to 1 mm"
|
msgid "Movement step set to 1 mm"
|
||||||
msgstr "Movement step set to 1 mm"
|
msgstr "Movement step set to 1 mm"
|
||||||
|
|
||||||
msgid "⌘+Any arrow"
|
msgid "keyboard 1-9: set filament for object/part"
|
||||||
|
msgstr "keyboard 1-9: set filament for object/part"
|
||||||
|
|
||||||
|
msgid "Camera view - Default"
|
||||||
|
msgstr "Camera view - Default"
|
||||||
|
|
||||||
|
msgid "Camera view - Top"
|
||||||
|
msgstr "Camera view - Top"
|
||||||
|
|
||||||
|
msgid "Camera view - Bottom"
|
||||||
|
msgstr "Camera view - Bottom"
|
||||||
|
|
||||||
|
msgid "Camera view - Front"
|
||||||
|
msgstr "Camera view - Front"
|
||||||
|
|
||||||
|
msgid "Camera view - Behind"
|
||||||
|
msgstr "Camera view - Behind"
|
||||||
|
|
||||||
|
msgid "Camera Angle - Left side"
|
||||||
|
msgstr "Camera Angle - Left side"
|
||||||
|
|
||||||
|
msgid "Camera Angle - Right side"
|
||||||
|
msgstr "Camera Angle - Right side"
|
||||||
|
|
||||||
|
msgid "Select all objects"
|
||||||
|
msgstr "Select all objects"
|
||||||
|
|
||||||
|
msgid "Gizmo move"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Movement in camera space"
|
msgid "Gizmo scale"
|
||||||
msgstr "Movement in camera space"
|
|
||||||
|
|
||||||
msgid "Ctrl+Any arrow"
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "Collapse/Expand the sidebar"
|
msgid "Gizmo rotate"
|
||||||
msgstr "Collapse/Expand the sidebar"
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo cut"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo Place face on bed"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo SLA support points"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Gizmo FDM paint-on seam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Plater"
|
msgid "Plater"
|
||||||
msgstr "Plater"
|
msgstr "Plater"
|
||||||
|
@ -4482,6 +4604,12 @@ msgstr "Printable area"
|
||||||
msgid "Bed exclude area"
|
msgid "Bed exclude area"
|
||||||
msgstr "Excluded bed area"
|
msgstr "Excluded bed area"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Unprintable area in XY plane. For example, X1 Series printers use the front "
|
||||||
|
"left corner to cut filament during filament change. The area is expressed as "
|
||||||
|
"polygon by points in following format: \"XxY, XxY, ...\""
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Elephant foot compensation"
|
msgid "Elephant foot compensation"
|
||||||
msgstr "Elephant foot compensation"
|
msgstr "Elephant foot compensation"
|
||||||
|
|
||||||
|
@ -5735,8 +5863,8 @@ msgstr ""
|
||||||
"This is the speed for internal solid infill, but not the top or bottom "
|
"This is the speed for internal solid infill, but not the top or bottom "
|
||||||
"surface."
|
"surface."
|
||||||
|
|
||||||
msgid "Spiral mode"
|
msgid "Spiral vase"
|
||||||
msgstr "Spiral mode"
|
msgstr ""
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Spiralize smooths out the z moves of the outer contour. And turns a solid "
|
"Spiralize smooths out the z moves of the outer contour. And turns a solid "
|
||||||
|
@ -5747,9 +5875,6 @@ msgstr ""
|
||||||
"and turns a solid model into a single walled print with solid bottom layers. "
|
"and turns a solid model into a single walled print with solid bottom layers. "
|
||||||
"The final generated model has no seam."
|
"The final generated model has no seam."
|
||||||
|
|
||||||
msgid "Timelapse without toolhead"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Record timelapse video of printing without showing toolhead. In this mode "
|
"Record timelapse video of printing without showing toolhead. In this mode "
|
||||||
"the toolhead docks near the excess chute at each layer change, and then a "
|
"the toolhead docks near the excess chute at each layer change, and then a "
|
||||||
|
@ -6324,6 +6449,39 @@ msgstr "Support: fix holes at layer %d"
|
||||||
msgid "Support: propagate branches at layer %d"
|
msgid "Support: propagate branches at layer %d"
|
||||||
msgstr "Support: propagate branches at layer %d"
|
msgstr "Support: propagate branches at layer %d"
|
||||||
|
|
||||||
|
#~ msgid "the 3mf is not compatible, load geometry data only!"
|
||||||
|
#~ msgstr "The 3mf is not compatible, loading geometry data only!"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Auto orientates selected objects or all objects.If there are selected "
|
||||||
|
#~ "objects, it just orientates the selected ones.Otherwise, it will "
|
||||||
|
#~ "orientates all objects in the project."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Auto orientates selected objects or all objects.If there are selected "
|
||||||
|
#~ "objects, it just orientates the selected ones.Otherwise, it will "
|
||||||
|
#~ "orientates all objects in the project."
|
||||||
|
|
||||||
|
#~ msgid "The Config is not compatible and can not be loaded."
|
||||||
|
#~ msgstr "The configuration is not compatible; it cannot be loaded!"
|
||||||
|
|
||||||
|
#~ msgid "Auto arrange"
|
||||||
|
#~ msgstr "Auto Arrange"
|
||||||
|
|
||||||
|
#~ msgid "Filaments Selection"
|
||||||
|
#~ msgstr "Filaments selection"
|
||||||
|
|
||||||
|
#~ msgid "Printer Selection"
|
||||||
|
#~ msgstr "Printer Selection"
|
||||||
|
|
||||||
|
#~ msgid "Spiral mode"
|
||||||
|
#~ msgstr "Spiral mode"
|
||||||
|
|
||||||
|
#~ msgid "Fragment area"
|
||||||
|
#~ msgstr "Fragment area"
|
||||||
|
|
||||||
|
#~ msgid "Clear all"
|
||||||
|
#~ msgstr "Clear all"
|
||||||
|
|
||||||
#~ msgid "Creating"
|
#~ msgid "Creating"
|
||||||
#~ msgstr "Creating"
|
#~ msgstr "Creating"
|
||||||
|
|
||||||
|
|
6763
bbl/i18n/hu/BambuStudio_hu.po
Normal file
|
@ -10,7 +10,8 @@ src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoFaceDetector.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoFaceDetector.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoModifier.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoSeam.cpp
|
||||||
|
src/slic3r/GUI/Gizmos/GLGizmoSeam.hpp
|
||||||
src/slic3r/GUI/GUI.cpp
|
src/slic3r/GUI/GUI.cpp
|
||||||
src/slic3r/GUI/GUI_App.cpp
|
src/slic3r/GUI/GUI_App.cpp
|
||||||
src/slic3r/GUI/GUI_Init.cpp
|
src/slic3r/GUI/GUI_Init.cpp
|
||||||
|
@ -36,6 +37,7 @@ src/slic3r/GUI/Jobs/PrintJob.cpp
|
||||||
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
|
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
|
||||||
src/slic3r/GUI/AboutDialog.cpp
|
src/slic3r/GUI/AboutDialog.cpp
|
||||||
src/slic3r/GUI/AMSMaterialsSetting.cpp
|
src/slic3r/GUI/AMSMaterialsSetting.cpp
|
||||||
|
src/slic3r/GUI/AMSMappingPopup.cpp
|
||||||
src/slic3r/GUI/AMSSetting.cpp
|
src/slic3r/GUI/AMSSetting.cpp
|
||||||
src/slic3r/GUI/BBLTopbar.cpp
|
src/slic3r/GUI/BBLTopbar.cpp
|
||||||
src/slic3r/GUI/DownloadProgressDialog.cpp
|
src/slic3r/GUI/DownloadProgressDialog.cpp
|
||||||
|
@ -63,6 +65,7 @@ src/slic3r/GUI/NotificationManager.cpp
|
||||||
src/slic3r/GUI/ObjectDataViewModel.cpp
|
src/slic3r/GUI/ObjectDataViewModel.cpp
|
||||||
src/slic3r/GUI/OpenGLManager.cpp
|
src/slic3r/GUI/OpenGLManager.cpp
|
||||||
src/slic3r/GUI/OptionsGroup.cpp
|
src/slic3r/GUI/OptionsGroup.cpp
|
||||||
|
src/slic3r/GUI/PrintOptionsDialog.cpp
|
||||||
src/slic3r/GUI/ParamsPanel.cpp
|
src/slic3r/GUI/ParamsPanel.cpp
|
||||||
src/slic3r/GUI/PartPlate.cpp
|
src/slic3r/GUI/PartPlate.cpp
|
||||||
src/slic3r/GUI/Plater.cpp
|
src/slic3r/GUI/Plater.cpp
|
||||||
|
|
|
@ -6,8 +6,8 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Slic3rPE\n"
|
"Project-Id-Version: Slic3rPE\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2022-07-23 18:15+0800\n"
|
"POT-Creation-Date: 2022-08-08 20:01+0800\n"
|
||||||
"PO-Revision-Date: 2022-07-22 13:28+0800\n"
|
"PO-Revision-Date: 2022-08-07 21:57+0800\n"
|
||||||
"Last-Translator: Jiang Yue <maze1024@gmail.com>\n"
|
"Last-Translator: Jiang Yue <maze1024@gmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
"Language: zh_CN\n"
|
"Language: zh_CN\n"
|
||||||
|
@ -56,8 +56,8 @@ msgstr "缝隙填充"
|
||||||
msgid "Perform"
|
msgid "Perform"
|
||||||
msgstr "执行"
|
msgstr "执行"
|
||||||
|
|
||||||
msgid "Fragment area"
|
msgid "Gap area"
|
||||||
msgstr "碎片面积阈值"
|
msgstr ""
|
||||||
|
|
||||||
msgid "Set pen size"
|
msgid "Set pen size"
|
||||||
msgstr "设置画笔大小"
|
msgstr "设置画笔大小"
|
||||||
|
@ -126,9 +126,6 @@ msgstr "选择耗材丝"
|
||||||
msgid "Edge detection"
|
msgid "Edge detection"
|
||||||
msgstr "边沿检测"
|
msgstr "边沿检测"
|
||||||
|
|
||||||
msgid "Clear all"
|
|
||||||
msgstr "清除所有"
|
|
||||||
|
|
||||||
msgid "Triangles"
|
msgid "Triangles"
|
||||||
msgstr "三角形"
|
msgstr "三角形"
|
||||||
|
|
||||||
|
@ -339,20 +336,35 @@ msgstr "外观面检测"
|
||||||
msgid "Perform Recognition"
|
msgid "Perform Recognition"
|
||||||
msgstr "执行检测"
|
msgstr "执行检测"
|
||||||
|
|
||||||
msgid "Cube"
|
msgid "Reset direction"
|
||||||
msgstr "立方体"
|
msgstr "重置方向"
|
||||||
|
|
||||||
msgid "Cylinder"
|
msgid "Brush size"
|
||||||
msgstr "圆柱体"
|
msgstr "画刷尺寸"
|
||||||
|
|
||||||
msgid "Cone"
|
msgid "Brush shape"
|
||||||
msgstr "锥体"
|
msgstr "画刷形状"
|
||||||
|
|
||||||
msgid "Timelapse Wipe Tower"
|
msgid "Enforce seam"
|
||||||
msgstr "延时摄影擦料塔"
|
msgstr "添加Z缝"
|
||||||
|
|
||||||
msgid "Add Modifier"
|
msgid "Block seam"
|
||||||
msgstr "添加修改器"
|
msgstr "屏蔽Z缝"
|
||||||
|
|
||||||
|
msgid "Remove selection"
|
||||||
|
msgstr "移除绘制"
|
||||||
|
|
||||||
|
msgid "Seam painting"
|
||||||
|
msgstr "Z缝绘制"
|
||||||
|
|
||||||
|
msgid "Entering Seam painting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Leaving Seam painting"
|
||||||
|
msgstr "推出Z缝绘制"
|
||||||
|
|
||||||
|
msgid "Paint-on seam editing"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Notice"
|
msgid "Notice"
|
||||||
msgstr "通知"
|
msgstr "通知"
|
||||||
|
@ -420,12 +432,15 @@ msgstr "严重错误"
|
||||||
msgid "BambuStudio got an unhandled exception: %1%"
|
msgid "BambuStudio got an unhandled exception: %1%"
|
||||||
msgstr "Bambu Studio捕捉到一个未处理的异常:%1%"
|
msgstr "Bambu Studio捕捉到一个未处理的异常:%1%"
|
||||||
|
|
||||||
msgid "Downloading Bambu Network plug-in"
|
msgid "Downloading Bambu Network Plug-in"
|
||||||
msgstr "正在下载Bambu网络插件"
|
msgstr "正在下载Bambu网络插件"
|
||||||
|
|
||||||
|
msgid "Incorrect password"
|
||||||
|
msgstr "访问码不正确"
|
||||||
|
|
||||||
#, c-format, boost-format
|
#, c-format, boost-format
|
||||||
msgid "Connect %s[SN:%s] failed!"
|
msgid "Connect %s failed! [SN:%s, code=%s]"
|
||||||
msgstr "连接 %s[SN:%s]失败."
|
msgstr "连接 %s 失败 [SN:%s, code=%s]"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"BambuStudio configuration file may be corrupted and is not abled to be "
|
"BambuStudio configuration file may be corrupted and is not abled to be "
|
||||||
|
@ -479,6 +494,23 @@ msgstr "选择一个或多个文件(3mf/step/stl/obj/amf):"
|
||||||
msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):"
|
msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):"
|
||||||
msgstr "选择一个文件(gcode/.gco/.g/.ngc/ngc):"
|
msgstr "选择一个文件(gcode/.gco/.g/.ngc/ngc):"
|
||||||
|
|
||||||
|
msgid "Some presets are modified."
|
||||||
|
msgstr "预设已被修改。"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"You can keep the modifield presets to the new project, discard or save "
|
||||||
|
"changes as new presets."
|
||||||
|
msgstr "您可以保留未保存修改的预设应用到新项目中,或者选择忽略。"
|
||||||
|
|
||||||
|
msgid "User logged out"
|
||||||
|
msgstr "用户登出"
|
||||||
|
|
||||||
|
msgid "new or open project file is not allowed during the slicing process!"
|
||||||
|
msgstr "在切片过程不允许新建或打开项目文件!"
|
||||||
|
|
||||||
|
msgid "Open Project"
|
||||||
|
msgstr "打开项目"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The version of Bambu studio is too low and needs to be updated to the latest "
|
"The version of Bambu studio is too low and needs to be updated to the latest "
|
||||||
"version before it can be used normally"
|
"version before it can be used normally"
|
||||||
|
@ -505,12 +537,6 @@ msgstr "语言"
|
||||||
msgid "*"
|
msgid "*"
|
||||||
msgstr "*"
|
msgstr "*"
|
||||||
|
|
||||||
msgid "G-code files can not be loaded with models together!"
|
|
||||||
msgstr "G-code文件不能和模型一起加载"
|
|
||||||
|
|
||||||
msgid "G-code loading"
|
|
||||||
msgstr "正在加载G-code文件"
|
|
||||||
|
|
||||||
msgid "Select a G-code file:"
|
msgid "Select a G-code file:"
|
||||||
msgstr "选择一个G-code文件:"
|
msgstr "选择一个G-code文件:"
|
||||||
|
|
||||||
|
@ -599,6 +625,18 @@ msgstr "删除所选对象"
|
||||||
msgid "Load..."
|
msgid "Load..."
|
||||||
msgstr "加载..."
|
msgstr "加载..."
|
||||||
|
|
||||||
|
msgid "Cube"
|
||||||
|
msgstr "立方体"
|
||||||
|
|
||||||
|
msgid "Cylinder"
|
||||||
|
msgstr "圆柱体"
|
||||||
|
|
||||||
|
msgid "Cone"
|
||||||
|
msgstr "锥体"
|
||||||
|
|
||||||
|
msgid "Timelapse Wipe Tower"
|
||||||
|
msgstr "延时摄影擦料塔"
|
||||||
|
|
||||||
msgid "Add settings"
|
msgid "Add settings"
|
||||||
msgstr "添加设置"
|
msgstr "添加设置"
|
||||||
|
|
||||||
|
@ -795,6 +833,9 @@ msgstr "锁定"
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "名称"
|
msgstr "名称"
|
||||||
|
|
||||||
|
msgid "Fila."
|
||||||
|
msgstr "耗材丝"
|
||||||
|
|
||||||
#, c-format, boost-format
|
#, c-format, boost-format
|
||||||
msgid "%1$d error repaired"
|
msgid "%1$d error repaired"
|
||||||
msgid_plural "%1$d errors repaired"
|
msgid_plural "%1$d errors repaired"
|
||||||
|
@ -843,6 +884,9 @@ msgstr "错误!"
|
||||||
msgid "Generic"
|
msgid "Generic"
|
||||||
msgstr "通用"
|
msgstr "通用"
|
||||||
|
|
||||||
|
msgid "Add Modifier"
|
||||||
|
msgstr "添加修改器"
|
||||||
|
|
||||||
msgid "Deleting the last solid part is not allowed."
|
msgid "Deleting the last solid part is not allowed."
|
||||||
msgstr "不允许删除对象的最后一个实体零件。"
|
msgstr "不允许删除对象的最后一个实体零件。"
|
||||||
|
|
||||||
|
@ -1055,6 +1099,9 @@ msgid ""
|
||||||
"Arrange failed. Found some exceptions when processing object geometries."
|
"Arrange failed. Found some exceptions when processing object geometries."
|
||||||
msgstr "自动摆放失败,处理对象几何数据时遇到异常。"
|
msgstr "自动摆放失败,处理对象几何数据时遇到异常。"
|
||||||
|
|
||||||
|
msgid "Arranging"
|
||||||
|
msgstr "自动摆盘中"
|
||||||
|
|
||||||
msgid "Arranging canceled."
|
msgid "Arranging canceled."
|
||||||
msgstr "已取消自动摆放。"
|
msgstr "已取消自动摆放。"
|
||||||
|
|
||||||
|
@ -1250,12 +1297,12 @@ msgstr ""
|
||||||
"软件中的很多部分都来自于社区贡献,因此,我们无法逐一列出他们,相反的,他们将被"
|
"软件中的很多部分都来自于社区贡献,因此,我们无法逐一列出他们,相反的,他们将被"
|
||||||
"注释于相应的代码中。"
|
"注释于相应的代码中。"
|
||||||
|
|
||||||
|
msgid "AMSMaterialsSetting"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Colour"
|
msgid "Colour"
|
||||||
msgstr "颜色"
|
msgstr "颜色"
|
||||||
|
|
||||||
msgid "SN"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Nozzle\n"
|
"Nozzle\n"
|
||||||
"Temperature"
|
"Temperature"
|
||||||
|
@ -1271,9 +1318,22 @@ msgstr "最小"
|
||||||
msgid "The input value should be greater than %1% and less than %2%"
|
msgid "The input value should be greater than %1% and less than %2%"
|
||||||
msgstr "输入的范围在 %1% 和 %2% 之间"
|
msgstr "输入的范围在 %1% 和 %2% 之间"
|
||||||
|
|
||||||
|
msgid "SN"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "确定"
|
msgstr "确定"
|
||||||
|
|
||||||
|
msgid "Close"
|
||||||
|
msgstr "关闭"
|
||||||
|
|
||||||
|
msgid "AMS Slots"
|
||||||
|
msgstr "AMS舱内材料"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Note: Only the AMS slots loaded with the same material type can be selected."
|
||||||
|
msgstr "仅允许选择放入同种材质耗材丝的AMS槽位"
|
||||||
|
|
||||||
msgid "Insertion update"
|
msgid "Insertion update"
|
||||||
msgstr "插入料时更新"
|
msgstr "插入料时更新"
|
||||||
|
|
||||||
|
@ -1318,9 +1378,6 @@ msgstr "AMS不会在启动时自动读取耗材丝信息。它会使用上次关
|
||||||
msgid "File"
|
msgid "File"
|
||||||
msgstr "文件"
|
msgstr "文件"
|
||||||
|
|
||||||
msgid "Close"
|
|
||||||
msgstr "关闭"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
|
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
|
||||||
"program"
|
"program"
|
||||||
|
@ -1543,15 +1600,6 @@ msgstr ""
|
||||||
"是 - 自动调整这些设置并开启旋转模式\n"
|
"是 - 自动调整这些设置并开启旋转模式\n"
|
||||||
"否 - 暂不使用旋转模式"
|
"否 - 暂不使用旋转模式"
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"When recording timelapse without toolhead, it is recommended to add a "
|
|
||||||
"\"Timelapse Wipe Tower\" \n"
|
|
||||||
"by right-click the empty position of build plate and choose \"Add Primitive"
|
|
||||||
"\"->\"Timelapse Wipe Tower\".\n"
|
|
||||||
msgstr ""
|
|
||||||
"在录制无工具头延时摄影视频时,建议添加“延时摄影擦料塔”\n"
|
|
||||||
"右键单击构建板的空白位置,选择“添加标准模型”->“延时摄影擦料塔”。\n"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Prime tower does not work when Adaptive Layer Height or Independent Support "
|
"Prime tower does not work when Adaptive Layer Height or Independent Support "
|
||||||
"Layer Height is on.\n"
|
"Layer Height is on.\n"
|
||||||
|
@ -1704,6 +1752,9 @@ msgstr "更新失败。"
|
||||||
msgid "Failed to start printing job"
|
msgid "Failed to start printing job"
|
||||||
msgstr "发起打印任务失败"
|
msgstr "发起打印任务失败"
|
||||||
|
|
||||||
|
msgid "parameter name"
|
||||||
|
msgstr "参数名称"
|
||||||
|
|
||||||
msgid "N/A"
|
msgid "N/A"
|
||||||
msgstr "N/A"
|
msgstr "N/A"
|
||||||
|
|
||||||
|
@ -1946,8 +1997,11 @@ msgstr "添加新盘"
|
||||||
msgid "Auto orient"
|
msgid "Auto orient"
|
||||||
msgstr "自动朝向"
|
msgstr "自动朝向"
|
||||||
|
|
||||||
msgid "Auto arrange"
|
msgid "Arrange all objects"
|
||||||
msgstr "自动摆盘"
|
msgstr "全局整理"
|
||||||
|
|
||||||
|
msgid "Arrange objects on selected plates"
|
||||||
|
msgstr "单盘整理"
|
||||||
|
|
||||||
msgid "Split to objects"
|
msgid "Split to objects"
|
||||||
msgstr "拆分为对象"
|
msgstr "拆分为对象"
|
||||||
|
@ -2047,6 +2101,9 @@ msgstr ""
|
||||||
"你可以在打印机“设置->网络->连接->访问码\"\n"
|
"你可以在打印机“设置->网络->连接->访问码\"\n"
|
||||||
"查看,如下图所示:"
|
"查看,如下图所示:"
|
||||||
|
|
||||||
|
msgid "Invalid input."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Application is closing"
|
msgid "Application is closing"
|
||||||
msgstr "正在关闭应用程序"
|
msgstr "正在关闭应用程序"
|
||||||
|
|
||||||
|
@ -2152,9 +2209,6 @@ msgstr "新建项目"
|
||||||
msgid "Start a new project"
|
msgid "Start a new project"
|
||||||
msgstr "新建一个项目"
|
msgstr "新建一个项目"
|
||||||
|
|
||||||
msgid "Open Project"
|
|
||||||
msgstr "打开项目"
|
|
||||||
|
|
||||||
msgid "Open a project file"
|
msgid "Open a project file"
|
||||||
msgstr "打开项目文件"
|
msgstr "打开项目文件"
|
||||||
|
|
||||||
|
@ -2263,6 +2317,18 @@ msgstr "视图"
|
||||||
msgid "Help"
|
msgid "Help"
|
||||||
msgstr "帮助"
|
msgstr "帮助"
|
||||||
|
|
||||||
|
msgid "&File"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&Edit"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&View"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "&Help"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "&Open G-code"
|
msgid "&Open G-code"
|
||||||
msgstr "打开G-code"
|
msgstr "打开G-code"
|
||||||
|
|
||||||
|
@ -2294,15 +2360,6 @@ msgstr ""
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
msgid "&File"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "&View"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "&Help"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
msgid "Save configuration as:"
|
msgid "Save configuration as:"
|
||||||
msgstr "预设另存为:"
|
msgstr "预设另存为:"
|
||||||
|
|
||||||
|
@ -2396,9 +2453,15 @@ msgstr "停止"
|
||||||
msgid "0%"
|
msgid "0%"
|
||||||
msgstr "0%"
|
msgstr "0%"
|
||||||
|
|
||||||
|
msgid "Clean"
|
||||||
|
msgstr "清除"
|
||||||
|
|
||||||
msgid "Control"
|
msgid "Control"
|
||||||
msgstr "控制"
|
msgstr "控制"
|
||||||
|
|
||||||
|
msgid "Print Options"
|
||||||
|
msgstr "打印选项"
|
||||||
|
|
||||||
msgid "100%"
|
msgid "100%"
|
||||||
msgstr "100%"
|
msgstr "100%"
|
||||||
|
|
||||||
|
@ -2626,6 +2689,15 @@ msgctxt "Layers"
|
||||||
msgid "Bottom"
|
msgid "Bottom"
|
||||||
msgstr "底部"
|
msgstr "底部"
|
||||||
|
|
||||||
|
msgid "Spaghetti Detection"
|
||||||
|
msgstr "炒面检测"
|
||||||
|
|
||||||
|
msgid "Stop printing when spaghetti detected"
|
||||||
|
msgstr "当发生炒面时停止打印"
|
||||||
|
|
||||||
|
msgid "First Layer Inspection"
|
||||||
|
msgstr "首层扫描"
|
||||||
|
|
||||||
msgid "Switch to per-object setting mode to edit modifier settings."
|
msgid "Switch to per-object setting mode to edit modifier settings."
|
||||||
msgstr "切换到对象模式以编辑修改器的设置。"
|
msgstr "切换到对象模式以编辑修改器的设置。"
|
||||||
|
|
||||||
|
@ -2710,14 +2782,17 @@ msgstr "恢复"
|
||||||
msgid "Loading file: %s"
|
msgid "Loading file: %s"
|
||||||
msgstr "加载文件:%s"
|
msgstr "加载文件:%s"
|
||||||
|
|
||||||
msgid "The Config is not compatible and can not be loaded."
|
msgid "The 3mf is not from Bambu Lab, load geometry data only."
|
||||||
msgstr "该配置不兼容,无法被加载。"
|
msgstr "该3mf文件不兼容,仅加载几何数据。"
|
||||||
|
|
||||||
msgid "Incompatible 3mf"
|
msgid "Load 3mf"
|
||||||
msgstr "不兼容的3mf"
|
msgstr "加载3mf"
|
||||||
|
|
||||||
msgid "the 3mf is not compatible, load geometry data only!"
|
msgid "The Config can not be loaded."
|
||||||
msgstr "该3mf文件不兼容,仅加载几何数据!"
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The 3mf is generated by old Bambu Studio, load geometry data only."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#, c-format, boost-format
|
#, c-format, boost-format
|
||||||
msgid ""
|
msgid ""
|
||||||
|
@ -2731,6 +2806,12 @@ msgstr "建议升级您的软件版本。\n"
|
||||||
msgid "Newer 3mf version"
|
msgid "Newer 3mf version"
|
||||||
msgstr "较新的3mf版本"
|
msgstr "较新的3mf版本"
|
||||||
|
|
||||||
|
msgid "The 3mf is not compatible, load geometry data only!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Incompatible 3mf"
|
||||||
|
msgstr "不兼容的3mf"
|
||||||
|
|
||||||
msgid "Name of components inside step file is not UTF8 format!"
|
msgid "Name of components inside step file is not UTF8 format!"
|
||||||
msgstr "step 文件中的部件名称包含非UTF8格式的字符!"
|
msgstr "step 文件中的部件名称包含非UTF8格式的字符!"
|
||||||
|
|
||||||
|
@ -2770,6 +2851,14 @@ msgstr "检测到多零件对象"
|
||||||
msgid "The file does not contain any geometry data."
|
msgid "The file does not contain any geometry data."
|
||||||
msgstr "此文件不包含任何几何数据。"
|
msgstr "此文件不包含任何几何数据。"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Your object appears to be too large, Do you want to scale it down to fit the "
|
||||||
|
"heat bed automatically?"
|
||||||
|
msgstr "对象看起来太大,希望将对象自动缩小以适应热床吗?"
|
||||||
|
|
||||||
|
msgid "Object too large"
|
||||||
|
msgstr "对象太大"
|
||||||
|
|
||||||
msgid "Export STL file:"
|
msgid "Export STL file:"
|
||||||
msgstr "导出 STL 文件:"
|
msgstr "导出 STL 文件:"
|
||||||
|
|
||||||
|
@ -2815,17 +2904,9 @@ msgstr ""
|
||||||
"仅预览模式:\n"
|
"仅预览模式:\n"
|
||||||
"被加载的文件仅包含G-Code,不支持进入准备页面"
|
"被加载的文件仅包含G-Code,不支持进入准备页面"
|
||||||
|
|
||||||
msgid "Some presets are modified."
|
|
||||||
msgstr "预设已被修改。"
|
|
||||||
|
|
||||||
msgid "You can keep the modified presets to the new project or discard them"
|
msgid "You can keep the modified presets to the new project or discard them"
|
||||||
msgstr "您可以保留修改的预设到新项目中或者忽略这些修改"
|
msgstr "您可以保留修改的预设到新项目中或者忽略这些修改"
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"You can keep the modifield presets to the new project, discard or save "
|
|
||||||
"changes as new presets."
|
|
||||||
msgstr "您可以保留未保存修改的预设应用到新项目中,或者选择忽略。"
|
|
||||||
|
|
||||||
msgid "Creating a new project"
|
msgid "Creating a new project"
|
||||||
msgstr "创建新项目"
|
msgstr "创建新项目"
|
||||||
|
|
||||||
|
@ -2856,6 +2937,12 @@ msgstr "仅导入模型数据"
|
||||||
msgid "Only one G-code file can be opened at the same time."
|
msgid "Only one G-code file can be opened at the same time."
|
||||||
msgstr "只能同时打开一个G-code文件。"
|
msgstr "只能同时打开一个G-code文件。"
|
||||||
|
|
||||||
|
msgid "G-code loading"
|
||||||
|
msgstr "正在加载G-code文件"
|
||||||
|
|
||||||
|
msgid "G-code files can not be loaded with models together!"
|
||||||
|
msgstr "G-code文件不能和模型一起加载"
|
||||||
|
|
||||||
msgid "Can not add models when in preview mode!"
|
msgid "Can not add models when in preview mode!"
|
||||||
msgstr "在预览模式不允许添加模型"
|
msgstr "在预览模式不允许添加模型"
|
||||||
|
|
||||||
|
@ -3309,12 +3396,16 @@ msgstr "打印机正在执行指令,请在其结束后重新发起打印"
|
||||||
msgid "The printer is busy on other print job"
|
msgid "The printer is busy on other print job"
|
||||||
msgstr "打印机正在执行其他打印任务"
|
msgstr "打印机正在执行其他打印任务"
|
||||||
|
|
||||||
|
#, c-format, boost-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"The filament index exceeds the AMS's slot count and cannot send the print "
|
"Filament %s exceeds the number of AMS slots. Please update the printer "
|
||||||
"job."
|
"firmware to support AMS slot assignment."
|
||||||
msgstr ""
|
msgstr "材料编号%s超出AMS槽位数量,请更新打印机固件以支持AMS槽位映射功能"
|
||||||
"打印机固件仅支持材料=>AMS槽位的顺序映射。材料编号超过AMS的槽位数量,无法发送"
|
|
||||||
"打印任务。"
|
msgid ""
|
||||||
|
"Filament exceeds the number of AMS slots. Please update the printer firmware "
|
||||||
|
"to support AMS slot assignment."
|
||||||
|
msgstr "材料编号超出AMS槽位数量,请更新打印机固件以支持AMS槽位映射功能"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Filaments to AMS slots mappings have been established. You can click a "
|
"Filaments to AMS slots mappings have been established. You can click a "
|
||||||
|
@ -3328,6 +3419,20 @@ msgid ""
|
||||||
"sending the print job"
|
"sending the print job"
|
||||||
msgstr "请在发送打印前点击上方各个耗材丝,指定其所对应的AMS槽位"
|
msgstr "请在发送打印前点击上方各个耗材丝,指定其所对应的AMS槽位"
|
||||||
|
|
||||||
|
#, c-format, boost-format
|
||||||
|
msgid ""
|
||||||
|
"Filament %s does not match the filament in AMS slot %s. Please update the "
|
||||||
|
"printer firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
"材料编号%s和AMS槽位%s中的耗材丝材质不匹配,请更新打印机固件以支持AMS槽位映射"
|
||||||
|
"功能"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Filament does not match the filament in AMS slot. Please update the printer "
|
||||||
|
"firmware to support AMS slot assignment."
|
||||||
|
msgstr ""
|
||||||
|
"材料编号和AMS槽位中的耗材丝材质不匹配,请更新打印机固件以支持AMS槽位映射功能"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"The printer firmware only supports sequential mapping of filament => AMS "
|
"The printer firmware only supports sequential mapping of filament => AMS "
|
||||||
"slot."
|
"slot."
|
||||||
|
@ -3371,6 +3476,15 @@ msgstr "保存当前 %s"
|
||||||
msgid "Delete this preset"
|
msgid "Delete this preset"
|
||||||
msgstr "删除此预设"
|
msgstr "删除此预设"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"When recording timelapse without toolhead, it is recommended to add a "
|
||||||
|
"\"Timelapse Wipe Tower\" \n"
|
||||||
|
"by right-click the empty position of build plate and choose \"Add Primitive"
|
||||||
|
"\"->\"Timelapse Wipe Tower\".\n"
|
||||||
|
msgstr ""
|
||||||
|
"在录制无工具头延时摄影视频时,建议添加“延时摄影擦料塔”\n"
|
||||||
|
"右键单击构建板的空白位置,选择“添加标准模型”->“延时摄影擦料塔”。\n"
|
||||||
|
|
||||||
msgid "Line width"
|
msgid "Line width"
|
||||||
msgstr "线宽"
|
msgstr "线宽"
|
||||||
|
|
||||||
|
@ -3814,12 +3928,6 @@ msgstr "到"
|
||||||
msgid "Login"
|
msgid "Login"
|
||||||
msgstr "登录"
|
msgstr "登录"
|
||||||
|
|
||||||
msgid "Filaments Selection"
|
|
||||||
msgstr "材料选择"
|
|
||||||
|
|
||||||
msgid "Printer Selection"
|
|
||||||
msgstr "打印机选择"
|
|
||||||
|
|
||||||
msgid "The configuration package is changed in previous Config Guide"
|
msgid "The configuration package is changed in previous Config Guide"
|
||||||
msgstr "参数配置包在之前的配置向导中发生了变更"
|
msgstr "参数配置包在之前的配置向导中发生了变更"
|
||||||
|
|
||||||
|
@ -3835,59 +3943,18 @@ msgstr "对象列表"
|
||||||
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
|
||||||
msgstr "从STL/STEP/3MF/OBJ/AMF文件中导入几何数据"
|
msgstr "从STL/STEP/3MF/OBJ/AMF文件中导入几何数据"
|
||||||
|
|
||||||
msgid "Select all objects"
|
|
||||||
msgstr "选择所有对象"
|
|
||||||
|
|
||||||
msgid "Copy to clipboard"
|
msgid "Copy to clipboard"
|
||||||
msgstr "复制到剪贴板"
|
msgstr "复制到剪贴板"
|
||||||
|
|
||||||
msgid "Paste from clipboard"
|
msgid "Paste from clipboard"
|
||||||
msgstr "从剪切板粘贴"
|
msgstr "从剪切板粘贴"
|
||||||
|
|
||||||
msgid "Camera view - Default"
|
|
||||||
msgstr "摄像机视角 - 默认"
|
|
||||||
|
|
||||||
msgid "Camera view - Top"
|
|
||||||
msgstr "摄像机视角 - 顶部"
|
|
||||||
|
|
||||||
msgid "Camera view - Bottom"
|
|
||||||
msgstr "摄像机视角 - 底部"
|
|
||||||
|
|
||||||
msgid "Camera view - Front"
|
|
||||||
msgstr "摄像机视角 - 前面"
|
|
||||||
|
|
||||||
msgid "Camera view - Behind"
|
|
||||||
msgstr "摄像机视角 - 后面"
|
|
||||||
|
|
||||||
msgid "Camera Angle - Left side"
|
|
||||||
msgstr "摄像机视角 - 左面"
|
|
||||||
|
|
||||||
msgid "Camera Angle - Right side"
|
|
||||||
msgstr "摄像机视角 - 右面"
|
|
||||||
|
|
||||||
msgid "keyboard 1-9: set filament for object/part"
|
|
||||||
msgstr "按键1-9:设置对象/零件的耗材丝"
|
|
||||||
|
|
||||||
msgid "Show keyboard shortcuts list"
|
msgid "Show keyboard shortcuts list"
|
||||||
msgstr "显示键盘快捷键列表"
|
msgstr "显示键盘快捷键列表"
|
||||||
|
|
||||||
msgid "Global shortcuts"
|
msgid "Global shortcuts"
|
||||||
msgstr "全局快捷键"
|
msgstr "全局快捷键"
|
||||||
|
|
||||||
msgid "Arrange all objects"
|
|
||||||
msgstr "全局整理"
|
|
||||||
|
|
||||||
msgid "Arrange objects on selected plates"
|
|
||||||
msgstr "单盘整理"
|
|
||||||
|
|
||||||
msgid ""
|
|
||||||
"Auto orientates selected objects or all objects.If there are selected "
|
|
||||||
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
|
||||||
"all objects in the project."
|
|
||||||
msgstr ""
|
|
||||||
"自动调整选定零件/所有零件的方向,\n"
|
|
||||||
"有选定零件时调整选定零件的朝向,没有选择零件时调整所有零件的朝向"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Auto orientates selected objects or all objects.If there are selected "
|
"Auto orientates selected objects or all objects.If there are selected "
|
||||||
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
"objects, it just orientates the selected ones.Otherwise, it will orientates "
|
||||||
|
@ -3896,12 +3963,33 @@ msgstr ""
|
||||||
"自动调整选定零件/所有零件的方向,\n"
|
"自动调整选定零件/所有零件的方向,\n"
|
||||||
"有选定零件时调整选定零件的朝向,没有选择零件时调整当前盘所有零件的朝向"
|
"有选定零件时调整选定零件的朝向,没有选择零件时调整当前盘所有零件的朝向"
|
||||||
|
|
||||||
|
msgid "Collapse/Expand the sidebar"
|
||||||
|
msgstr "收起/展开 侧边栏"
|
||||||
|
|
||||||
|
msgid "⌘+Any arrow"
|
||||||
|
msgstr "⌘+方向键"
|
||||||
|
|
||||||
|
msgid "Movement in camera space"
|
||||||
|
msgstr "沿相机视角移动对象"
|
||||||
|
|
||||||
|
msgid "⌥+Left mouse button"
|
||||||
|
msgstr "⌥+鼠标左键"
|
||||||
|
|
||||||
|
msgid "Select a part"
|
||||||
|
msgstr "选择单个零件"
|
||||||
|
|
||||||
msgid "⌘+Left mouse button"
|
msgid "⌘+Left mouse button"
|
||||||
msgstr "⌘+鼠标左键"
|
msgstr "⌘+鼠标左键"
|
||||||
|
|
||||||
msgid "Select multiple objects"
|
msgid "Select multiple objects"
|
||||||
msgstr "选择多个对象"
|
msgstr "选择多个对象"
|
||||||
|
|
||||||
|
msgid "Ctrl+Any arrow"
|
||||||
|
msgstr "Ctrl+方向键"
|
||||||
|
|
||||||
|
msgid "Alt+Left mouse button"
|
||||||
|
msgstr "Alt+鼠标左键"
|
||||||
|
|
||||||
msgid "Ctrl+Left mouse button"
|
msgid "Ctrl+Left mouse button"
|
||||||
msgstr "Ctrl+鼠标左键"
|
msgstr "Ctrl+鼠标左键"
|
||||||
|
|
||||||
|
@ -3941,17 +4029,53 @@ msgstr "Shift+方向键"
|
||||||
msgid "Movement step set to 1 mm"
|
msgid "Movement step set to 1 mm"
|
||||||
msgstr "沿X、Y轴以1mm为步进移动对象"
|
msgstr "沿X、Y轴以1mm为步进移动对象"
|
||||||
|
|
||||||
msgid "⌘+Any arrow"
|
msgid "keyboard 1-9: set filament for object/part"
|
||||||
msgstr "⌘+方向键"
|
msgstr "按键1-9:设置对象/零件的耗材丝"
|
||||||
|
|
||||||
msgid "Movement in camera space"
|
msgid "Camera view - Default"
|
||||||
msgstr "沿相机视角移动对象"
|
msgstr "摄像机视角 - 默认"
|
||||||
|
|
||||||
msgid "Ctrl+Any arrow"
|
msgid "Camera view - Top"
|
||||||
msgstr "Ctrl+方向键"
|
msgstr "摄像机视角 - 顶部"
|
||||||
|
|
||||||
msgid "Collapse/Expand the sidebar"
|
msgid "Camera view - Bottom"
|
||||||
msgstr "收起/展开 侧边栏"
|
msgstr "摄像机视角 - 底部"
|
||||||
|
|
||||||
|
msgid "Camera view - Front"
|
||||||
|
msgstr "摄像机视角 - 前面"
|
||||||
|
|
||||||
|
msgid "Camera view - Behind"
|
||||||
|
msgstr "摄像机视角 - 后面"
|
||||||
|
|
||||||
|
msgid "Camera Angle - Left side"
|
||||||
|
msgstr "摄像机视角 - 左面"
|
||||||
|
|
||||||
|
msgid "Camera Angle - Right side"
|
||||||
|
msgstr "摄像机视角 - 右面"
|
||||||
|
|
||||||
|
msgid "Select all objects"
|
||||||
|
msgstr "选择所有对象"
|
||||||
|
|
||||||
|
msgid "Gizmo move"
|
||||||
|
msgstr "移动工具"
|
||||||
|
|
||||||
|
msgid "Gizmo scale"
|
||||||
|
msgstr "缩放工具"
|
||||||
|
|
||||||
|
msgid "Gizmo rotate"
|
||||||
|
msgstr "旋转工具"
|
||||||
|
|
||||||
|
msgid "Gizmo cut"
|
||||||
|
msgstr "剪切工具"
|
||||||
|
|
||||||
|
msgid "Gizmo Place face on bed"
|
||||||
|
msgstr "选择底面"
|
||||||
|
|
||||||
|
msgid "Gizmo SLA support points"
|
||||||
|
msgstr "SLA支撑点"
|
||||||
|
|
||||||
|
msgid "Gizmo FDM paint-on seam"
|
||||||
|
msgstr "FDM绘制接缝"
|
||||||
|
|
||||||
msgid "Plater"
|
msgid "Plater"
|
||||||
msgstr "准备"
|
msgstr "准备"
|
||||||
|
@ -4372,6 +4496,14 @@ msgstr "可打印区域"
|
||||||
msgid "Bed exclude area"
|
msgid "Bed exclude area"
|
||||||
msgstr "不可打印区域"
|
msgstr "不可打印区域"
|
||||||
|
|
||||||
|
msgid ""
|
||||||
|
"Unprintable area in XY plane. For example, X1 Series printers use the front "
|
||||||
|
"left corner to cut filament during filament change. The area is expressed as "
|
||||||
|
"polygon by points in following format: \"XxY, XxY, ...\""
|
||||||
|
msgstr ""
|
||||||
|
"XY平面上的不可打印区域。例如,X1系列打印机在换料过程中,会使用左前角区域来切"
|
||||||
|
"断耗材丝。这个多边形区域由以下格式的点表示:“XxY,XxY,…”"
|
||||||
|
|
||||||
msgid "Elephant foot compensation"
|
msgid "Elephant foot compensation"
|
||||||
msgstr "象脚补偿"
|
msgstr "象脚补偿"
|
||||||
|
|
||||||
|
@ -5505,8 +5637,8 @@ msgstr "内部实心填充的线宽"
|
||||||
msgid "Speed of internal solid infill, not the top and bottom surface"
|
msgid "Speed of internal solid infill, not the top and bottom surface"
|
||||||
msgstr "内部实心填充的速度,不是顶面和底面。"
|
msgstr "内部实心填充的速度,不是顶面和底面。"
|
||||||
|
|
||||||
msgid "Spiral mode"
|
msgid "Spiral vase"
|
||||||
msgstr "旋转模式"
|
msgstr "旋转花瓶"
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Spiralize smooths out the z moves of the outer contour. And turns a solid "
|
"Spiralize smooths out the z moves of the outer contour. And turns a solid "
|
||||||
|
@ -5516,9 +5648,6 @@ msgstr ""
|
||||||
"沿着对象的外轮廓螺旋上升,将实体模型转变为只有底面实心层和侧面单层墙壁的打"
|
"沿着对象的外轮廓螺旋上升,将实体模型转变为只有底面实心层和侧面单层墙壁的打"
|
||||||
"印。最后生成的打印件没有接缝。"
|
"印。最后生成的打印件没有接缝。"
|
||||||
|
|
||||||
msgid "Timelapse without toolhead"
|
|
||||||
msgstr "无工具头延时摄影"
|
|
||||||
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Record timelapse video of printing without showing toolhead. In this mode "
|
"Record timelapse video of printing without showing toolhead. In this mode "
|
||||||
"the toolhead docks near the excess chute at each layer change, and then a "
|
"the toolhead docks near the excess chute at each layer change, and then a "
|
||||||
|
@ -6057,6 +6186,60 @@ msgstr "支撑:正在修补层%d的空洞"
|
||||||
msgid "Support: propagate branches at layer %d"
|
msgid "Support: propagate branches at layer %d"
|
||||||
msgstr "支撑:正在生长层%d的树枝"
|
msgstr "支撑:正在生长层%d的树枝"
|
||||||
|
|
||||||
|
#~ msgid "Clipping of view"
|
||||||
|
#~ msgstr "剪切视图"
|
||||||
|
|
||||||
|
#~ msgid "the 3mf is not compatible, load geometry data only!"
|
||||||
|
#~ msgstr "该3mf文件不兼容,仅加载几何数据!"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Auto orientates selected objects or all objects.If there are selected "
|
||||||
|
#~ "objects, it just orientates the selected ones.Otherwise, it will "
|
||||||
|
#~ "orientates all objects in the project."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "自动调整选定零件/所有零件的方向,\n"
|
||||||
|
#~ "有选定零件时调整选定零件的朝向,没有选择零件时调整所有零件的朝向"
|
||||||
|
|
||||||
|
#~ msgid "The Config is not compatible and can not be loaded."
|
||||||
|
#~ msgstr "该配置不兼容,无法被加载。"
|
||||||
|
|
||||||
|
#~ msgid "default value"
|
||||||
|
#~ msgstr "默认值"
|
||||||
|
|
||||||
|
#~ msgid "Auto arrange"
|
||||||
|
#~ msgstr "自动摆盘"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "The filament index exceeds the AMS's slot count and cannot send the print "
|
||||||
|
#~ "job."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "打印机固件仅支持材料=>AMS槽位的顺序映射。材料编号超过AMS的槽位数量,无法发"
|
||||||
|
#~ "送打印任务。"
|
||||||
|
|
||||||
|
#~ msgid "Timelapse without toolhead"
|
||||||
|
#~ msgstr "无工具头延时摄影"
|
||||||
|
|
||||||
|
#~ msgid "Downloading Bambu Network plug-in"
|
||||||
|
#~ msgstr "正在下载Bambu网络插件"
|
||||||
|
|
||||||
|
#~ msgid "Filaments Selection"
|
||||||
|
#~ msgstr "材料选择"
|
||||||
|
|
||||||
|
#~ msgid "Printer Selection"
|
||||||
|
#~ msgstr "打印机选择"
|
||||||
|
|
||||||
|
#~ msgid "Spiral mode"
|
||||||
|
#~ msgstr "旋转模式"
|
||||||
|
|
||||||
|
#~ msgid "Fragment area"
|
||||||
|
#~ msgstr "碎片面积阈值"
|
||||||
|
|
||||||
|
#~ msgid "Clear all"
|
||||||
|
#~ msgstr "清除所有"
|
||||||
|
|
||||||
|
#~ msgid "Connect %s[SN:%s] failed!"
|
||||||
|
#~ msgstr "连接 %s[SN:%s]失败."
|
||||||
|
|
||||||
#~ msgid "Printer firmware does not support material = >ams slot mapping."
|
#~ msgid "Printer firmware does not support material = >ams slot mapping."
|
||||||
#~ msgstr "打印机固件不支持材料=>AMS槽位映射"
|
#~ msgstr "打印机固件不支持材料=>AMS槽位映射"
|
||||||
|
|
||||||
|
@ -6308,9 +6491,6 @@ msgstr "支撑:正在生长层%d的树枝"
|
||||||
#~ msgid "Vibration Calibration"
|
#~ msgid "Vibration Calibration"
|
||||||
#~ msgstr "振动校准"
|
#~ msgstr "振动校准"
|
||||||
|
|
||||||
#~ msgid "First Layer Inspection"
|
|
||||||
#~ msgstr "首层扫描"
|
|
||||||
|
|
||||||
#~ msgid "Please select a printer first."
|
#~ msgid "Please select a printer first."
|
||||||
#~ msgstr "请先选择一台打印机。"
|
#~ msgstr "请先选择一台打印机。"
|
||||||
|
|
||||||
|
@ -7532,12 +7712,6 @@ msgstr "支撑:正在生长层%d的树枝"
|
||||||
#~ "Reset to 0.2"
|
#~ "Reset to 0.2"
|
||||||
#~ msgstr "树状支撑碰撞分辨率不可为0。将重置为0.2"
|
#~ msgstr "树状支撑碰撞分辨率不可为0。将重置为0.2"
|
||||||
|
|
||||||
#~ msgid "default value"
|
|
||||||
#~ msgstr "默认值"
|
|
||||||
|
|
||||||
#~ msgid "parameter name"
|
|
||||||
#~ msgstr "参数名称"
|
|
||||||
|
|
||||||
#~ msgid "Add..."
|
#~ msgid "Add..."
|
||||||
#~ msgstr "添加..."
|
#~ msgstr "添加..."
|
||||||
|
|
||||||
|
@ -7899,33 +8073,9 @@ msgstr "支撑:正在生长层%d的树枝"
|
||||||
#~ msgid "Split triangles"
|
#~ msgid "Split triangles"
|
||||||
#~ msgstr "分割三角形"
|
#~ msgstr "分割三角形"
|
||||||
|
|
||||||
#~ msgid "Clipping of view"
|
|
||||||
#~ msgstr "剪切视图"
|
|
||||||
|
|
||||||
#~ msgid "Reset direction"
|
|
||||||
#~ msgstr "重置方向"
|
|
||||||
|
|
||||||
#~ msgid "Brush size"
|
|
||||||
#~ msgstr "画刷尺寸"
|
|
||||||
|
|
||||||
#~ msgid "Brush shape"
|
|
||||||
#~ msgstr "画刷形状"
|
|
||||||
|
|
||||||
#~ msgid "Enforce seam"
|
|
||||||
#~ msgstr "添加Z缝"
|
|
||||||
|
|
||||||
#~ msgid "Block seam"
|
|
||||||
#~ msgstr "屏蔽Z缝"
|
|
||||||
|
|
||||||
#~ msgid "Remove selection"
|
|
||||||
#~ msgstr "移除绘制"
|
|
||||||
|
|
||||||
#~ msgid "Remove all selection"
|
#~ msgid "Remove all selection"
|
||||||
#~ msgstr "移除所有绘制"
|
#~ msgstr "移除所有绘制"
|
||||||
|
|
||||||
#~ msgid "Seam painting"
|
|
||||||
#~ msgstr "Z缝绘制"
|
|
||||||
|
|
||||||
#~ msgid "Paints all facets inside, regardless of their orientation."
|
#~ msgid "Paints all facets inside, regardless of their orientation."
|
||||||
#~ msgstr "绘制所有处于球体内部的面片,无论它们的方向是怎样的。"
|
#~ msgstr "绘制所有处于球体内部的面片,无论它们的方向是怎样的。"
|
||||||
|
|
||||||
|
@ -8197,24 +8347,6 @@ msgstr "支撑:正在生长层%d的树枝"
|
||||||
#~ msgid "Remove Instance of the selected object"
|
#~ msgid "Remove Instance of the selected object"
|
||||||
#~ msgstr "删除所选对象的实例"
|
#~ msgstr "删除所选对象的实例"
|
||||||
|
|
||||||
#~ msgid "Gizmo move"
|
|
||||||
#~ msgstr "线框移动"
|
|
||||||
|
|
||||||
#~ msgid "Gizmo scale"
|
|
||||||
#~ msgstr "线框缩放"
|
|
||||||
|
|
||||||
#~ msgid "Gizmo rotate"
|
|
||||||
#~ msgstr "旋转物件"
|
|
||||||
|
|
||||||
#~ msgid "Gizmo cut"
|
|
||||||
#~ msgstr "剪切物件"
|
|
||||||
|
|
||||||
#~ msgid "Gizmo Place face on bed"
|
|
||||||
#~ msgstr "选择底面"
|
|
||||||
|
|
||||||
#~ msgid "Gizmo SLA support points"
|
|
||||||
#~ msgstr "SLA支撑点"
|
|
||||||
|
|
||||||
#~ msgid "Show &Configuration Folder"
|
#~ msgid "Show &Configuration Folder"
|
||||||
#~ msgstr "打开配置文件夹"
|
#~ msgstr "打开配置文件夹"
|
||||||
|
|
||||||
|
@ -9090,9 +9222,6 @@ msgstr "支撑:正在生长层%d的树枝"
|
||||||
#~ msgid "Entering Seam painting!"
|
#~ msgid "Entering Seam painting!"
|
||||||
#~ msgstr "开始Z缝绘制!"
|
#~ msgstr "开始Z缝绘制!"
|
||||||
|
|
||||||
#~ msgid "Leaving Seam painting"
|
|
||||||
#~ msgstr "推出Z缝绘制"
|
|
||||||
|
|
||||||
#~ msgid "Leaving Paint-on supports"
|
#~ msgid "Leaving Paint-on supports"
|
||||||
#~ msgstr "推出支撑绘制"
|
#~ msgstr "推出支撑绘制"
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,94 @@
|
||||||
<string>????</string>
|
<string>????</string>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||||
|
<key>CFBundleDocumentTypes</key>
|
||||||
|
<array>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeExtensions</key>
|
||||||
|
<array>
|
||||||
|
<string>stl</string>
|
||||||
|
<string>STL</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeIconFile</key>
|
||||||
|
<string>stl.icns</string>
|
||||||
|
<key>CFBundleTypeName</key>
|
||||||
|
<string>STL</string>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
<key>LISsAppleDefaultForType</key>
|
||||||
|
<true/>
|
||||||
|
<key>LSHandlerRank</key>
|
||||||
|
<string>Alternate</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeExtensions</key>
|
||||||
|
<array>
|
||||||
|
<string>obj</string>
|
||||||
|
<string>OBJ</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeIconFile</key>
|
||||||
|
<string>BambuStudio.icns</string>
|
||||||
|
<key>CFBundleTypeName</key>
|
||||||
|
<string>STL</string>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
<key>LISsAppleDefaultForType</key>
|
||||||
|
<true/>
|
||||||
|
<key>LSHandlerRank</key>
|
||||||
|
<string>Alternate</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeExtensions</key>
|
||||||
|
<array>
|
||||||
|
<string>amf</string>
|
||||||
|
<string>AMF</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeIconFile</key>
|
||||||
|
<string>BambuStudio.icns</string>
|
||||||
|
<key>CFBundleTypeName</key>
|
||||||
|
<string>AMF</string>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
<key>LISsAppleDefaultForType</key>
|
||||||
|
<true/>
|
||||||
|
<key>LSHandlerRank</key>
|
||||||
|
<string>Alternate</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeExtensions</key>
|
||||||
|
<array>
|
||||||
|
<string>3mf</string>
|
||||||
|
<string>3MF</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeIconFile</key>
|
||||||
|
<string>BambuStudio.icns</string>
|
||||||
|
<key>CFBundleTypeName</key>
|
||||||
|
<string>3MF</string>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
<key>LISsAppleDefaultForType</key>
|
||||||
|
<true/>
|
||||||
|
<key>LSHandlerRank</key>
|
||||||
|
<string>Alternate</string>
|
||||||
|
</dict>
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleTypeExtensions</key>
|
||||||
|
<array>
|
||||||
|
<string>gcode</string>
|
||||||
|
<string>GCODE</string>
|
||||||
|
</array>
|
||||||
|
<key>CFBundleTypeIconFile</key>
|
||||||
|
<string>gcode.icns</string>
|
||||||
|
<key>CFBundleTypeName</key>
|
||||||
|
<string>GCODE</string>
|
||||||
|
<key>CFBundleTypeRole</key>
|
||||||
|
<string>Viewer</string>
|
||||||
|
<key>LISsAppleDefaultForType</key>
|
||||||
|
<true/>
|
||||||
|
<key>LSHandlerRank</key>
|
||||||
|
<string>Alternate</string>
|
||||||
|
</dict>
|
||||||
|
</array>
|
||||||
<key>CSResourcesFileMapped</key>
|
<key>CSResourcesFileMapped</key>
|
||||||
<true/>
|
<true/>
|
||||||
<key>NSRequiresAquaSystemAppearance</key>
|
<key>NSRequiresAquaSystemAppearance</key>
|
||||||
|
|
|
@ -33,6 +33,11 @@
|
||||||
"type": "po",
|
"type": "po",
|
||||||
"pattern": "bbl/i18n/nl/BambuStudio_nl.po",
|
"pattern": "bbl/i18n/nl/BambuStudio_nl.po",
|
||||||
"lang": "nl"
|
"lang": "nl"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "po",
|
||||||
|
"pattern": "bbl/i18n/hu/BambuStudio_hu.po",
|
||||||
|
"lang": "hu"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
BIN
resources/i18n/hu/BambuStudio.mo
Normal file
BIN
resources/images/BambuStudio-mac_256px.ico
Normal file
After Width: | Height: | Size: 3 KiB |
2
resources/images/ams_readonly.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1659672294109" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1371" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
|
||||||
|
</style></defs><path d="M512 255.78c-194.98 0-360.39 106.95-421.96 256 61.57 149.05 226.98 256 421.96 256s360.39-106.95 421.96-256c-61.57-149.05-226.98-256-421.96-256z m0 448c-106.04 0-192-85.96-192-192s85.96-192 192-192 192 85.96 192 192-85.96 192-192 192z" fill="#323a3d" p-id="1372"></path><path d="M512 511.78m-128 0a128 128 0 1 0 256 0 128 128 0 1 0-256 0Z" fill="#323a3d" p-id="1373"></path></svg>
|
After Width: | Height: | Size: 1 KiB |
2
resources/images/ams_readonly_light.svg
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1659672294109" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1371" width="16" height="16" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css">@font-face { font-family: feedback-iconfont; src: url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff2?t=1630033759944") format("woff2"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.woff?t=1630033759944") format("woff"), url("//at.alicdn.com/t/font_1031158_u69w8yhxdu.ttf?t=1630033759944") format("truetype"); }
|
||||||
|
</style></defs><path d="M512 255.78c-194.98 0-360.39 106.95-421.96 256 61.57 149.05 226.98 256 421.96 256s360.39-106.95 421.96-256c-61.57-149.05-226.98-256-421.96-256z m0 448c-106.04 0-192-85.96-192-192s85.96-192 192-192 192 85.96 192 192-85.96 192-192 192z" fill="#ffffff" p-id="1372"></path><path d="M512 511.78m-128 0a128 128 0 1 0 256 0 128 128 0 1 0-256 0Z" fill="#ffffff" p-id="1373"></path></svg>
|
After Width: | Height: | Size: 1 KiB |
|
@ -1,12 +1,14 @@
|
||||||
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg" fill="none">
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
<g>
|
<defs>
|
||||||
<title>background</title>
|
<clipPath id="clip0_0_3">
|
||||||
<rect x="-1" y="-1" width="28" height="28" id="canvas_background" fill="none"/>
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
</g>
|
</clipPath>
|
||||||
|
</defs>
|
||||||
<g>
|
<g>
|
||||||
<title>Layer 1</title>
|
<title>Layer 1</title>
|
||||||
<path d="m23.64505,13.00145c0.1433,0 0.2599,-0.1162 0.2565,-0.2596c-0.0492,-2.06562 -0.6845,-4.07681 -1.8345,-5.79779c-1.198,-1.79301 -2.9008,-3.19049 -4.8931,-4.01572c-1.9923,-0.82523 -4.1846,-1.04115 -6.29955,-0.62045c-2.11499,0.4207 -4.05774,1.45912 -5.58257,2.98395c-1.52483,1.52482 -2.56325,3.46757 -2.98394,5.58257c-0.4207,2.11504 -0.20479,4.30724 0.62044,6.29954c0.82524,1.9923 2.22271,3.6951 4.01572,4.8932c1.72099,1.1499 3.73217,1.7852 5.7978,1.8344c0.1434,0.0034 0.2596,-0.1132 0.2596,-0.2565l0,-1.1656c0,-0.1433 -0.1162,-0.2592 -0.2596,-0.2632c-1.73236,-0.0488 -3.4179,-0.5851 -4.86183,-1.5499c-1.51595,-1.013 -2.6975,-2.4527 -3.39522,-4.1371c-0.69772,-1.6845 -0.88027,-3.538 -0.52458,-5.32617c0.35569,-1.7882 1.23366,-3.43076 2.52288,-4.71998c1.28922,-1.28921 2.93178,-2.16718 4.71995,-2.52287c1.7882,-0.3557 3.6417,-0.17314 5.3262,0.52458c1.6844,0.69772 3.1241,1.87926 4.1371,3.39522c0.9648,1.44393 1.5011,3.12947 1.5499,4.86192c0.004,0.1433 0.1199,0.2595 0.2632,0.2595l1.1656,0z" fill="#ACACAC" id="svg_2"/>
|
<g id="svg_2" clip-path="url(#clip0_0_3)">
|
||||||
<path d="m22.98357,17.51953c-0.1039,0.127 -0.2981,0.127 -0.4019,0l-3.5682,-4.3626c-0.1387,-0.1695 -0.0181,-0.4239 0.2009,-0.4239l7.1364,0c0.219,0 0.3396,0.2544 0.201,0.4239l-3.5682,4.3626z" fill="#ACACAC" id="svg_3"/>
|
<path id="svg_3" stroke="black" d="m31.1538,-1.15385l-32.30765,0l0,32.30765l32.30765,0l0,-32.30765z"/>
|
||||||
|
<path id="svg_4" fill="#ACACAC" d="m22.2754,10.1387c0.9615,1.439 1.4747,3.1307 1.4747,4.8613l-2.49,0c-0.219,0 -0.3396,0.2544 -0.201,0.4239l3.5682,4.3626c0.1039,0.127 0.2981,0.127 0.4019,0l3.5682,-4.3626c0.1387,-0.1695 0.0181,-0.4239 -0.2009,-0.4239l-2.3965,0c0,-0.5037 -0.0346,-1.0048 -0.1027,-1.5c-0.2263,-1.6434 -0.8223,-3.2212 -1.7511,-4.61127c-1.2087,-1.80894 -2.9267,-3.21884 -4.9367,-4.0514c-2.01,-0.83257 -4.2217,-1.05041 -6.3555,-0.62597c-2.1338,0.42444 -4.0938,1.47209 -5.63217,3.01047c-1.53838,1.53837 -2.58603,3.49837 -3.01047,5.63217c-0.42444,2.1338 -0.2066,4.3455 0.62597,6.3555c0.83256,2.01 2.24246,3.728 4.0514,4.9367c1.39007,0.9288 2.96787,1.5248 4.61127,1.7511c0.4952,0.0681 0.9963,0.1027 1.5,0.1027l0,-0.7499l0,-0.7501l0,-0.7499c-1.7306,0 -3.4223,-0.5132 -4.8613,-1.4747c-1.43892,-0.9615 -2.56043,-2.328 -3.22271,-3.9269c-0.66227,-1.5989 -0.83555,-3.3582 -0.49792,-5.0556c0.33762,-1.6973 1.17098,-3.2564 2.3947,-4.48013c1.22373,-1.22372 2.78283,-2.05708 4.48013,-2.3947c1.6974,-0.33763 3.4567,-0.16435 5.0556,0.49792c1.5989,0.66228 2.9654,1.78379 3.9269,3.22271z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.5 KiB |
|
@ -1,12 +1,14 @@
|
||||||
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="null">
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
<g stroke="null">
|
<defs>
|
||||||
<title stroke="null">background</title>
|
<clipPath id="clip0_7112_29362">
|
||||||
<rect x="-1" y="-1" width="28" height="28" id="canvas_background" fill="none" stroke="null"/>
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29362)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m22.2754,10.1387c0.9615,1.439 1.4747,3.1307 1.4747,4.8613l-2.49,0c-0.219,0 -0.3396,0.2544 -0.201,0.4239l3.5682,4.3626c0.1039,0.127 0.2981,0.127 0.4019,0l3.5682,-4.3626c0.1387,-0.1695 0.0181,-0.4239 -0.2009,-0.4239l-2.3965,0c0,-0.5037 -0.0346,-1.0048 -0.1027,-1.5c-0.2263,-1.6434 -0.8223,-3.2212 -1.7511,-4.61127c-1.2087,-1.80894 -2.9267,-3.21884 -4.9367,-4.0514c-2.01,-0.83256 -4.2217,-1.0504 -6.3555,-0.62596c-2.1338,0.42443 -4.09379,1.47208 -5.63217,3.01046c-1.53838,1.53838 -2.58603,3.49837 -3.01046,5.63217c-0.42444,2.1338 -0.2066,4.3455 0.62596,6.3555c0.83256,2.01 2.24246,3.728 4.0514,4.9367c1.39007,0.9288 2.96787,1.5248 4.61127,1.7511c0.4952,0.0681 0.9963,0.1027 1.5,0.1027l0,-0.7499l0,-0.7501l0,-0.7499c-1.7306,0 -3.4223,-0.5132 -4.8613,-1.4747c-1.43891,-0.9615 -2.56043,-2.328 -3.2227,-3.9269c-0.66227,-1.5989 -0.83555,-3.3582 -0.49793,-5.0555c0.33762,-1.6974 1.17099,-3.2565 2.3947,-4.48023c1.22373,-1.22371 2.78283,-2.05708 4.48023,-2.3947c1.6973,-0.33762 3.4566,-0.16434 5.0555,0.49793c1.5989,0.66227 2.9654,1.78379 3.9269,3.2227z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
</g>
|
</g>
|
||||||
|
|
||||||
<g stroke="null">
|
|
||||||
<title stroke="null">Layer 1</title>
|
|
||||||
<path d="m23.64502,13.00145c0.1434,0 0.2599,-0.1162 0.2565,-0.2596c-0.0492,-2.06562 -0.6845,-4.07681 -1.8344,-5.79779c-1.198,-1.79301 -2.9009,-3.19049 -4.8932,-4.01572c-1.9922,-0.82523 -4.1845,-1.04115 -6.29948,-0.62045c-2.115,0.4207 -4.05775,1.45912 -5.58257,2.98395c-1.52483,1.52482 -2.56325,3.46757 -2.98395,5.58257c-0.4207,2.11504 -0.20478,4.30724 0.62045,6.29954c0.82523,1.9923 2.22271,3.6951 4.01572,4.8932c1.72098,1.1499 3.73217,1.7852 5.79783,1.8344c0.1433,0.0034 0.2596,-0.1132 0.2596,-0.2565l0,-1.1656c0,-0.1433 -0.1163,-0.2592 -0.2596,-0.2632c-1.73239,-0.0488 -3.41794,-0.5851 -4.86186,-1.5499c-1.51596,-1.013 -2.69751,-2.4527 -3.39522,-4.1371c-0.69772,-1.6845 -0.88028,-3.538 -0.52458,-5.32617c0.35569,-1.7882 1.23366,-3.43076 2.52287,-4.71998c1.28922,-1.28921 2.93178,-2.16718 4.71998,-2.52287c1.78821,-0.3557 3.64171,-0.17314 5.32611,0.52458c1.6845,0.69772 3.1242,1.87926 4.1371,3.39522c0.9648,1.44393 1.5012,3.12947 1.55,4.86192c0.004,0.1433 0.1198,0.2595 0.2632,0.2595l1.1655,0z" fill="#6B6B6B" id="svg_2" stroke="null"/>
|
|
||||||
<path d="m23.05062,17.59925c-0.1038,0.127 -0.298,0.127 -0.4019,0l-3.5682,-4.3626c-0.1386,-0.1695 -0.018,-0.4239 0.201,-0.4239l7.1364,0c0.219,0 0.3396,0.2544 0.2009,0.4239l-3.5682,4.3626z" fill="#6B6B6B" id="svg_3" stroke="null"/>
|
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_0.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29362">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29362)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m22.2754,10.1387c0.9615,1.439 1.4747,3.1307 1.4747,4.8613l-2.49,0c-0.219,0 -0.3396,0.2544 -0.201,0.4239l3.5682,4.3626c0.1039,0.127 0.2981,0.127 0.4019,0l3.5682,-4.3626c0.1387,-0.1695 0.0181,-0.4239 -0.2009,-0.4239l-2.3965,0c0,-0.5037 -0.0346,-1.0048 -0.1027,-1.5c-0.2263,-1.6434 -0.8223,-3.2212 -1.7511,-4.61127c-1.2087,-1.80894 -2.9267,-3.21884 -4.9367,-4.0514c-2.01,-0.83256 -4.2217,-1.0504 -6.3555,-0.62596c-2.1338,0.42443 -4.09379,1.47208 -5.63217,3.01046c-1.53838,1.53838 -2.58603,3.49837 -3.01046,5.63217c-0.42444,2.1338 -0.2066,4.3455 0.62596,6.3555c0.83256,2.01 2.24246,3.728 4.0514,4.9367c1.39007,0.9288 2.96787,1.5248 4.61127,1.7511c0.4952,0.0681 0.9963,0.1027 1.5,0.1027l0,-0.7499l0,-0.7501l0,-0.7499c-1.7306,0 -3.4223,-0.5132 -4.8613,-1.4747c-1.43891,-0.9615 -2.56043,-2.328 -3.2227,-3.9269c-0.66227,-1.5989 -0.83555,-3.3582 -0.49793,-5.0555c0.33762,-1.6974 1.17099,-3.2565 2.3947,-4.48023c1.22373,-1.22371 2.78283,-2.05708 4.48023,-2.3947c1.6973,-0.33762 3.4566,-0.16434 5.0555,0.49793c1.5989,0.66227 2.9654,1.78379 3.9269,3.2227z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_1.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29437">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29437)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m22.7973,22.759l1.6843,1.6843c0.1549,0.1549 0.0602,0.42 -0.1577,0.4418l-5.6079,0.5617c-0.1632,0.0164 -0.3005,-0.1209 -0.2842,-0.2841l0.5617,-5.608c0.0219,-0.2178 0.287,-0.3124 0.4419,-0.1576l1.7709,1.771c1.2133,-1.2209 2.0398,-2.7726 2.3756,-4.461c0.3377,-1.6974 0.1644,-3.4567 -0.4979,-5.0556c-0.6623,-1.5989 -1.7838,-2.96544 -3.2227,-3.92691c-1.439,-0.96147 -3.1307,-1.47465 -4.8613,-1.47465c-1.7306,0 -3.4223,0.51318 -4.8613,1.47465c-1.43891,0.96147 -2.56043,2.32801 -3.2227,3.92691c-0.66227,1.5989 -0.83555,3.3582 -0.49793,5.0556c0.33762,1.6973 1.17099,3.2564 2.3947,4.4801l-0.53028,0.5303l-0.53038,0.5304l-0.53028,0.5303c-0.35619,-0.3562 -0.68608,-0.735 -0.98801,-1.1333c-1.0021,-1.3221 -1.69629,-2.8592 -2.02245,-4.4989c-0.42444,-2.1338 -0.2066,-4.3455 0.62596,-6.3555c0.83256,-2.01001 2.24246,-3.72797 4.0514,-4.93667c1.80897,-1.20869 3.93567,-1.85383 6.11127,-1.85383c2.1756,0 4.3023,0.64514 6.1113,1.85383c1.8089,1.2087 3.2188,2.92666 4.0514,4.93667c0.8325,2.01 1.0504,4.2217 0.6259,6.3555c-0.3261,1.6397 -1.0203,3.1768 -2.0224,4.4989c-0.2965,0.3912 -0.62,0.7635 -0.9689,1.1141z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_2.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29465">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29465)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m19.8613,22.2754c-1.439,0.9615 -3.1307,1.4747 -4.8613,1.4747l0,-2.3962c0,-0.219 -0.2544,-0.3396 -0.4239,-0.201l-4.3626,3.5682c-0.127,0.1039 -0.127,0.2981 0,0.4019l4.3626,3.5682c0.1695,0.1387 0.4239,0.0181 0.4239,-0.2009l0,-2.4903c0.5037,0 1.0048,-0.0346 1.5,-0.1027c1.6434,-0.2263 3.2212,-0.8223 4.6113,-1.7511c1.8089,-1.2087 3.2188,-2.9267 4.0514,-4.9367c0.8325,-2.01 1.0504,-4.2217 0.6259,-6.3555c-0.4244,-2.1338 -1.472,-4.09379 -3.0104,-5.63217c-1.5384,-1.53838 -3.4984,-2.58603 -5.6322,-3.01046c-2.1338,-0.42444 -4.3455,-0.2066 -6.3555,0.62596c-2.01001,0.83256 -3.72797,2.24246 -4.93667,4.0514c-0.92883,1.39007 -1.52487,2.96787 -1.75109,4.61127c-0.06815,0.4952 -0.10274,0.9963 -0.10274,1.5l0.74993,0l0.75007,0l0.74993,0c0,-1.7306 0.51319,-3.4223 1.47466,-4.8613c0.96147,-1.43891 2.32801,-2.56043 3.92691,-3.2227c1.5989,-0.66227 3.3582,-0.83555 5.0556,-0.49793c1.6973,0.33762 3.2564,1.17099 4.4801,2.39471c1.2237,1.22372 2.0571,2.78282 2.3947,4.48022c0.3377,1.6973 0.1644,3.4566 -0.4979,5.0555c-0.6623,1.5989 -1.7838,2.9654 -3.2227,3.9269z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_3.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29471">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29471)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m7.26862,22.8248l-1.70224,1.7022c-0.15485,0.1549 -0.42002,0.0603 -0.4418,-0.1577l-0.56172,-5.6079c-0.01641,-0.1632 0.12091,-0.3005 0.28418,-0.2842l5.60796,0.5617c0.2178,0.0219 0.3124,0.2871 0.1576,0.4419l-1.753,1.753c1.2165,1.1983 2.7575,2.0148 4.4333,2.3481c1.6973,0.3377 3.4567,0.1644 5.0555,-0.4979c1.5989,-0.6623 2.9655,-1.7838 3.9269,-3.2227c0.9615,-1.439 1.4747,-3.1307 1.4747,-4.8613c0,-1.7306 -0.5132,-3.4223 -1.4747,-4.8613c-0.9614,-1.43891 -2.328,-2.56043 -3.9269,-3.2227c-1.5988,-0.66227 -3.3582,-0.83555 -5.0555,-0.49793c-1.6974,0.33762 -3.2565,1.17099 -4.4802,2.3947l-0.53029,-0.53028l-0.53037,-0.53038l-0.53029,-0.53028c0.35619,-0.35619 0.73499,-0.68608 1.13331,-0.98801c1.32202,-1.0021 2.85914,-1.69629 4.49884,-2.02245c2.1338,-0.42444 4.3456,-0.2066 6.3555,0.62596c2.01,0.83256 3.728,2.24246 4.9367,4.0514c1.2087,1.80897 1.8538,3.93567 1.8538,6.11127c0,2.1756 -0.6451,4.3023 -1.8538,6.1113c-1.2087,1.8089 -2.9267,3.2188 -4.9367,4.0514c-2.0099,0.8325 -4.2217,1.0504 -6.3555,0.6259c-1.6397,-0.3261 -3.17682,-1.0203 -4.49884,-2.0224c-0.3809,-0.2887 -0.74394,-0.603 -1.08644,-0.9414z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_4.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29432">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29432)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m7.72445,19.8613c-0.96147,-1.439 -1.47465,-3.1307 -1.47465,-4.8613l2.55489,0c0.219,0 0.3396,-0.2544 0.201,-0.4239l-3.5682,-4.3626c-0.1039,-0.127 -0.2981,-0.127 -0.4019,0l-3.5682,4.3626c-0.1387,0.1695 -0.0181,0.4239 0.2009,0.4239l2.33157,0c0,0.5037 0.03459,1.0048 0.10275,1.5c0.22621,1.6434 0.82225,3.2212 1.75109,4.6113c1.20869,1.8089 2.92666,3.2188 4.9366,4.0514c2.01,0.8325 4.2218,1.0504 6.3556,0.6259c2.1337,-0.4244 4.0938,-1.472 5.6321,-3.0104c1.5384,-1.5384 2.5861,-3.4984 3.0105,-5.6322c0.4244,-2.1338 0.2066,-4.3455 -0.626,-6.3555c-0.8325,-2.01001 -2.2424,-3.72797 -4.0514,-4.93667c-1.3901,-0.92883 -2.9678,-1.52487 -4.6112,-1.75109c-0.4952,-0.06815 -0.9963,-0.10274 -1.5,-0.10274l0,0.74993l0,0.75007l0,0.74993c1.7306,0 3.4223,0.51319 4.8612,1.47466c1.439,0.96147 2.5605,2.32801 3.2228,3.92691c0.6622,1.5989 0.8355,3.3582 0.4979,5.0556c-0.3376,1.6973 -1.171,3.2564 -2.3947,4.4801c-1.2237,1.2237 -2.7828,2.0571 -4.4802,2.3947c-1.6973,0.3377 -3.4567,0.1644 -5.0555,-0.4979c-1.5989,-0.6623 -2.96548,-1.7838 -3.92695,-3.2227z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_5.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29427">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29427)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m11.4427,4.81286c0.0164,-0.16327 -0.121,-0.30059 -0.2842,-0.28418l-5.60789,0.56172c-0.21793,0.02178 -0.31254,0.28695 -0.15769,0.4418l1.75906,1.75906c-0.32956,0.33556 -0.63606,0.69067 -0.91816,1.06283c-1.0021,1.32201 -1.69629,2.85911 -2.02245,4.49891c-0.42444,2.1337 -0.2066,4.3455 0.62596,6.3555c0.83256,2.01 2.24246,3.7279 4.0514,4.9366c1.80897,1.2087 3.93567,1.8539 6.11127,1.8539c2.1756,0 4.3023,-0.6452 6.1113,-1.8539c1.8089,-1.2087 3.2188,-2.9266 4.0514,-4.9366c0.8325,-2.01 1.0504,-4.2218 0.6259,-6.3555c-0.3261,-1.6398 -1.0203,-3.1769 -2.0224,-4.49891c-0.3019,-0.39833 -0.6318,-0.77712 -0.988,-1.13331l-0.5303,0.53028l-0.5304,0.53038l-0.5303,0.53028c1.2238,1.22368 2.0571,2.78288 2.3947,4.48018c0.3377,1.6973 0.1644,3.4567 -0.4979,5.0556c-0.6623,1.5988 -1.7838,2.9654 -3.2227,3.9269c-1.439,0.9614 -3.1307,1.4746 -4.8613,1.4746c-1.7306,0 -3.4223,-0.5132 -4.8613,-1.4746c-1.43891,-0.9615 -2.56043,-2.3281 -3.2227,-3.9269c-0.66227,-1.5989 -0.83555,-3.3583 -0.49793,-5.0556c0.33117,-1.6649 1.1393,-3.1968 2.32494,-4.40961l1.69609,1.69611c0.1549,0.1549 0.42,0.0602 0.4419,-0.1576l0.5617,-5.60794z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_6.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29422">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29422)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m19.7865,5.34178c0.127,-0.1039 0.127,-0.2981 0,-0.4019l-4.3626,-3.5682c-0.1695,-0.1387 -0.4239,-0.0181 -0.4239,0.2009l0,2.42777c-0.5037,0 -1.0048,0.03459 -1.5,0.10275c-1.6434,0.22621 -3.2212,0.82225 -4.61127,1.75109c-1.80894,1.20869 -3.21884,2.92666 -4.0514,4.93661c-0.83256,2.01 -1.0504,4.2218 -0.62596,6.3555c0.42443,2.1338 1.47208,4.0938 3.01046,5.6322c1.53838,1.5384 3.49837,2.5861 5.63217,3.0105c2.1338,0.4244 4.3455,0.2066 6.3555,-0.626c2.01,-0.8325 3.728,-2.2424 4.9367,-4.0514c0.9288,-1.3901 1.5248,-2.9679 1.7511,-4.6113c0.0681,-0.4951 0.1027,-0.9962 0.1027,-1.5l-0.7499,0l-0.7501,0l-0.7499,0c0,1.7306 -0.5132,3.4224 -1.4747,4.8613c-0.9615,1.439 -2.328,2.5605 -3.9269,3.2228c-1.5989,0.6622 -3.3582,0.8355 -5.0555,0.4979c-1.6974,-0.3376 -3.2565,-1.171 -4.48022,-2.3947c-1.22372,-1.2237 -2.05709,-2.7828 -2.39471,-4.4802c-0.33762,-1.6973 -0.16434,-3.4567 0.49793,-5.0556c0.66227,-1.5988 1.78379,-2.96539 3.2227,-3.92686c1.439,-0.96147 3.1307,-1.47465 4.8613,-1.47465l0,2.45869c0,0.219 0.2544,0.3396 0.4239,0.201l4.3626,-3.5682z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_7.svg
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="clip0_7112_29417">
|
||||||
|
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g>
|
||||||
|
<title>Layer 1</title>
|
||||||
|
<g id="svg_2" clip-path="url(#clip0_7112_29417)">
|
||||||
|
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||||
|
<path id="svg_4" fill="#6B6B6B" d="m20.8872,8.52665c-1.174,-1.06775 -2.6186,-1.79796 -4.1801,-2.10858c-1.6974,-0.33762 -3.4567,-0.16434 -5.0556,0.49793c-1.5989,0.66227 -2.96544,1.78379 -3.92691,3.2227c-0.96147,1.439 -1.47465,3.1307 -1.47465,4.8613c0,1.7306 0.51318,3.4223 1.47465,4.8613c0.96147,1.4389 2.32801,2.5604 3.92691,3.2227c1.5989,0.6623 3.3582,0.8356 5.0556,0.4979c1.6973,-0.3376 3.2564,-1.1709 4.4801,-2.3947l0.5303,0.5303l0.5304,0.5304l0.5303,0.5303c-0.3562,0.3562 -0.735,0.6861 -1.1333,0.988c-1.3221,1.0021 -2.8592,1.6963 -4.4989,2.0224c-2.1338,0.4245 -4.3455,0.2066 -6.3555,-0.6259c-2.01001,-0.8326 -3.72797,-2.2425 -4.93667,-4.0514c-1.20869,-1.809 -1.85383,-3.9357 -1.85383,-6.1113c0,-2.1756 0.64514,-4.3023 1.85383,-6.11127c1.2087,-1.80894 2.92666,-3.21884 4.93667,-4.0514c2.01,-0.83256 4.2217,-1.0504 6.3555,-0.62596c1.6397,0.32616 3.1768,1.02035 4.4989,2.02245c0.2889,0.21899 0.5675,0.45269 0.8347,0.70047l1.7503,-1.75035c0.1549,-0.15486 0.4201,-0.06025 0.4418,0.15768l0.5618,5.60788c0.0164,0.1632 -0.121,0.3006 -0.2842,0.2842l-5.608,-0.5617c-0.2178,-0.0218 -0.3124,-0.287 -0.1576,-0.4419l1.7035,-1.70345z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
4
resources/images/check_half_focused.svg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect x="1" y="1" width="16" height="16" rx="1" fill="#37EE7C"/>
|
||||||
|
<path d="M4 9L14 9" stroke="white" stroke-linecap="round"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 232 B |
|
@ -1,4 +1,3 @@
|
||||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<rect x="0.5" y="0.5" width="15" height="15" rx="0.5" stroke="#ACACAC"/>
|
<rect x="1.5" y="1.5" width="15" height="15" rx="0.5" stroke="#ACACAC"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 188 B After Width: | Height: | Size: 176 B |
3
resources/images/check_off_focused.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect x="1.5" y="1.5" width="15" height="15" rx="0.5" stroke="#00AE42"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 176 B |
|
@ -1,5 +1,4 @@
|
||||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<rect width="16" height="16" rx="1" fill="#00AE42"/>
|
<rect x="1" y="1" width="16" height="16" rx="1" fill="#00AE42"/>
|
||||||
<path d="M3.35537 7.5374L7.30284 10.9361C7.71855 11.294 8.34501 11.2502 8.70687 10.838L13.8175 5.01521" stroke="white" stroke-width="1.2" stroke-linecap="round"/>
|
<path d="M4.35537 8.5374L8.30284 11.9361C8.71855 12.294 9.34501 12.2502 9.70687 11.838L14.8175 6.01521" stroke="white" stroke-width="1.2" stroke-linecap="round"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 331 B |
4
resources/images/check_on_focused.svg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect x="1" y="1" width="16" height="16" rx="1" fill="#37EE7C"/>
|
||||||
|
<path d="M4.35537 8.5374L8.30284 11.9361C8.71855 12.294 9.34501 12.2502 9.70687 11.838L14.8175 6.01521" stroke="white" stroke-width="1.2" stroke-linecap="round"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 331 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
@ -1,6 +1,3 @@
|
||||||
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
|
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<defs><style>.cls-1{fill:none;}.cls-2,.cls-3{fill:#2b3436;}.cls-2{fill-rule:evenodd;}</style></defs>
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M4.74854 4.55113C4.74854 2.71071 6.2405 1.21875 8.08092 1.21875C9.92134 1.21875 11.4133 2.71071 11.4133 4.55113V5.09345C11.4133 5.3696 11.1894 5.59345 10.9133 5.59345C10.6372 5.59345 10.4133 5.3696 10.4133 5.09345V4.55113C10.4133 3.26299 9.36906 2.21875 8.08092 2.21875C6.79278 2.21875 5.74854 3.26299 5.74854 4.55113V7.20312H12.2007C12.4768 7.20312 12.7007 7.42698 12.7007 7.70312V13.7798C12.7007 14.0559 12.4768 14.2798 12.2007 14.2798H3.79883C3.52269 14.2798 3.29883 14.0559 3.29883 13.7798V7.70312C3.29883 7.42698 3.52269 7.20312 3.79883 7.20312H4.74854V4.55113Z" fill="#FF6F00"/>
|
||||||
<title>Slice 41</title>
|
|
||||||
<path fill="#F1754E" d="M12.33,7.47A5,5,0,0,0,7.43,3,5,5,0,0,0,2.51,8a5,5,0,0,0,4.38,5v1A6,6,0,0,1,1.51,8,6,6,0,0,1,7.43,2a6,6,0,0,1,5.9,5.47Z"/>
|
|
||||||
<path fill="#F1754E" d="M12.82,10.75,10.48,7.47h4.67Z"/>
|
|
||||||
</svg>
|
</svg>
|
Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 737 B |
Before Width: | Height: | Size: 1.8 KiB |
16
resources/images/monitor_placeholder.svg
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<svg width="1000" height="1000" viewBox="0 0 1000 1000" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="1000" height="1000" fill="#EEEEEE"/>
|
||||||
|
<path d="M392.515 572.138V518.125H377.324V584.751H433.055L428.266 572.138H392.515Z" fill="#ACACAC"/>
|
||||||
|
<path d="M497.484 531.328H443.979L448.333 542.834H496.952C497.775 542.834 498.452 543.508 498.452 544.326V551.114H455.057C446.882 551.114 440.254 557.709 440.254 565.845V569.985C440.254 578.121 446.882 584.716 455.057 584.716H512.336V546.011C512.336 537.923 505.709 531.328 497.484 531.328ZM498.404 573.114H455.59C454.767 573.114 454.09 572.44 454.09 571.622V564.064C454.09 563.245 454.767 562.571 455.59 562.571H498.404V573.114Z" fill="#ACACAC"/>
|
||||||
|
<path d="M575.871 531.343H540.942V518.008H540.652H525.703V584.73H540.942H575.871C584.046 584.73 590.674 578.135 590.674 569.999V546.122C590.722 537.986 584.095 531.343 575.871 531.343ZM575.774 571.684C575.774 572.503 575.096 573.177 574.274 573.177H540.942V543.089H574.274C575.096 543.089 575.774 543.763 575.774 544.581V571.684Z" fill="#ACACAC"/>
|
||||||
|
<path d="M623.556 445.781H548.184V499.169H562.987V458.972C562.987 458.153 563.664 457.479 564.487 457.479H584.515C585.337 457.479 586.015 458.153 586.015 458.972V499.169H600.867V458.972C600.867 458.153 601.544 457.479 602.366 457.479H622.104C622.927 457.479 623.604 458.153 623.604 458.972V499.169H638.504V460.512C638.359 452.376 631.731 445.781 623.556 445.781Z" fill="#ACACAC"/>
|
||||||
|
<path d="M780.399 486.075C780.399 486.893 779.721 487.567 778.899 487.567H743.293C742.471 487.567 741.794 486.893 741.794 486.075V445.781H727.812V484.438C727.812 492.574 734.44 499.169 742.616 499.169H779.431C787.607 499.169 794.235 492.574 794.235 484.438V445.781H780.35V486.075H780.399Z" fill="#ACACAC"/>
|
||||||
|
<path d="M519.945 445.781H466.44L470.794 457.287H519.413C520.236 457.287 520.913 457.961 520.913 458.779V465.567H477.518C469.343 465.567 462.715 472.162 462.715 480.298V484.438C462.715 492.574 469.343 499.169 477.518 499.169H534.749V460.464C534.797 452.328 528.121 445.781 519.945 445.781ZM520.865 487.567H478.05C477.228 487.567 476.551 486.893 476.551 486.075V478.517C476.551 477.698 477.228 477.024 478.05 477.024H520.865V487.567Z" fill="#ACACAC"/>
|
||||||
|
<path d="M700.578 445.796H665.649V432.461H665.359H650.41V499.183H665.649H700.578C708.753 499.183 715.381 492.588 715.381 484.452V460.527C715.429 452.391 708.802 445.796 700.578 445.796ZM700.481 486.089C700.481 486.908 699.804 487.582 698.981 487.582H665.649V457.494H698.981C699.804 457.494 700.481 458.168 700.481 458.986V486.089Z" fill="#ACACAC"/>
|
||||||
|
<path d="M451.438 477.337C451.003 472.234 448.391 467.661 444.327 464.291C446.456 461.355 447.859 457.792 448.1 453.941C448.1 453.556 448.197 449.994 448.149 449.512C447.278 438.44 436.296 429.727 422.944 429.727C422.751 429.727 405.77 429.727 392.563 429.727V441.617L377.324 447.442V499.241H432.184C432.184 499.241 433.103 499.193 433.49 499.193C443.118 498.567 450.81 490.769 451.438 480.996C451.487 480.515 451.438 477.819 451.438 477.337ZM392.515 441.569H424.831C425.798 441.569 426.718 441.762 427.54 442.147C430.588 443.35 432.765 446.335 432.765 449.801C432.765 449.801 432.716 450.956 432.571 451.534C432.136 454.182 430.346 456.3 427.975 457.263C426.911 457.744 425.75 458.033 424.492 458.033H392.515V441.569ZM426.959 487.591H392.515V469.827H426.959C431.894 469.827 435.861 473.775 435.861 478.685C435.861 483.644 431.894 487.591 426.959 487.591Z" fill="#ACACAC"/>
|
||||||
|
<path d="M392.515 429.667V415.273L377.324 421.098V435.492L392.515 429.667Z" fill="#ACACAC"/>
|
||||||
|
<path d="M275.957 478.516V584.761H336.719V502.297L275.957 478.516Z" fill="#ACACAC"/>
|
||||||
|
<path d="M275.957 415.195V468.342L336.719 492.172V415.195H275.957Z" fill="#ACACAC"/>
|
||||||
|
<path d="M205.762 521.489V415.195H266.524V497.66L205.762 521.489Z" fill="#ACACAC"/>
|
||||||
|
<path d="M205.762 584.741V531.642L266.524 507.812V584.741H205.762Z" fill="#ACACAC"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.8 KiB |
|
@ -1,6 +1,6 @@
|
||||||
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path d="M36.9008 39.7008H4.70074C3.10074 39.7008 1.80078 38.4008 1.80078 36.8008V4.70078C1.80078 3.10078 3.10074 1.80078 4.70074 1.80078H36.9008C38.5008 1.80078 39.8008 3.10078 39.8008 4.70078V36.9008C39.8008 38.4008 38.5008 39.7008 36.9008 39.7008Z" fill="#DDDDDD"/>
|
<path d="M36.9008 39.7008H4.70074C3.10074 39.7008 1.80078 38.4008 1.80078 36.8008V4.70078C1.80078 3.10078 3.10074 1.80078 4.70074 1.80078H36.9008C38.5008 1.80078 39.8008 3.10078 39.8008 4.70078V36.9008C39.8008 38.4008 38.5008 39.7008 36.9008 39.7008Z" fill="#E9E9E9"/>
|
||||||
<path d="M36.9 40.6H4.70001C2.60001 40.6 1 38.9 1 36.9V4.7C1 2.6 2.70001 1 4.70001 1H36.9C39 1 40.6 2.7 40.6 4.7V36.9C40.7 38.9 39 40.6 36.9 40.6ZM4.80005 2.7C3.70005 2.7 2.80005 3.6 2.80005 4.7V36.9C2.80005 38 3.70005 38.9 4.80005 38.9H36.9C38 38.9 38.9 38 38.9 36.9V4.7C38.9 3.6 38 2.7 36.9 2.7H4.80005Z" fill="#5E5E5E"/>
|
<path d="M36.9 40.6H4.70001C2.60001 40.6 1 38.9 1 36.9V4.7C1 2.6 2.70001 1 4.70001 1H36.9C39 1 40.6 2.7 40.6 4.7V36.9C40.7 38.9 39 40.6 36.9 40.6ZM4.80005 2.7C3.70005 2.7 2.80005 3.6 2.80005 4.7V36.9C2.80005 38 3.70005 38.9 4.80005 38.9H36.9C38 38.9 38.9 38 38.9 36.9V4.7C38.9 3.6 38 2.7 36.9 2.7H4.80005Z" fill="#545454"/>
|
||||||
<path d="M31.6992 33.0992C31.2992 33.0992 30.8992 32.9992 30.5992 32.6992L8.89922 10.9992C8.29922 10.3992 8.29922 9.49922 8.89922 8.89922C9.49922 8.29922 10.3992 8.29922 10.9992 8.89922L32.6992 30.5992C33.2992 31.1992 33.2992 32.0992 32.6992 32.6992C32.4992 32.9992 32.0992 33.0992 31.6992 33.0992Z" fill="#EA6000"/>
|
<path d="M31.6992 33.0992C31.2992 33.0992 30.8992 32.9992 30.5992 32.6992L8.89922 10.9992C8.29922 10.3992 8.29922 9.49922 8.89922 8.89922C9.49922 8.29922 10.3992 8.29922 10.9992 8.89922L32.6992 30.5992C33.2992 31.1992 33.2992 32.0992 32.6992 32.6992C32.4992 32.9992 32.0992 33.0992 31.6992 33.0992Z" fill="#545454"/>
|
||||||
<path d="M9.99919 33.0992C9.59919 33.0992 9.19922 32.9992 8.89922 32.6992C8.29922 32.0992 8.29922 31.1992 8.89922 30.5992L30.5992 8.89922C31.1992 8.29922 32.0992 8.29922 32.6992 8.89922C33.2992 9.49922 33.2992 10.3992 32.6992 10.9992L10.9992 32.6992C10.7992 32.9992 10.3992 33.0992 9.99919 33.0992Z" fill="#EA6000"/>
|
<path d="M9.99919 33.0992C9.59919 33.0992 9.19922 32.9992 8.89922 32.6992C8.29922 32.0992 8.29922 31.1992 8.89922 30.5992L30.5992 8.89922C31.1992 8.29922 32.0992 8.29922 32.6992 8.89922C33.2992 9.49922 33.2992 10.3992 32.6992 10.9992L10.9992 32.6992C10.7992 32.9992 10.3992 33.0992 9.99919 33.0992Z" fill="#545454"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1,6 +1,6 @@
|
||||||
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="42" height="42" viewBox="0 0 42 42" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path d="M36.9008 39.7008H4.70074C3.10074 39.7008 1.80078 38.4008 1.80078 36.8008V4.70078C1.80078 3.10078 3.10074 1.80078 4.70074 1.80078H36.9008C38.5008 1.80078 39.8008 3.10078 39.8008 4.70078V36.9008C39.8008 38.4008 38.5008 39.7008 36.9008 39.7008Z" fill="#DDDDDD"/>
|
<path d="M36.9008 39.7008H4.70074C3.10074 39.7008 1.80078 38.4008 1.80078 36.8008V4.70078C1.80078 3.10078 3.10074 1.80078 4.70074 1.80078H36.9008C38.5008 1.80078 39.8008 3.10078 39.8008 4.70078V36.9008C39.8008 38.4008 38.5008 39.7008 36.9008 39.7008Z" fill="#D6D6D6"/>
|
||||||
<path d="M36.9 40.6H4.70001C2.60001 40.6 1 38.9 1 36.9V4.7C1 2.6 2.70001 1 4.70001 1H36.9C39 1 40.6 2.7 40.6 4.7V36.9C40.7 38.9 39 40.6 36.9 40.6ZM4.80005 2.7C3.70005 2.7 2.80005 3.6 2.80005 4.7V36.9C2.80005 38 3.70005 38.9 4.80005 38.9H36.9C38 38.9 38.9 38 38.9 36.9V4.7C38.9 3.6 38 2.7 36.9 2.7H4.80005Z" fill="#909090"/>
|
<path d="M36.9 40.6H4.70001C2.60001 40.6 1 38.9 1 36.9V4.7C1 2.6 2.70001 1 4.70001 1H36.9C39 1 40.6 2.7 40.6 4.7V36.9C40.7 38.9 39 40.6 36.9 40.6ZM4.80005 2.7C3.70005 2.7 2.80005 3.6 2.80005 4.7V36.9C2.80005 38 3.70005 38.9 4.80005 38.9H36.9C38 38.9 38.9 38 38.9 36.9V4.7C38.9 3.6 38 2.7 36.9 2.7H4.80005Z" fill="#545454"/>
|
||||||
<path d="M31.6992 33.0992C31.2992 33.0992 30.8992 32.9992 30.5992 32.6992L8.89922 10.9992C8.29922 10.3992 8.29922 9.49922 8.89922 8.89922C9.49922 8.29922 10.3992 8.29922 10.9992 8.89922L32.6992 30.5992C33.2992 31.1992 33.2992 32.0992 32.6992 32.6992C32.4992 32.9992 32.0992 33.0992 31.6992 33.0992Z" fill="#FF7C21"/>
|
<path d="M31.6992 33.0992C31.2992 33.0992 30.8992 32.9992 30.5992 32.6992L8.89922 10.9992C8.29922 10.3992 8.29922 9.49922 8.89922 8.89922C9.49922 8.29922 10.3992 8.29922 10.9992 8.89922L32.6992 30.5992C33.2992 31.1992 33.2992 32.0992 32.6992 32.6992C32.4992 32.9992 32.0992 33.0992 31.6992 33.0992Z" fill="#545454"/>
|
||||||
<path d="M9.99919 33.0992C9.59919 33.0992 9.19922 32.9992 8.89922 32.6992C8.29922 32.0992 8.29922 31.1992 8.89922 30.5992L30.5992 8.89922C31.1992 8.29922 32.0992 8.29922 32.6992 8.89922C33.2992 9.49922 33.2992 10.3992 32.6992 10.9992L10.9992 32.6992C10.7992 32.9992 10.3992 33.0992 9.99919 33.0992Z" fill="#FF7C21"/>
|
<path d="M9.99919 33.0992C9.59919 33.0992 9.19922 32.9992 8.89922 32.6992C8.29922 32.0992 8.29922 31.1992 8.89922 30.5992L30.5992 8.89922C31.1992 8.29922 32.0992 8.29922 32.6992 8.89922C33.2992 9.49922 33.2992 10.3992 32.6992 10.9992L10.9992 32.6992C10.7992 32.9992 10.3992 33.0992 9.99919 33.0992Z" fill="#545454"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
@ -1,14 +1,14 @@
|
||||||
<svg width="30" height="22" viewBox="0 0 30 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="30" height="22" viewBox="0 0 30 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.51465 5C5.669 5 5 5.67005 5 6.47193V15.6793C5 16.4812 5.669 17.1513 6.51465 17.1513H23.0865C23.9321 17.1513 24.6011 16.4812 24.6011 15.6793V6.47193C24.6011 5.67005 23.9321 5 23.0865 5H6.51465ZM4 6.47193C4 5.09767 5.13703 4 6.51465 4H23.0865C24.4641 4 25.6011 5.09767 25.6011 6.47193V15.6793C25.6011 17.0536 24.4641 18.1513 23.0865 18.1513H6.51465C5.13703 18.1513 4 17.0536 4 15.6793V6.47193Z" fill="#ACACAC"/>
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M6.51452 4.99991C5.66891 4.99991 4.99995 5.66991 4.99995 6.47171V15.6783C4.99995 16.4801 5.66891 17.1501 6.51452 17.1501H23.0855C23.9311 17.1501 24.6001 16.4801 24.6001 15.6783V6.47171C24.6001 5.66991 23.9311 4.99991 23.0855 4.99991H6.51452ZM4 6.47171C4 5.09757 5.13697 4 6.51452 4H23.0855C24.463 4 25.6 5.09757 25.6 6.47171V15.6783C25.6 17.0524 24.463 18.15 23.0855 18.15H6.51452C5.13697 18.15 4 17.0524 4 15.6783V6.47171Z" fill="#00AE42"/>
|
||||||
<path d="M10.3223 10.1992H6.73828V11.9517H10.3223V10.1992Z" fill="#ACACAC"/>
|
<path d="M10.3222 10.1983H6.73835V11.9506H10.3222V10.1983Z" fill="#00AE42"/>
|
||||||
<path d="M13.9037 10.1992H12.1133V11.9517H13.9037V10.1992Z" fill="#ACACAC"/>
|
<path d="M13.9034 10.1983H12.113V11.9506H13.9034V10.1983Z" fill="#00AE42"/>
|
||||||
<path d="M17.4877 10.1992H15.6973V11.9517H17.4877V10.1992Z" fill="#ACACAC"/>
|
<path d="M17.4869 10.1983H15.6966V11.9506H17.4869V10.1983Z" fill="#00AE42"/>
|
||||||
<path d="M15.6977 7.13281H13.9072V8.8853H15.6977V7.13281Z" fill="#ACACAC"/>
|
<path d="M15.6971 7.13181H13.9067V8.88414H15.6971V7.13181Z" fill="#00AE42"/>
|
||||||
<path d="M12.1137 7.13281H10.3232V8.8853H12.1137V7.13281Z" fill="#ACACAC"/>
|
<path d="M12.1128 7.13181H10.3225V8.88414H12.1128V7.13181Z" fill="#00AE42"/>
|
||||||
<path d="M8.52971 7.13281H6.73926V8.8853H8.52971V7.13281Z" fill="#ACACAC"/>
|
<path d="M8.52929 7.13181H6.73893V8.88414H8.52929V7.13181Z" fill="#00AE42"/>
|
||||||
<path d="M19.2787 7.13281H17.4883V8.8853H19.2787V7.13281Z" fill="#ACACAC"/>
|
<path d="M19.2779 7.13181H17.4876V8.88414H19.2779V7.13181Z" fill="#00AE42"/>
|
||||||
<path d="M21.0717 7.13281V10.2019H19.2812V11.9544H22.8622V11.0797V10.2019V7.13281H21.0717Z" fill="#ACACAC"/>
|
<path d="M21.071 7.13181V10.2007H19.2807V11.953H22.8614V11.0784V10.2007V7.13181H21.071Z" fill="#00AE42"/>
|
||||||
<path d="M8.52874 13.2695H6.73828V15.022H8.52874V13.2695Z" fill="#ACACAC"/>
|
<path d="M8.52871 13.2681H6.73835V15.0204H8.52871V13.2681Z" fill="#00AE42"/>
|
||||||
<path d="M19.2817 13.2695H10.3232V15.022H19.2817V13.2695Z" fill="#ACACAC"/>
|
<path d="M19.2806 13.2681H10.3226V15.0204H19.2806V13.2681Z" fill="#00AE42"/>
|
||||||
<path d="M22.8617 13.2695H21.0713V15.022H22.8617V13.2695Z" fill="#ACACAC"/>
|
<path d="M22.8609 13.2681H21.0705V15.0204H22.8609V13.2681Z" fill="#00AE42"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -1,14 +1,14 @@
|
||||||
<svg width="30" height="22" viewBox="0 0 30 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="30" height="22" viewBox="0 0 30 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.02087 4.20131C4.00498 4.20131 3.20131 5.00625 3.20131 5.96954V17.0305C3.20131 17.9938 4.00498 18.7987 5.02087 18.7987H24.9287C25.9446 18.7987 26.7483 17.9938 26.7483 17.0305V5.96954C26.7483 5.00625 25.9446 4.20131 24.9287 4.20131H5.02087ZM2 5.96954C2 4.31864 3.36592 3 5.02087 3H24.9287C26.5837 3 27.9496 4.31864 27.9496 5.96954V17.0305C27.9496 18.6814 26.5837 20 24.9287 20H5.02087C3.36592 20 2 18.6814 2 17.0305V5.96954Z" fill="#6B6B6B"/>
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.02092 4.20131C4.00501 4.20131 3.20133 5.00625 3.20133 5.96954V17.0305C3.20133 17.9938 4.00501 18.7987 5.02092 18.7987H24.9291C25.945 18.7987 26.7487 17.9938 26.7487 17.0305V5.96954C26.7487 5.00625 25.945 4.20131 24.9291 4.20131H5.02092ZM2 5.96954C2 4.31864 3.36594 3 5.02092 3H24.9291C26.5841 3 27.95 4.31864 27.95 5.96954V17.0305C27.95 18.6814 26.5841 20 24.9291 20H5.02092C3.36594 20 2 18.6814 2 17.0305V5.96954Z" fill="#00AE42"/>
|
||||||
<path d="M9.59458 10.4473H5.28906V12.5525H9.59458V10.4473Z" fill="#6B6B6B"/>
|
<path d="M9.59541 10.4467H5.28983V12.552H9.59541V10.4467Z" fill="#00AE42"/>
|
||||||
<path d="M13.897 10.4473H11.7461V12.5525H13.897V10.4473Z" fill="#6B6B6B"/>
|
<path d="M13.8978 10.4467H11.7469V12.552H13.8978V10.4467Z" fill="#00AE42"/>
|
||||||
<path d="M18.2026 10.4473H16.0518V12.5525H18.2026V10.4473Z" fill="#6B6B6B"/>
|
<path d="M18.203 10.4467H16.0521V12.552H18.203V10.4467Z" fill="#00AE42"/>
|
||||||
<path d="M16.0532 6.76367H13.9023V8.86894H16.0532V6.76367Z" fill="#6B6B6B"/>
|
<path d="M16.0527 6.7626H13.9018V8.86787H16.0527V6.7626Z" fill="#00AE42"/>
|
||||||
<path d="M11.7466 6.76367H9.5957V8.86894H11.7466V6.76367Z" fill="#6B6B6B"/>
|
<path d="M11.7467 6.7626H9.59576V8.86787H11.7467V6.7626Z" fill="#00AE42"/>
|
||||||
<path d="M7.4419 6.76367H5.29102V8.86894H7.4419V6.76367Z" fill="#6B6B6B"/>
|
<path d="M7.44144 6.7626H5.29052V8.86787H7.44144V6.7626Z" fill="#00AE42"/>
|
||||||
<path d="M20.355 6.76367H18.2041V8.86894H20.355V6.76367Z" fill="#6B6B6B"/>
|
<path d="M20.3547 6.7626H18.2038V8.86787H20.3547V6.7626Z" fill="#00AE42"/>
|
||||||
<path d="M22.5093 6.76367V10.4506H20.3584V12.5559H24.6602V11.5051V10.4506V6.76367H22.5093Z" fill="#6B6B6B"/>
|
<path d="M22.509 6.7626V10.4496H20.358V12.5548H24.6599V11.504V10.4496V6.7626H22.509Z" fill="#00AE42"/>
|
||||||
<path d="M7.43995 14.1348H5.28906V16.24H7.43995V14.1348Z" fill="#6B6B6B"/>
|
<path d="M7.44075 14.1348H5.28983V16.2401H7.44075V14.1348Z" fill="#00AE42"/>
|
||||||
<path d="M20.3586 14.1348H9.59668V16.24H20.3586V14.1348Z" fill="#6B6B6B"/>
|
<path d="M20.358 14.1348H9.59587V16.2401H20.358V14.1348Z" fill="#00AE42"/>
|
||||||
<path d="M24.6587 14.1348H22.5078V16.24H24.6587V14.1348Z" fill="#6B6B6B"/>
|
<path d="M24.6593 14.1348H22.5084V16.2401H24.6593V14.1348Z" fill="#00AE42"/>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "Bambulab",
|
"name": "Bambulab",
|
||||||
"url": "http://www.bambulab.com/Parameters/vendor/BBL.json",
|
"url": "http://www.bambulab.com/Parameters/vendor/BBL.json",
|
||||||
"version": "01.01.00.10",
|
"version": "01.01.01.02",
|
||||||
"force_update": "0",
|
"force_update": "0",
|
||||||
"description": "the initial version of BBL configurations",
|
"description": "the initial version of BBL configurations",
|
||||||
"machine_model_list": [
|
"machine_model_list": [
|
||||||
|
|
|
@ -1,43 +1,36 @@
|
||||||
<svg width="732" height="760" viewBox="0 0 732 760" fill="none" xmlns="http://www.w3.org/2000/svg">
|
<svg width="988" height="1026" viewBox="0 0 988 1026" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<g clip-path="url(#clip0_4523_22675)">
|
<rect x="23.5083" y="47.3984" width="35.2051" height="238.804" fill="#444646"/>
|
||||||
<path d="M392 733.699L372.1 753.499H377.8L397.6 733.699H392Z" fill="#CFD2D3"/>
|
<path d="M529.093 987.289L502.234 1014.01H509.927L536.652 987.289H529.093Z" fill="#CFD2D3"/>
|
||||||
<path d="M403.198 733.699L383.398 753.499H388.998L408.898 733.699H403.198Z" fill="#CFD2D3"/>
|
<path d="M544.207 987.289L517.483 1014.01H525.041L551.901 987.289H544.207Z" fill="#CFD2D3"/>
|
||||||
<path d="M414.499 733.699L394.699 753.499H400.399L420.199 733.699H414.499Z" fill="#CFD2D3"/>
|
<path d="M559.461 987.289L532.736 1014.01H540.43L567.154 987.289H559.461Z" fill="#CFD2D3"/>
|
||||||
<path d="M425.9 733.699L406 753.499H411.7L431.5 733.699H425.9Z" fill="#CFD2D3"/>
|
<path d="M574.849 987.289L547.989 1014.01H555.683L582.407 987.289H574.849Z" fill="#CFD2D3"/>
|
||||||
<path d="M437.198 733.699L417.398 753.499H422.998L442.898 733.699H437.198Z" fill="#CFD2D3"/>
|
<path d="M590.098 987.289L563.374 1014.01H570.932L597.792 987.289H590.098Z" fill="#CFD2D3"/>
|
||||||
<path d="M448.599 733.699L428.699 753.499H434.399L454.199 733.699H448.599Z" fill="#CFD2D3"/>
|
<path d="M605.487 987.289L578.627 1014.01H586.32L613.045 987.289H605.487Z" fill="#CFD2D3"/>
|
||||||
<path d="M459.9 733.699L440.1 753.499H445.7L465.6 733.699H459.9Z" fill="#CFD2D3"/>
|
<path d="M620.74 987.289L594.015 1014.01H601.574L628.433 987.289H620.74Z" fill="#CFD2D3"/>
|
||||||
<path d="M471.198 733.699L451.398 753.499H456.998L476.898 733.699H471.198Z" fill="#CFD2D3"/>
|
<path d="M635.989 987.289L609.264 1014.01H616.823L643.682 987.289H635.989Z" fill="#CFD2D3"/>
|
||||||
<path d="M482.599 733.699L462.699 753.499H468.399L488.199 733.699H482.599Z" fill="#CFD2D3"/>
|
<path d="M651.377 987.289L624.518 1014.01H632.211L658.936 987.289H651.377Z" fill="#CFD2D3"/>
|
||||||
<path d="M493.9 733.699L474 753.499H479.7L499.6 733.699H493.9Z" fill="#CFD2D3"/>
|
<path d="M666.631 987.289L639.771 1014.01H647.464L674.324 987.289H666.631Z" fill="#CFD2D3"/>
|
||||||
<path d="M278.298 733.699L258.398 753.499H264.098L283.998 733.699H278.298Z" fill="#CFD2D3"/>
|
<path d="M375.627 987.289L348.767 1014.01H356.461L383.32 987.289H375.627Z" fill="#CFD2D3"/>
|
||||||
<path d="M289.499 733.699L269.699 753.499H275.299L295.199 733.699H289.499Z" fill="#CFD2D3"/>
|
<path d="M390.745 987.289L364.021 1014.01H371.579L398.439 987.289H390.745Z" fill="#CFD2D3"/>
|
||||||
<path d="M300.9 733.699L281 753.499H286.7L306.5 733.699H300.9Z" fill="#CFD2D3"/>
|
<path d="M406.133 987.289L379.273 1014.01H386.967L413.691 987.289H406.133Z" fill="#CFD2D3"/>
|
||||||
<path d="M312.198 733.699L292.398 753.499H297.998L317.898 733.699H312.198Z" fill="#CFD2D3"/>
|
<path d="M421.382 987.289L394.658 1014.01H402.216L429.076 987.289H421.382Z" fill="#CFD2D3"/>
|
||||||
<path d="M323.499 733.699L303.699 753.499H309.399L329.199 733.699H323.499Z" fill="#CFD2D3"/>
|
<path d="M436.636 987.289L409.911 1014.01H417.605L444.329 987.289H436.636Z" fill="#CFD2D3"/>
|
||||||
<path d="M334.9 733.699L315 753.499H320.7L340.5 733.699H334.9Z" fill="#CFD2D3"/>
|
<path d="M452.024 987.289L425.164 1014.01H432.858L459.582 987.289H452.024Z" fill="#CFD2D3"/>
|
||||||
<path d="M346.198 733.699L326.398 753.499H331.998L351.898 733.699H346.198Z" fill="#CFD2D3"/>
|
<path d="M467.273 987.289L440.548 1014.01H448.107L474.966 987.289H467.273Z" fill="#CFD2D3"/>
|
||||||
<path d="M357.499 733.699L337.699 753.499H343.399L363.199 733.699H357.499Z" fill="#CFD2D3"/>
|
<path d="M482.526 987.289L455.802 1014.01H463.495L490.22 987.289H482.526Z" fill="#CFD2D3"/>
|
||||||
<path d="M368.9 733.699L349 753.499H354.7L374.5 733.699H368.9Z" fill="#CFD2D3"/>
|
<path d="M497.915 987.289L471.055 1014.01H478.749L505.473 987.289H497.915Z" fill="#CFD2D3"/>
|
||||||
<path d="M380.198 733.699L360.398 753.499H365.998L385.898 733.699H380.198Z" fill="#CFD2D3"/>
|
<path d="M513.164 987.289L486.439 1014.01H493.997L520.857 987.289H513.164Z" fill="#CFD2D3"/>
|
||||||
<path d="M491.098 753.5L502.398 742.2V736.5L485.398 753.5H491.098Z" fill="#CFD2D3"/>
|
<path d="M662.848 1014.02L678.1 998.764V991.07L655.155 1014.02H662.848Z" fill="#CFD2D3"/>
|
||||||
<path d="M502.399 753.5V747.9L496.699 753.5H502.399Z" fill="#CFD2D3"/>
|
<path d="M678.102 1014.02V1006.46L670.409 1014.02H678.102Z" fill="#CFD2D3"/>
|
||||||
<path d="M265.499 733.699L254.199 744.999V750.699L271.199 733.699H265.499Z" fill="#CFD2D3"/>
|
<path d="M358.352 987.289L343.1 1002.54V1010.23L366.045 987.289H358.352Z" fill="#CFD2D3"/>
|
||||||
<path d="M46 41H18V219.8H46V41Z" fill="#535656"/>
|
<path d="M48.4548 139.256V114.691H30.5034V119.55H44.0007C44.2706 119.55 44.5406 119.82 44.5406 120.09V126.569C44.5406 126.839 44.2706 127.109 44.0007 127.109H30.5034V131.968H44.0007C44.2706 131.968 44.5406 132.238 44.5406 132.508V138.986C44.5406 139.256 44.2706 139.526 44.0007 139.526H30.5034V144.385H43.4608C46.2952 143.98 48.4548 141.956 48.4548 139.256Z" fill="#CFD2D3"/>
|
||||||
<path d="M35.8996 105.399V87.1992H22.5996V90.7992H32.5996C32.7996 90.7992 32.9996 90.9992 32.9996 91.1992V95.9992C32.9996 96.1992 32.7996 96.3992 32.5996 96.3992H22.5996V99.9992H32.5996C32.7996 99.9992 32.9996 100.199 32.9996 100.399V105.199C32.9996 105.399 32.7996 105.599 32.5996 105.599H22.5996V109.199H32.1996C34.2996 108.899 35.8996 107.399 35.8996 105.399Z" fill="#CFD2D3"/>
|
<path d="M34.9575 190.278C34.6876 190.278 34.4176 190.008 34.4176 189.738V178.131C34.4176 177.861 34.6876 177.591 34.9575 177.591H48.4548V173.137H35.4974C32.798 173.137 30.5034 175.296 30.5034 177.996V190.008C30.5034 192.708 32.663 194.867 35.4974 194.867H48.4548V190.413H34.9575V190.278Z" fill="#CFD2D3"/>
|
||||||
<path d="M25.8996 143.2C25.6996 143.2 25.4996 143 25.4996 142.8V134.2C25.4996 134 25.6996 133.8 25.8996 133.8H35.8996V130.5H26.2996C24.2996 130.5 22.5996 132.1 22.5996 134.1V143C22.5996 145 24.1996 146.6 26.2996 146.6H35.8996V143.3H25.8996V143.2Z" fill="#CFD2D3"/>
|
<path d="M48.4555 105.513V88.1015L44.5413 89.5862V105.378C44.5413 105.648 44.2713 105.918 44.0014 105.918H41.7068V91.7457C41.7068 89.0463 39.5473 86.8867 36.7129 86.8867H35.3631C32.6637 86.8867 30.3691 89.0463 30.3691 91.7457V110.372H43.3265C46.2959 110.372 48.4555 108.212 48.4555 105.513ZM34.4183 105.783V91.8807C34.4183 91.6108 34.6883 91.3408 34.9582 91.3408H37.5227C37.7926 91.3408 38.0626 91.6108 38.0626 91.8807V105.783H34.4183Z" fill="#CFD2D3"/>
|
||||||
<path d="M35.9 80.3996V67.4996L33 68.5996V80.2996C33 80.4996 32.8 80.6996 32.6 80.6996H30.9V70.1996C30.9 68.1996 29.3 66.5996 27.2 66.5996H26.2C24.2 66.5996 22.5 68.1996 22.5 70.1996V83.9996H32.1C34.3 83.9996 35.9 82.3996 35.9 80.3996ZM25.5 80.5996V70.2996C25.5 70.0996 25.7 69.8996 25.9 69.8996H27.8C28 69.8996 28.2 70.0996 28.2 70.2996V80.5996H25.5Z" fill="#CFD2D3"/>
|
<path d="M48.4548 164.228V152.89H52.9089V148.031H30.5034V153.025V164.363C30.5034 167.062 32.663 169.222 35.4974 169.222H43.4608C46.2952 169.087 48.4548 166.927 48.4548 164.228ZM34.9575 164.228C34.6876 164.228 34.4176 163.958 34.4176 163.688V152.89H44.5406V163.688C44.5406 163.958 44.2706 164.228 44.0007 164.228H34.9575Z" fill="#CFD2D3"/>
|
||||||
<path d="M35.8996 123.9V115.5H39.1996V111.9H22.5996V115.6V124C22.5996 126 24.1996 127.6 26.2996 127.6H32.1996C34.2996 127.5 35.8996 125.9 35.8996 123.9ZM25.8996 123.9C25.6996 123.9 25.4996 123.7 25.4996 123.5V115.5H32.9996V123.5C32.9996 123.7 32.7996 123.9 32.5996 123.9H25.8996Z" fill="#CFD2D3"/>
|
<path d="M37.9269 83.246C39.6816 83.1111 41.1663 82.3012 42.246 80.9515C43.1909 81.6264 44.4056 82.0313 45.7553 82.1663C45.8903 82.1663 47.1051 82.1663 47.24 82.1663C51.0193 81.8963 53.8537 78.2521 53.8537 73.9329C53.8537 73.9329 53.8537 68.3991 53.8537 64.0799H49.8045L47.9149 59.0859H30.5034V76.9023C30.5034 76.9023 30.5034 77.1723 30.5034 77.3072C30.7734 80.4116 33.3378 82.9761 36.5772 83.1111C36.8471 83.246 37.657 83.246 37.9269 83.246ZM49.8045 64.0799V74.6078C49.8045 74.8777 49.6695 75.1477 49.6695 75.5526C49.2646 76.4974 48.3198 77.3072 47.1051 77.3072C47.1051 77.3072 46.7001 77.3072 46.5652 77.3072C45.6204 77.1723 44.9455 76.6324 44.6756 75.8225C44.5406 75.4176 44.4056 75.1477 44.4056 74.7428V64.3499H49.8045V64.0799ZM34.4176 75.2827V64.0799H40.3564V75.2827C40.3564 76.9023 39.0067 78.1171 37.387 78.1171C35.7674 78.2521 34.4176 76.9023 34.4176 75.2827Z" fill="#CFD2D3"/>
|
||||||
<path d="M28.0996 63.9C29.3996 63.8 30.4996 63.2 31.2996 62.2C31.9996 62.7 32.8996 63 33.8996 63.1C33.9996 63.1 34.8996 63.1 34.9996 63.1C37.7996 62.9 39.8996 60.2 39.8996 57C39.8996 57 39.8996 52.9 39.8996 49.7H36.8996L35.4996 46H22.5996V59.2C22.5996 59.2 22.5996 59.4 22.5996 59.5C22.7996 61.8 24.6996 63.7 27.0996 63.8C27.2996 63.9 27.8996 63.9 28.0996 63.9ZM36.8996 49.7V57.5C36.8996 57.7 36.7996 57.9 36.7996 58.2C36.4996 58.9 35.7996 59.5 34.8996 59.5C34.8996 59.5 34.5996 59.5 34.4996 59.5C33.7996 59.4 33.2996 59 33.0996 58.4C32.9996 58.1 32.8996 57.9 32.8996 57.6V49.9H36.8996V49.7ZM25.4996 58V49.7H29.8996V58C29.8996 59.2 28.8996 60.1 27.6996 60.1C26.4996 60.2 25.4996 59.2 25.4996 58Z" fill="#CFD2D3"/>
|
<path d="M53.8545 64.0739H58.7135L56.6889 59.2148H51.9648L53.8545 64.0739Z" fill="#CFD2D3"/>
|
||||||
<path d="M39.9 49.6996H43.5L42 46.0996H38.5L39.9 49.6996Z" fill="#CFD2D3"/>
|
<path d="M34.8225 214.976H52.9089V210.117H30.5034V228.204L34.8225 226.584V214.976Z" fill="#CFD2D3"/>
|
||||||
<path d="M25.7996 161.5H39.1996V157.9H22.5996V171.3L25.7996 170.1V161.5Z" fill="#CFD2D3"/>
|
<path d="M48.4555 249.126V231.715L44.5413 233.199V248.991C44.5413 249.261 44.2713 249.531 44.0014 249.531H41.7068V235.359C41.7068 232.66 39.5473 230.5 36.7129 230.5H35.3631C32.6637 230.5 30.3691 232.66 30.3691 235.359V253.985H43.3265C46.2959 253.985 48.4555 251.826 48.4555 249.126ZM34.4183 249.531V235.629C34.4183 235.359 34.6883 235.089 34.9582 235.089H37.5227C37.7926 235.089 38.0626 235.359 38.0626 235.629V249.531H34.4183Z" fill="#CFD2D3"/>
|
||||||
<path d="M35.9 186.8V173.9L33 175V186.7C33 186.9 32.8 187.1 32.6 187.1H30.9V176.6C30.9 174.6 29.3 173 27.2 173H26.2C24.2 173 22.5 174.6 22.5 176.6V190.4H32.1C34.3 190.4 35.9 188.8 35.9 186.8ZM25.5 187.1V176.8C25.5 176.6 25.7 176.4 25.9 176.4H27.8C28 176.4 28.2 176.6 28.2 176.8V187.1H25.5Z" fill="#CFD2D3"/>
|
<path d="M48.4548 274.636V263.299H52.9089V263.164V258.305H30.5034V263.299V274.636C30.5034 277.336 32.663 279.495 35.4974 279.495H43.4608C46.2952 279.495 48.4548 277.336 48.4548 274.636ZM34.9575 274.636C34.6876 274.636 34.4176 274.366 34.4176 274.096V263.299H44.5406V274.096C44.5406 274.366 44.2706 274.636 44.0007 274.636H34.9575Z" fill="#CFD2D3"/>
|
||||||
<path d="M35.8996 205.7V197.3H39.1996V197.2V193.6H22.5996V197.3V205.7C22.5996 207.7 24.1996 209.3 26.2996 209.3H32.1996C34.2996 209.3 35.8996 207.7 35.8996 205.7ZM25.8996 205.7C25.6996 205.7 25.4996 205.5 25.4996 205.3V197.3H32.9996V205.3C32.9996 205.5 32.7996 205.7 32.5996 205.7H25.8996Z" fill="#CFD2D3"/>
|
<path d="M343.1 987.289V994.983L350.793 987.289H343.1Z" fill="#CFD2D3"/>
|
||||||
<path d="M254.199 733.699V739.399L259.899 733.699H254.199Z" fill="#CFD2D3"/>
|
|
||||||
</g>
|
|
||||||
<defs>
|
|
||||||
<clipPath id="clip0_4523_22675">
|
|
||||||
<rect width="732" height="760" fill="white"/>
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.6 KiB |
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"type": "filament",
|
"type": "filament",
|
||||||
"filament_id": "GFN00",
|
"filament_id": "GFN03",
|
||||||
"name": "Bambu PA-CF @base",
|
"name": "Bambu PA-CF @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"instantiation": "false",
|
"instantiation": "false",
|
||||||
|
@ -17,6 +17,9 @@
|
||||||
"nozzle_temperature_initial_layer": [
|
"nozzle_temperature_initial_layer": [
|
||||||
"280"
|
"280"
|
||||||
],
|
],
|
||||||
|
"filament_type": [
|
||||||
|
"PA-CF"
|
||||||
|
],
|
||||||
"nozzle_temperature": [
|
"nozzle_temperature": [
|
||||||
"280"
|
"280"
|
||||||
]
|
]
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"inherits": "Bambu PC @base",
|
"inherits": "Bambu PC @base",
|
||||||
"nozzle_temperature": [
|
"nozzle_temperature": [
|
||||||
"270"
|
"260"
|
||||||
],
|
],
|
||||||
"compatible_printers": [
|
"compatible_printers": [
|
||||||
"Bambu Lab X1 Carbon 0.8 nozzle"
|
"Bambu Lab X1 Carbon 0.8 nozzle"
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
"25.4"
|
"25.4"
|
||||||
],
|
],
|
||||||
"filament_flow_ratio": [
|
"filament_flow_ratio": [
|
||||||
"0.96"
|
"0.98"
|
||||||
],
|
],
|
||||||
"filament_density": [
|
"filament_density": [
|
||||||
"1.26"
|
"1.26"
|
||||||
|
|
|
@ -15,6 +15,6 @@
|
||||||
"1.32"
|
"1.32"
|
||||||
],
|
],
|
||||||
"filament_flow_ratio": [
|
"filament_flow_ratio": [
|
||||||
"0.95"
|
"0.98"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"type": "filament",
|
"type": "filament",
|
||||||
"filament_id": "GFU00",
|
"filament_id": "GFU01",
|
||||||
"name": "Bambu TPU 95A @base",
|
"name": "Bambu TPU 95A @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"instantiation": "false",
|
"instantiation": "false",
|
||||||
|
@ -13,5 +13,8 @@
|
||||||
],
|
],
|
||||||
"nozzle_temperature_initial_layer": [
|
"nozzle_temperature_initial_layer": [
|
||||||
"230"
|
"230"
|
||||||
|
],
|
||||||
|
"nozzle_temperature": [
|
||||||
|
"230"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
{
|
{
|
||||||
"type": "filament",
|
"type": "filament",
|
||||||
"filament_id": "GFN99",
|
"filament_id": "GFN98",
|
||||||
"setting_id": "GFSN99",
|
"setting_id": "GFSN99",
|
||||||
"name": "Generic PA-CF",
|
"name": "Generic PA-CF",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"inherits": "fdm_filament_pa",
|
"inherits": "fdm_filament_pa",
|
||||||
|
"filament_type": [
|
||||||
|
"PA-CF"
|
||||||
|
],
|
||||||
"nozzle_temperature_initial_layer": [
|
"nozzle_temperature_initial_layer": [
|
||||||
"280"
|
"280"
|
||||||
],
|
],
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"type": "filament",
|
"type": "filament",
|
||||||
"filament_id": "GFN98",
|
"filament_id": "GFN99",
|
||||||
"setting_id": "GFSN98",
|
"setting_id": "GFSN98",
|
||||||
"name": "Generic PA",
|
"name": "Generic PA",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
"40"
|
"40"
|
||||||
],
|
],
|
||||||
"slow_down_min_speed": [
|
"slow_down_min_speed": [
|
||||||
"40"
|
"20"
|
||||||
],
|
],
|
||||||
"slow_down_layer_time": [
|
"slow_down_layer_time": [
|
||||||
"8"
|
"8"
|
||||||
|
|
|
@ -9,6 +9,9 @@
|
||||||
"filament_flow_ratio": [
|
"filament_flow_ratio": [
|
||||||
"0.95"
|
"0.95"
|
||||||
],
|
],
|
||||||
|
"filament_type": [
|
||||||
|
"PLA-CF"
|
||||||
|
],
|
||||||
"filament_max_volumetric_speed": [
|
"filament_max_volumetric_speed": [
|
||||||
"12"
|
"12"
|
||||||
],
|
],
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
"instantiation": "true",
|
"instantiation": "true",
|
||||||
"inherits": "fdm_filament_pla",
|
"inherits": "fdm_filament_pla",
|
||||||
"filament_flow_ratio": [
|
"filament_flow_ratio": [
|
||||||
"0.95"
|
"0.98"
|
||||||
],
|
],
|
||||||
"filament_max_volumetric_speed": [
|
"filament_max_volumetric_speed": [
|
||||||
"12"
|
"12"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"type": "filament",
|
"type": "filament",
|
||||||
"filament_id": "GFR99",
|
"filament_id": "GFU99",
|
||||||
"setting_id": "GFSR99",
|
"setting_id": "GFSR99",
|
||||||
"name": "Generic TPU",
|
"name": "Generic TPU",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
|
@ -9,9 +9,6 @@
|
||||||
"filament_max_volumetric_speed": [
|
"filament_max_volumetric_speed": [
|
||||||
"3.2"
|
"3.2"
|
||||||
],
|
],
|
||||||
"filament_start_gcode": [
|
|
||||||
"; filament start gcode\n{if (bed_temperature[current_extruder] > 60)||(bed_temperature_initial_layer[current_extruder]>60)}M106 P3 S255\n{endif};Prevent PETG from jamming"
|
|
||||||
],
|
|
||||||
"compatible_printers": [
|
"compatible_printers": [
|
||||||
"Bambu Lab X1 Carbon 0.4 nozzle",
|
"Bambu Lab X1 Carbon 0.4 nozzle",
|
||||||
"Voron 2.4 250 0.4 nozzle",
|
"Voron 2.4 250 0.4 nozzle",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"type": "filament",
|
"type": "filament",
|
||||||
"filament_id": "GFL19",
|
"filament_id": "GFL00",
|
||||||
"name": "PolyLite PLA @base",
|
"name": "PolyLite PLA @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"instantiation": "false",
|
"instantiation": "false",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"type": "filament",
|
"type": "filament",
|
||||||
"filament_id": "GFL18",
|
"filament_id": "GFL01",
|
||||||
"name": "PolyTerra PLA @base",
|
"name": "PolyTerra PLA @base",
|
||||||
"from": "system",
|
"from": "system",
|
||||||
"instantiation": "false",
|
"instantiation": "false",
|
||||||
|
@ -15,6 +15,6 @@
|
||||||
"1.24"
|
"1.24"
|
||||||
],
|
],
|
||||||
"filament_flow_ratio": [
|
"filament_flow_ratio": [
|
||||||
"0.95"
|
"0.98"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
"25"
|
"25"
|
||||||
],
|
],
|
||||||
"filament_type": [
|
"filament_type": [
|
||||||
"PET"
|
"PETG"
|
||||||
],
|
],
|
||||||
"filament_density": [
|
"filament_density": [
|
||||||
"1.27"
|
"1.27"
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
"230"
|
"230"
|
||||||
],
|
],
|
||||||
"slow_down_min_speed": [
|
"slow_down_min_speed": [
|
||||||
"50"
|
"20"
|
||||||
],
|
],
|
||||||
"slow_down_layer_time": [
|
"slow_down_layer_time": [
|
||||||
"4"
|
"4"
|
||||||
|
|
|
@ -151,7 +151,7 @@
|
||||||
],
|
],
|
||||||
"silent_mode": "0",
|
"silent_mode": "0",
|
||||||
"single_extruder_multi_material": "1",
|
"single_extruder_multi_material": "1",
|
||||||
"change_filament_gcode": "M620 S[next_extruder]A\nM204 S9000\n{if toolchange_count > 1}\nG17\nG2 Z{max_layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F12000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\n{if old_filament_temp > 0 && next_extruder < 255}M109 S[old_filament_temp]{endif}\nG1 X90 F3000\nG1 Y250 F4000\nG1 X100 F5000\nG1 X120 F12000\n\nG1 X20 Y50 F12000\nG1 Y-3\n\n; always use highest temperature to flush\nM109 S[nozzle_temperature_range_high]\n\nT[next_extruder]\n\n{if next_extruder < 255}\nG1 X54 F12000\nG1 Y265\n\nM400\n\nG92 E0\n{if flush_length_1 > 1}\n; FLUSH_START\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{old_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{old_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{old_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{old_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{old_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n\nM109 S[new_filament_temp]\n\nM400\nM106 P1 S255\nM400 S3\nG1 X80 F15000\nG1 X60 F15000\nG1 X80 F15000\nG1 X60 F15000; shake to put down garbage\n\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z[z_after_toolchange] F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A",
|
"change_filament_gcode": "M620 S[next_extruder]A\nM204 S9000\n{if toolchange_count > 1}\nG17\nG2 Z{max_layer_z + 0.4} I0.86 J0.86 P1 F10000 ; spiral lift a little from second lift\n{endif}\nG1 Z{max_layer_z + 3.0} F1200\n\nG1 X70 F12000\nG1 Y245\nG1 Y265 F3000\nM400\nM106 P1 S0\n{if old_filament_temp > 0 && next_extruder < 255}M109 S[old_filament_temp]{endif}\nG1 X90 F3000\nG1 Y250 F4000\nG1 X100 F5000\nG1 X120 F12000\n\nG1 X20 Y50 F12000\nG1 Y-3\n\nT[next_extruder]\n\n; always use highest temperature to flush\nM400\nM109 S[nozzle_temperature_range_high]\n\n{if next_extruder < 255}\nG1 X54 F12000\nG1 Y265\n\nM400\n\nG92 E0\n{if flush_length_1 > 1}\n; FLUSH_START\n{if flush_length_1 > 23.7}\nG1 E23.7 F{old_filament_e_feedrate} ; do not need pulsatile flushing for start part\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{old_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\nG1 E{(flush_length_1 - 23.7) * 0.02} F50\nG1 E{(flush_length_1 - 23.7) * 0.23} F{new_filament_e_feedrate}\n{else}\nG1 E{flush_length_1} F{old_filament_e_feedrate}\n{endif}\n; FLUSH_END\nG1 E-[old_retract_length_toolchange] F1800\nG1 E[old_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_2 > 1}\n; FLUSH_START\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\nG1 E{flush_length_2 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_2 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_3 > 1}\n; FLUSH_START\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\nG1 E{flush_length_3 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_3 * 0.02} F50\n; FLUSH_END\nG1 E-[new_retract_length_toolchange] F1800\nG1 E[new_retract_length_toolchange] F300\n{endif}\n\n{if flush_length_4 > 1}\n; FLUSH_START\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\nG1 E{flush_length_4 * 0.18} F{new_filament_e_feedrate}\nG1 E{flush_length_4 * 0.02} F50\n; FLUSH_END\n{endif}\n\nM400\nM109 S[new_filament_temp]\n\nM400\nM106 P1 S255\nM400 S3\nG1 X80 F15000\nG1 X60 F15000\nG1 X80 F15000\nG1 X60 F15000; shake to put down garbage\n\nG92 E0\nG1 E-[new_retract_length_toolchange] F1800\n\nG1 X70 F5000\nG1 X90 F3000\nG1 Y255 F4000\nG1 X100 F5000\nG1 Y265 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X70 F10000\nG1 X100 F5000\nG1 X165 F15000; wipe and shake\nG1 Y256 ; move Y to aside, prevent collision\nM400\nG1 Z[z_after_toolchange] F3000\n{if layer_z <= (initial_layer_print_height + 0.001)}\nM204 S[initial_layer_acceleration]\n{else}\nM204 S[default_acceleration]\n{endif}\n{else}\nG1 X[x_after_toolchange] Y[y_after_toolchange] Z[z_after_toolchange] F12000\n{endif}\nM621 S[next_extruder]A",
|
||||||
"layer_change_gcode": "{if timelapse_no_toolhead}\nG92 E0\nG1 E-[retraction_length] F1800\nG1 X65 Y245 F12000 ; move to safe pos\nG1 Y265 F3000\nM400 P100\nM971 S11 C10 O0\nG92 E0\nG1 E[retraction_length] F300\nG1 X100 F5000\nG1 Y255\n{endif}",
|
"layer_change_gcode": "{if timelapse_no_toolhead}\nG92 E0\nG1 E-[retraction_length] F1800\nG1 X65 Y245 F12000 ; move to safe pos\nG1 Y265 F3000\nM400 P100\nM971 S11 C10 O0\nG92 E0\nG1 E[retraction_length] F300\nG1 X100 F5000\nG1 Y255\n{endif}",
|
||||||
"machine_pause_gcode": "M400 U1\n",
|
"machine_pause_gcode": "M400 U1\n",
|
||||||
"wipe": [
|
"wipe": [
|
||||||
|
|
|
@ -30,6 +30,6 @@
|
||||||
"travel_speed": "480",
|
"travel_speed": "480",
|
||||||
"overhang_1_4_speed": "0",
|
"overhang_1_4_speed": "0",
|
||||||
"overhang_2_4_speed": "50",
|
"overhang_2_4_speed": "50",
|
||||||
"overhang_3_4_speed": "35",
|
"overhang_3_4_speed": "15",
|
||||||
"overhang_4_4_speed": "10"
|
"overhang_4_4_speed": "10"
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
"internal_solid_infill_line_width": "0.8",
|
"internal_solid_infill_line_width": "0.8",
|
||||||
"support_line_width": "0.8",
|
"support_line_width": "0.8",
|
||||||
"top_surface_line_width": "0.8",
|
"top_surface_line_width": "0.8",
|
||||||
|
"top_surface_pattern": "monotonic",
|
||||||
"initial_layer_speed": "35",
|
"initial_layer_speed": "35",
|
||||||
"initial_layer_infill_speed": "55",
|
"initial_layer_infill_speed": "55",
|
||||||
"outer_wall_speed": "120",
|
"outer_wall_speed": "120",
|
||||||
|
|
|
@ -77,6 +77,7 @@
|
||||||
.PName
|
.PName
|
||||||
{
|
{
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pNozzel
|
.pNozzel
|
||||||
|
|
|
@ -59,13 +59,17 @@ function HandleModelList( pVal )
|
||||||
//Add Vendor Html Node
|
//Add Vendor Html Node
|
||||||
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
|
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
|
||||||
{
|
{
|
||||||
|
let sVV=strVendor;
|
||||||
|
if( sVV=="BBL" )
|
||||||
|
sVV="Bambu Lab";
|
||||||
|
|
||||||
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
|
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
|
||||||
'<div class="BlockBanner">'+
|
'<div class="BlockBanner">'+
|
||||||
' <div class="BannerBtns">'+
|
' <div class="BannerBtns">'+
|
||||||
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
||||||
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
||||||
' </div>'+
|
' </div>'+
|
||||||
' <a>Bambu Lab</a>'+
|
' <a>'+sVV+'</a>'+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
'<div class="PrinterArea"> '+
|
'<div class="PrinterArea"> '+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
|
|
|
@ -8,10 +8,11 @@
|
||||||
.CName
|
.CName
|
||||||
{
|
{
|
||||||
width:130px;
|
width:130px;
|
||||||
min-width: 80px;
|
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
white-space: nowrap;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CValues
|
.CValues
|
||||||
|
|
|
@ -8,10 +8,11 @@
|
||||||
.CName
|
.CName
|
||||||
{
|
{
|
||||||
width:130px;
|
width:130px;
|
||||||
min-width: 80px;
|
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
white-space: nowrap;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.CValues
|
.CValues
|
||||||
|
|
|
@ -99,6 +99,7 @@
|
||||||
.PName
|
.PName
|
||||||
{
|
{
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
text-align:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pNozzel
|
.pNozzel
|
||||||
|
|
|
@ -59,13 +59,17 @@ function HandleModelList( pVal )
|
||||||
//Add Vendor Html Node
|
//Add Vendor Html Node
|
||||||
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
|
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
|
||||||
{
|
{
|
||||||
|
let sVV=strVendor;
|
||||||
|
if( sVV=="BBL" )
|
||||||
|
sVV="Bambu Lab";
|
||||||
|
|
||||||
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
|
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
|
||||||
'<div class="BlockBanner">'+
|
'<div class="BlockBanner">'+
|
||||||
' <div class="BannerBtns">'+
|
' <div class="BannerBtns">'+
|
||||||
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
|
||||||
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
|
||||||
' </div>'+
|
' </div>'+
|
||||||
' <a>Bambu Lab</a>'+
|
' <a>'+sVV+'</a>'+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
'<div class="PrinterArea"> '+
|
'<div class="PrinterArea"> '+
|
||||||
'</div>'+
|
'</div>'+
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
|
|
||||||
#Content
|
#Content
|
||||||
{
|
{
|
||||||
padding:10% 15%;
|
padding:0% 15%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#FeatureText
|
#FeatureText
|
||||||
{
|
{
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
margin-top: 10mm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
font-family: "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
|
||||||
}
|
}
|
||||||
|
|
||||||
html,body
|
html,body
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
font-family: "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
|
||||||
}
|
}
|
||||||
|
|
||||||
html
|
html
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
padding:0px;
|
padding:0px;
|
||||||
border: 0px;
|
border: 0px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
font-size: 16px;
|
font-family: "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
|
||||||
}
|
}
|
||||||
|
|
||||||
html, body {
|
html, body {
|
||||||
|
@ -12,6 +12,7 @@ html, body {
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.RedFont
|
.RedFont
|
||||||
|
@ -71,6 +72,12 @@ body
|
||||||
cursor:pointer;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#LoginBtn:hover
|
||||||
|
{
|
||||||
|
font-size:17px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#NoPluginTip
|
#NoPluginTip
|
||||||
{
|
{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
@ -79,7 +86,7 @@ body
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
display: flex;
|
display: none;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
@ -212,7 +219,7 @@ body
|
||||||
|
|
||||||
.MenuItem
|
.MenuItem
|
||||||
{
|
{
|
||||||
border: 1px solid #4CAA50;
|
border: 1px solid #EEEEEE;
|
||||||
border-radius: 12px;
|
border-radius: 12px;
|
||||||
height: 101px;
|
height: 101px;
|
||||||
width: 253px;
|
width: 253px;
|
||||||
|
@ -226,6 +233,7 @@ body
|
||||||
|
|
||||||
.MenuItem:hover
|
.MenuItem:hover
|
||||||
{
|
{
|
||||||
|
border-color: #4CAA50;
|
||||||
background-color: #E0FCEB;
|
background-color: #E0FCEB;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -142,6 +142,35 @@
|
||||||
</body>
|
</body>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
//HandleStudio(TestData);
|
//HandleStudio(TestData);
|
||||||
|
document.onkeydown = function (event) {
|
||||||
|
var e = event || window.event || arguments.callee.caller.arguments[0];
|
||||||
|
|
||||||
|
if (e.shiftKey && e.ctrlKey)
|
||||||
|
OutputKey(e.keyCode, true, true, false);
|
||||||
|
else if (e.ctrlKey)
|
||||||
|
OutputKey(e.keyCode, true, false, false);
|
||||||
|
else if (e.keyCode === 27)
|
||||||
|
OutputKey(e.keyCode, false, false, false);
|
||||||
|
|
||||||
|
if (e.shiftKey && e.metaKey)
|
||||||
|
OutputKey(e.keyCode, false, true, true);
|
||||||
|
else if (e.metaKey)
|
||||||
|
OutputKey(e.keyCode, false, false, true);
|
||||||
|
else if (e.keyCode === 27)
|
||||||
|
OutputKey(e.keyCode, false, false, false);
|
||||||
|
|
||||||
|
if (window.event) {
|
||||||
|
try { e.keyCode = 0; } catch (e) { }
|
||||||
|
e.returnValue = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('mousewheel', function (event) {
|
||||||
|
if (event.ctrlKey === true || event.metaKey) {
|
||||||
|
event.preventDefault();
|
||||||
|
}
|
||||||
|
}, { passive: false });
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
||||||
|
|
|
@ -215,4 +215,16 @@ function BeginDownloadNetworkPlugin()
|
||||||
SendWXMessage( JSON.stringify(tSend) );
|
SendWXMessage( JSON.stringify(tSend) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function OutputKey(keyCode, isCtrlDown, isShiftDown, isCmdDown) {
|
||||||
|
var tSend = {};
|
||||||
|
tSend['sequence_id'] = Math.round(new Date() / 1000);
|
||||||
|
tSend['command'] = "get_web_shortcut";
|
||||||
|
tSend['key_event'] = {};
|
||||||
|
tSend['key_event']['key'] = keyCode;
|
||||||
|
tSend['key_event']['ctrl'] = isCtrlDown;
|
||||||
|
tSend['key_event']['shift'] = isShiftDown;
|
||||||
|
tSend['key_event']['cmd'] = isCmdDown;
|
||||||
|
|
||||||
|
SendWXMessage(JSON.stringify(tSend));
|
||||||
|
}
|
||||||
window.postMessage = HandleStudio;
|
window.postMessage = HandleStudio;
|
||||||
|
|
|
@ -189,7 +189,25 @@ int CLI::run(int argc, char **argv)
|
||||||
params.argv = argv;
|
params.argv = argv;
|
||||||
params.load_configs = load_configs;
|
params.load_configs = load_configs;
|
||||||
params.extra_config = std::move(m_extra_config);
|
params.extra_config = std::move(m_extra_config);
|
||||||
|
|
||||||
|
std::vector<std::string> gcode_files;
|
||||||
|
std::vector<std::string> non_gcode_files;
|
||||||
|
for (const auto& filename : m_input_files) {
|
||||||
|
if (is_gcode_file(filename))
|
||||||
|
gcode_files.emplace_back(filename);
|
||||||
|
else {
|
||||||
|
non_gcode_files.emplace_back(filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (non_gcode_files.empty() && !gcode_files.empty()) {
|
||||||
|
params.input_gcode = true;
|
||||||
|
params.input_files = std::move(gcode_files);
|
||||||
|
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ", gcode only, gcode_files size = "<<params.input_files.size();
|
||||||
|
}
|
||||||
|
else {
|
||||||
params.input_files = std::move(m_input_files);
|
params.input_files = std::move(m_input_files);
|
||||||
|
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ", normal mode, input_files size = "<<params.input_files.size();
|
||||||
|
}
|
||||||
//BBS: remove GCodeViewer as seperate APP logic
|
//BBS: remove GCodeViewer as seperate APP logic
|
||||||
//params.start_as_gcodeviewer = start_as_gcodeviewer;
|
//params.start_as_gcodeviewer = start_as_gcodeviewer;
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ namespace ImGui
|
||||||
const wchar_t FoldButtonIcon = 0x0814;
|
const wchar_t FoldButtonIcon = 0x0814;
|
||||||
const wchar_t UnfoldButtonIcon = 0x0815;
|
const wchar_t UnfoldButtonIcon = 0x0815;
|
||||||
const wchar_t SphereButtonIcon = 0x0816;
|
const wchar_t SphereButtonIcon = 0x0816;
|
||||||
const wchar_t FragmentFilterIcon = 0x0817;
|
const wchar_t GapFillIcon = 0x0817;
|
||||||
|
|
||||||
// void MyFunction(const char* name, const MyMatrix44& v);
|
// void MyFunction(const char* name, const MyMatrix44& v);
|
||||||
}
|
}
|
||||||
|
|
|
@ -204,6 +204,20 @@ public:
|
||||||
return Unit(width())*height();
|
return Unit(width())*height();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_Box intersection(_Box other) {
|
||||||
|
_Box inter;
|
||||||
|
inter.p1.x() = std::max(p1.x(), other.p1.x());
|
||||||
|
inter.p1.y() = std::max(p1.y(), other.p1.y());
|
||||||
|
inter.p2.x() = std::min(p2.x(), other.p2.x());
|
||||||
|
inter.p2.y() = std::min(p2.y(), other.p2.y());
|
||||||
|
inter.defined = true;
|
||||||
|
if (inter.p2.y() < inter.p1.y() || inter.p2.x() < inter.p1.x()) {
|
||||||
|
inter.p2 = inter.p1;
|
||||||
|
inter.defined = false;
|
||||||
|
}
|
||||||
|
return inter;
|
||||||
|
}
|
||||||
|
|
||||||
static inline _Box infinite(const P ¢er = {TCoord<P>(0), TCoord<P>(0)});
|
static inline _Box infinite(const P ¢er = {TCoord<P>(0), TCoord<P>(0)});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1083,9 +1083,13 @@ private:
|
||||||
auto d = cb - ci;
|
auto d = cb - ci;
|
||||||
|
|
||||||
// BBS TODO we assume the exclude region contains bottom left corner. If not, change the code below
|
// BBS TODO we assume the exclude region contains bottom left corner. If not, change the code below
|
||||||
if (!config_.m_excluded_regions.empty()) {
|
if (!config_.m_excluded_regions.empty()) { // do not move to left to much to avoid clash with excluded regions
|
||||||
d.x() = d.x() < 0 ? 0 : d.x();
|
if (d.x() < 0) {
|
||||||
d.y() = d.y() < 0 ? 0 : d.y();
|
d.x() = 0;// std::max(long(d.x()), long(bbin.maxCorner().x() - bb.maxCorner().x()));
|
||||||
|
}
|
||||||
|
if (d.y() < 0) {
|
||||||
|
d.y() = 0;// std::max(long(d.y()), long(bbin.maxCorner().y() - bb.maxCorner().y()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for(Item& item : items_)
|
for(Item& item : items_)
|
||||||
if (!item.is_virt_object)
|
if (!item.is_virt_object)
|
||||||
|
|
|
@ -44,6 +44,41 @@ static const std::string MODELS_STR = "models";
|
||||||
const std::string AppConfig::SECTION_FILAMENTS = "filaments";
|
const std::string AppConfig::SECTION_FILAMENTS = "filaments";
|
||||||
const std::string AppConfig::SECTION_MATERIALS = "sla_materials";
|
const std::string AppConfig::SECTION_MATERIALS = "sla_materials";
|
||||||
|
|
||||||
|
std::string AppConfig::get_langauge_code()
|
||||||
|
{
|
||||||
|
std::string get_lang = get("language");
|
||||||
|
if (get_lang.empty()) return "";
|
||||||
|
|
||||||
|
if (get_lang == "zh_CN")
|
||||||
|
{
|
||||||
|
get_lang = "zh-cn";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (get_lang.length() >= 2) { get_lang = get_lang.substr(0, 2); }
|
||||||
|
}
|
||||||
|
|
||||||
|
return get_lang;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string AppConfig::get_hms_host()
|
||||||
|
{
|
||||||
|
std::string sel = get("iot_environment");
|
||||||
|
std::string host = "";
|
||||||
|
#if !BBL_RELEASE_TO_PUBLIC
|
||||||
|
if (sel == ENV_DEV_HOST)
|
||||||
|
host = "e-dev.bambu-lab.com";
|
||||||
|
else if (sel == ENV_QAT_HOST)
|
||||||
|
host = "e-qa.bambu-lab.com";
|
||||||
|
else if (sel == ENV_PRE_HOST)
|
||||||
|
host = "e-pre.bambu-lab.com";
|
||||||
|
else if (sel == ENV_PRODUCT_HOST)
|
||||||
|
host = "e.bambulab.com";
|
||||||
|
return host;
|
||||||
|
#else
|
||||||
|
return "e.bambulab.com";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
void AppConfig::reset()
|
void AppConfig::reset()
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,6 +39,9 @@ public:
|
||||||
this->reset();
|
this->reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string get_langauge_code();
|
||||||
|
std::string get_hms_host();
|
||||||
|
|
||||||
// Clear and reset to defaults.
|
// Clear and reset to defaults.
|
||||||
void reset();
|
void reset();
|
||||||
// Override missing or keys with their defaults.
|
// Override missing or keys with their defaults.
|
||||||
|
|
|
@ -136,6 +136,25 @@ static double fixed_overfit(const std::tuple<double, Box>& result, const Box &bi
|
||||||
return score;
|
return score;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// useful for arranging big circle objects
|
||||||
|
static double fixed_overfit_topright_sliding(const std::tuple<double, Box>& result, const Box& binbb)
|
||||||
|
{
|
||||||
|
double score = std::get<0>(result);
|
||||||
|
Box pilebb = std::get<1>(result);
|
||||||
|
|
||||||
|
auto shift = binbb.maxCorner() - pilebb.maxCorner();
|
||||||
|
shift.x() = std::max(0, shift.x()); // do not allow left shift
|
||||||
|
shift.y() = std::max(0, shift.y()); // do not allow bottom shift
|
||||||
|
pilebb.minCorner() += shift;
|
||||||
|
pilebb.maxCorner() += shift;
|
||||||
|
|
||||||
|
Box fullbb = sl::boundingBox(pilebb, binbb);
|
||||||
|
auto diff = double(fullbb.area()) - binbb.area();
|
||||||
|
if (diff > 0) score += diff;
|
||||||
|
|
||||||
|
return score;
|
||||||
|
}
|
||||||
|
|
||||||
// A class encapsulating the libnest2d Nester class and extending it with other
|
// A class encapsulating the libnest2d Nester class and extending it with other
|
||||||
// management and spatial index structures for acceleration.
|
// management and spatial index structures for acceleration.
|
||||||
template<class TBin>
|
template<class TBin>
|
||||||
|
@ -503,8 +522,9 @@ public:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg.object_function = [this, bb, starting_point](const Item& item) {
|
cfg.object_function = [this, bb, starting_point](const Item& item) {
|
||||||
return fixed_overfit(objfunc(item, starting_point), bb);
|
return fixed_overfit_topright_sliding(objfunc(item, starting_point), bb);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -65,8 +65,7 @@ struct ArrangePolygon {
|
||||||
int itemid{ 0 }; // item id in the vector, used for accessing all possible params like extrude_id
|
int itemid{ 0 }; // item id in the vector, used for accessing all possible params like extrude_id
|
||||||
int is_applied{ 0 }; // transform has been applied
|
int is_applied{ 0 }; // transform has been applied
|
||||||
double height{ 0 }; // item height
|
double height{ 0 }; // item height
|
||||||
double auto_brim_width{ 0 }; // auto brim width
|
double brim_width{ 0 }; // brim width
|
||||||
double user_brim_width{ 0 }; // user defined brim width
|
|
||||||
std::string name;
|
std::string name;
|
||||||
|
|
||||||
// If empty, any rotation is allowed (currently unsupported)
|
// If empty, any rotation is allowed (currently unsupported)
|
||||||
|
|
|
@ -641,7 +641,7 @@ double getadhesionCoeff(const PrintObject* printObject)
|
||||||
for (auto iter = extrudersFirstLayer.begin(); iter != extrudersFirstLayer.end(); iter++)
|
for (auto iter = extrudersFirstLayer.begin(); iter != extrudersFirstLayer.end(); iter++)
|
||||||
if (modelVolume->extruder_id() == *iter) {
|
if (modelVolume->extruder_id() == *iter) {
|
||||||
if (Model::extruderParamsMap.find(modelVolume->extruder_id()) != Model::extruderParamsMap.end())
|
if (Model::extruderParamsMap.find(modelVolume->extruder_id()) != Model::extruderParamsMap.end())
|
||||||
if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PET") {
|
if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PETG") {
|
||||||
adhesionCoeff = 2;
|
adhesionCoeff = 2;
|
||||||
}
|
}
|
||||||
else if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "TPU") {
|
else if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "TPU") {
|
||||||
|
@ -806,7 +806,7 @@ double configBrimWidthByVolumes(double deltaT, double adhension, double maxSpeed
|
||||||
}
|
}
|
||||||
|
|
||||||
//BBS: config brimwidth by group of volumes
|
//BBS: config brimwidth by group of volumes
|
||||||
double configBrimWidthByVolumeGroups(double adhension, double maxSpeed, const std::vector<ModelVolume*> modelVolumePtrs, const ExPolygons& expolys)
|
double configBrimWidthByVolumeGroups(double adhension, double maxSpeed, const std::vector<ModelVolume*> modelVolumePtrs, const ExPolygons& expolys, double &groupHeight)
|
||||||
{
|
{
|
||||||
// height of a group of volumes
|
// height of a group of volumes
|
||||||
double height = 0;
|
double height = 0;
|
||||||
|
@ -824,7 +824,7 @@ double configBrimWidthByVolumeGroups(double adhension, double maxSpeed, const st
|
||||||
}
|
}
|
||||||
auto bbox_size = mergedBbx.size();
|
auto bbox_size = mergedBbx.size();
|
||||||
height = bbox_size(2);
|
height = bbox_size(2);
|
||||||
|
groupHeight = height;
|
||||||
// second moment of the expolygons of the first layer of the volume group
|
// second moment of the expolygons of the first layer of the volume group
|
||||||
double Ixx = -1.e30, Iyy = -1.e30;
|
double Ixx = -1.e30, Iyy = -1.e30;
|
||||||
if (!expolys.empty()) {
|
if (!expolys.empty()) {
|
||||||
|
@ -843,8 +843,8 @@ double configBrimWidthByVolumeGroups(double adhension, double maxSpeed, const st
|
||||||
double thermalLength = sqrt(bboxX * bboxX + bboxY * bboxY) * SCALING_FACTOR;
|
double thermalLength = sqrt(bboxX * bboxX + bboxY * bboxY) * SCALING_FACTOR;
|
||||||
double thermalLengthRef = Model::getThermalLength(modelVolumePtrs);
|
double thermalLengthRef = Model::getThermalLength(modelVolumePtrs);
|
||||||
|
|
||||||
double height_to_area = std::max(height / Ixx * (bbox2.size()(1) * SCALING_FACTOR), height / Iyy * (bbox2.size()(0) * SCALING_FACTOR));
|
double height_to_area = std::max(height / Ixx * (bbox2.size()(1) * SCALING_FACTOR), height / Iyy * (bbox2.size()(0) * SCALING_FACTOR)) * height / 1920;
|
||||||
double brim_width = adhension * std::min(std::min(std::max(height_to_area * maxSpeed / 24, thermalLength * 8. / thermalLengthRef * std::min(height, 30.) / 30.), 18.), 1.5 * thermalLength);
|
double brim_width = adhension * std::min(std::min(std::max(height_to_area * maxSpeed, thermalLength * 8. / thermalLengthRef * std::min(height, 30.) / 30.), 18.), 1.5 * thermalLength);
|
||||||
// small brims are omitted
|
// small brims are omitted
|
||||||
if (brim_width < 5 && brim_width < 1.5 * thermalLength)
|
if (brim_width < 5 && brim_width < 1.5 * thermalLength)
|
||||||
brim_width = 0;
|
brim_width = 0;
|
||||||
|
@ -915,17 +915,17 @@ static ExPolygons outer_inner_brim_area(const Print& print,
|
||||||
if (currentModelVolumePtr != nullptr) groupVolumePtrs.push_back(currentModelVolumePtr);
|
if (currentModelVolumePtr != nullptr) groupVolumePtrs.push_back(currentModelVolumePtr);
|
||||||
}
|
}
|
||||||
if (groupVolumePtrs.empty()) continue;
|
if (groupVolumePtrs.empty()) continue;
|
||||||
|
double groupHeight = 0.;
|
||||||
// config brim width in auto-brim mode
|
// config brim width in auto-brim mode
|
||||||
if (has_brim_auto) {
|
if (has_brim_auto) {
|
||||||
double brimWidthRaw = configBrimWidthByVolumeGroups(adhension, maxSpeed, groupVolumePtrs, volumeGroup.slices);
|
double brimWidthRaw = configBrimWidthByVolumeGroups(adhension, maxSpeed, groupVolumePtrs, volumeGroup.slices, groupHeight);
|
||||||
brim_width = scale_(floor(brimWidthRaw / flowWidth / 2) * flowWidth * 2);
|
brim_width = scale_(floor(brimWidthRaw / flowWidth / 2) * flowWidth * 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (const ExPolygon& ex_poly : volumeGroup.slices) {
|
for (const ExPolygon& ex_poly : volumeGroup.slices) {
|
||||||
// BBS: additional brim width will be added if part's adhension area is too small and brim is not generated
|
// BBS: additional brim width will be added if part's adhension area is too small and brim is not generated
|
||||||
float brim_width_mod;
|
float brim_width_mod;
|
||||||
if (brim_width < scale_(5.) && has_brim_auto) {
|
if (brim_width < scale_(5.) && has_brim_auto && groupHeight > 10.) {
|
||||||
brim_width_mod = ex_poly.area() / ex_poly.contour.length() < scaled_half_min_adh_length
|
brim_width_mod = ex_poly.area() / ex_poly.contour.length() < scaled_half_min_adh_length
|
||||||
&& brim_width < scaled_flow_width ? brim_width + scaled_additional_brim_width : brim_width;
|
&& brim_width < scaled_flow_width ? brim_width + scaled_additional_brim_width : brim_width;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3099,6 +3099,8 @@ void FillMonotonicLineWGapFill::fill_surface_extrusion(const Surface* surface, c
|
||||||
FillParams params2 = params;
|
FillParams params2 = params;
|
||||||
params2.monotonic = true;
|
params2.monotonic = true;
|
||||||
params2.anchor_length_max = 0.0f;
|
params2.anchor_length_max = 0.0f;
|
||||||
|
//BBS: always don't adjust the spacing of top surface infill
|
||||||
|
params2.dont_adjust = true;
|
||||||
|
|
||||||
//BBS: always use no overlap expolygons to avoid overflow in top surface
|
//BBS: always use no overlap expolygons to avoid overflow in top surface
|
||||||
for (const ExPolygon &rectilinear_area : this->no_overlap_expolygons) {
|
for (const ExPolygon &rectilinear_area : this->no_overlap_expolygons) {
|
||||||
|
@ -3188,14 +3190,14 @@ void FillMonotonicLineWGapFill::fill_surface_by_lines(const Surface* surface, co
|
||||||
std::pair<float, Point> rotate_vector = this->_infill_direction(surface);
|
std::pair<float, Point> rotate_vector = this->_infill_direction(surface);
|
||||||
|
|
||||||
assert(params.full_infill());
|
assert(params.full_infill());
|
||||||
coord_t line_spacing = coord_t(scale_(this->spacing));
|
coord_t line_spacing = params.flow.scaled_spacing();
|
||||||
|
|
||||||
// On the polygons of poly_with_offset, the infill lines will be connected.
|
// On the polygons of poly_with_offset, the infill lines will be connected.
|
||||||
ExPolygonWithOffset poly_with_offset(
|
ExPolygonWithOffset poly_with_offset(
|
||||||
surface->expolygon,
|
surface->expolygon,
|
||||||
- rotate_vector.first,
|
- rotate_vector.first,
|
||||||
float(scale_(0 - (0.5 - INFILL_OVERLAP_OVER_SPACING) * this->spacing)),
|
float(scale_(0 - (0.5 - INFILL_OVERLAP_OVER_SPACING) * params.flow.spacing())),
|
||||||
float(scale_(0 - 0.5f * this->spacing)));
|
float(scale_(0 - 0.5f * params.flow.spacing())));
|
||||||
if (poly_with_offset.n_contours_inner == 0) {
|
if (poly_with_offset.n_contours_inner == 0) {
|
||||||
// Not a single infill line fits.
|
// Not a single infill line fits.
|
||||||
//FIXME maybe one shall trigger the gap fill here?
|
//FIXME maybe one shall trigger the gap fill here?
|
||||||
|
@ -3205,9 +3207,18 @@ void FillMonotonicLineWGapFill::fill_surface_by_lines(const Surface* surface, co
|
||||||
BoundingBox bounding_box = poly_with_offset.bounding_box_src();
|
BoundingBox bounding_box = poly_with_offset.bounding_box_src();
|
||||||
|
|
||||||
// define flow spacing according to requested density
|
// define flow spacing according to requested density
|
||||||
assert(!params.dont_adjust);
|
if (params.full_infill() && !params.dont_adjust) {
|
||||||
line_spacing = this->_adjust_solid_spacing(bounding_box.size()(0), line_spacing);
|
line_spacing = this->_adjust_solid_spacing(bounding_box.size()(0), line_spacing);
|
||||||
this->spacing = unscale<double>(line_spacing);
|
this->spacing = unscale<double>(line_spacing);
|
||||||
|
} else {
|
||||||
|
// extend bounding box so that our pattern will be aligned with other layers
|
||||||
|
// Transform the reference point to the rotated coordinate system.
|
||||||
|
Point refpt = rotate_vector.second.rotated(-rotate_vector.first);
|
||||||
|
bounding_box.merge(align_to_grid(
|
||||||
|
bounding_box.min,
|
||||||
|
Point(line_spacing, line_spacing),
|
||||||
|
refpt));
|
||||||
|
}
|
||||||
|
|
||||||
// Intersect a set of euqally spaced vertical lines wiht expolygon.
|
// Intersect a set of euqally spaced vertical lines wiht expolygon.
|
||||||
size_t n_vlines = (bounding_box.max(0) - bounding_box.min(0) + line_spacing - 1) / line_spacing;
|
size_t n_vlines = (bounding_box.max(0) - bounding_box.min(0) + line_spacing - 1) / line_spacing;
|
||||||
|
|
|
@ -271,6 +271,105 @@ namespace Slic3r {
|
||||||
//! return same string
|
//! return same string
|
||||||
#define L(s) (s)
|
#define L(s) (s)
|
||||||
#define _(s) Slic3r::I18N::translate(s)
|
#define _(s) Slic3r::I18N::translate(s)
|
||||||
|
void XMLCALL PrusaFileParser::start_element_handler(void *userData, const char *name, const char **attributes)
|
||||||
|
{
|
||||||
|
PrusaFileParser *prusa_parser = (PrusaFileParser *) userData;
|
||||||
|
if (prusa_parser != nullptr) { prusa_parser->_start_element_handler(name, attributes); }
|
||||||
|
}
|
||||||
|
|
||||||
|
void XMLCALL PrusaFileParser::characters_handler(void *userData, const XML_Char *s, int len)
|
||||||
|
{
|
||||||
|
PrusaFileParser *prusa_parser = (PrusaFileParser *) userData;
|
||||||
|
if (prusa_parser != nullptr) { prusa_parser->_characters_handler(s, len); }
|
||||||
|
}
|
||||||
|
|
||||||
|
bool PrusaFileParser::check_3mf_from_prusa(const std::string filename)
|
||||||
|
{
|
||||||
|
mz_zip_archive archive;
|
||||||
|
mz_zip_zero_struct(&archive);
|
||||||
|
if (!open_zip_reader(&archive, filename)) {
|
||||||
|
// throw Slic3r::RuntimeError("Loading 3mf file failed.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string sub_relationship_file = "3D/_rels/3dmodel.model.rels";
|
||||||
|
int sub_index = mz_zip_reader_locate_file(&archive, sub_relationship_file.c_str(), nullptr, 0);
|
||||||
|
if (sub_index == -1) {
|
||||||
|
const std::string model_file = "3D/3dmodel.model";
|
||||||
|
int model_file_index = mz_zip_reader_locate_file(&archive, model_file.c_str(), nullptr, 0);
|
||||||
|
if (model_file_index != -1) {
|
||||||
|
int depth = 0;
|
||||||
|
m_parser = XML_ParserCreate(nullptr);
|
||||||
|
XML_SetUserData(m_parser, (void *) this);
|
||||||
|
XML_SetElementHandler(m_parser, start_element_handler, nullptr);
|
||||||
|
XML_SetCharacterDataHandler(m_parser, characters_handler);
|
||||||
|
|
||||||
|
mz_zip_archive_file_stat stat;
|
||||||
|
if (!mz_zip_reader_file_stat(&archive, model_file_index, &stat)) goto EXIT;
|
||||||
|
|
||||||
|
void *parser_buffer = XML_GetBuffer(m_parser, (int) stat.m_uncomp_size);
|
||||||
|
if (parser_buffer == nullptr) goto EXIT;
|
||||||
|
|
||||||
|
mz_bool res = mz_zip_reader_extract_file_to_mem(&archive, stat.m_filename, parser_buffer, (size_t) stat.m_uncomp_size, 0);
|
||||||
|
if (res == 0) goto EXIT;
|
||||||
|
|
||||||
|
XML_ParseBuffer(m_parser, (int) stat.m_uncomp_size, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
EXIT:
|
||||||
|
close_zip_reader(&archive);
|
||||||
|
return m_from_prusa;
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrusaFileParser::_characters_handler(const XML_Char *s, int len)
|
||||||
|
{
|
||||||
|
if (m_is_application_key) {
|
||||||
|
std::string str(s, len);
|
||||||
|
if (!str.empty() && str.find("PrusaSlicer") != std::string::npos) m_from_prusa = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void PrusaFileParser::_start_element_handler(const char *name, const char **attributes)
|
||||||
|
{
|
||||||
|
if (::strcmp(name, "metadata") == 0) {
|
||||||
|
unsigned int num_attributes = (unsigned int) XML_GetSpecifiedAttributeCount(m_parser);
|
||||||
|
|
||||||
|
std::string str_name = get_attribute_value_string(attributes, num_attributes, "name");
|
||||||
|
if (!str_name.empty() && str_name.find("Application") != std::string::npos) { m_is_application_key = true; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *PrusaFileParser::get_attribute_value_charptr(const char **attributes, unsigned int attributes_size, const char *attribute_key)
|
||||||
|
{
|
||||||
|
if ((attributes == nullptr) || (attributes_size == 0) || (attributes_size % 2 != 0) || (attribute_key == nullptr)) return nullptr;
|
||||||
|
|
||||||
|
for (unsigned int a = 0; a < attributes_size; a += 2) {
|
||||||
|
if (::strcmp(attributes[a], attribute_key) == 0) return attributes[a + 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string PrusaFileParser::get_attribute_value_string(const char **attributes, unsigned int attributes_size, const char *attribute_key)
|
||||||
|
{
|
||||||
|
const char *text = get_attribute_value_charptr(attributes, attributes_size, attribute_key);
|
||||||
|
return (text != nullptr) ? text : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
ModelVolumeType type_from_string(const std::string &s)
|
||||||
|
{
|
||||||
|
// Legacy support
|
||||||
|
if (s == "1") return ModelVolumeType::PARAMETER_MODIFIER;
|
||||||
|
// New type (supporting the support enforcers & blockers)
|
||||||
|
if (s == "ModelPart") return ModelVolumeType::MODEL_PART;
|
||||||
|
if (s == "NegativeVolume") return ModelVolumeType::NEGATIVE_VOLUME;
|
||||||
|
if (s == "ParameterModifier") return ModelVolumeType::PARAMETER_MODIFIER;
|
||||||
|
if (s == "SupportEnforcer") return ModelVolumeType::SUPPORT_ENFORCER;
|
||||||
|
if (s == "SupportBlocker") return ModelVolumeType::SUPPORT_BLOCKER;
|
||||||
|
// Default value if invalud type string received.
|
||||||
|
return ModelVolumeType::MODEL_PART;
|
||||||
|
}
|
||||||
|
|
||||||
// Base class with error messages management
|
// Base class with error messages management
|
||||||
class _3MF_Base
|
class _3MF_Base
|
||||||
|
@ -668,6 +767,7 @@ namespace Slic3r {
|
||||||
std::string name(stat.m_filename);
|
std::string name(stat.m_filename);
|
||||||
std::replace(name.begin(), name.end(), '\\', '/');
|
std::replace(name.begin(), name.end(), '\\', '/');
|
||||||
|
|
||||||
|
/*
|
||||||
if (boost::algorithm::iequals(name, LAYER_HEIGHTS_PROFILE_FILE)) {
|
if (boost::algorithm::iequals(name, LAYER_HEIGHTS_PROFILE_FILE)) {
|
||||||
// extract slic3r layer heights profile file
|
// extract slic3r layer heights profile file
|
||||||
_extract_layer_heights_profile_config_from_archive(archive, stat);
|
_extract_layer_heights_profile_config_from_archive(archive, stat);
|
||||||
|
@ -692,7 +792,9 @@ namespace Slic3r {
|
||||||
// extract slic3r layer config ranges file
|
// extract slic3r layer config ranges file
|
||||||
_extract_custom_gcode_per_print_z_from_archive(archive, stat);
|
_extract_custom_gcode_per_print_z_from_archive(archive, stat);
|
||||||
}
|
}
|
||||||
else if (boost::algorithm::iequals(name, MODEL_CONFIG_FILE)) {
|
*/
|
||||||
|
// only read the model config for Prusa 3mf
|
||||||
|
if (boost::algorithm::iequals(name, MODEL_CONFIG_FILE)) {
|
||||||
// extract slic3r model config file
|
// extract slic3r model config file
|
||||||
if (!_extract_model_config_from_archive(archive, stat, model)) {
|
if (!_extract_model_config_from_archive(archive, stat, model)) {
|
||||||
close_zip_reader(&archive);
|
close_zip_reader(&archive);
|
||||||
|
@ -1913,6 +2015,27 @@ namespace Slic3r {
|
||||||
std::string key = get_attribute_value_string(attributes, num_attributes, KEY_ATTR);
|
std::string key = get_attribute_value_string(attributes, num_attributes, KEY_ATTR);
|
||||||
std::string value = get_attribute_value_string(attributes, num_attributes, VALUE_ATTR);
|
std::string value = get_attribute_value_string(attributes, num_attributes, VALUE_ATTR);
|
||||||
|
|
||||||
|
// filter the prusa model config keys
|
||||||
|
std::vector<std::string> valid_keys = {
|
||||||
|
"name",
|
||||||
|
"volume_type",
|
||||||
|
"matrix",
|
||||||
|
"source_file",
|
||||||
|
"source_object_id",
|
||||||
|
"source_volume_id",
|
||||||
|
"source_offset_x",
|
||||||
|
"source_offset_y",
|
||||||
|
"source_offset_z",
|
||||||
|
"extruder",
|
||||||
|
"modifier"
|
||||||
|
};
|
||||||
|
|
||||||
|
auto itor = std::find(valid_keys.begin(), valid_keys.end(), key);
|
||||||
|
if (itor == valid_keys.end()) {
|
||||||
|
// do nothing if not valid keys
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
if (type == OBJECT_TYPE)
|
if (type == OBJECT_TYPE)
|
||||||
object->second.metadata.emplace_back(key, value);
|
object->second.metadata.emplace_back(key, value);
|
||||||
else if (type == VOLUME_TYPE) {
|
else if (type == VOLUME_TYPE) {
|
||||||
|
@ -2044,7 +2167,7 @@ namespace Slic3r {
|
||||||
else if ((metadata.key == MODIFIER_KEY) && (metadata.value == "1"))
|
else if ((metadata.key == MODIFIER_KEY) && (metadata.value == "1"))
|
||||||
volume->set_type(ModelVolumeType::PARAMETER_MODIFIER);
|
volume->set_type(ModelVolumeType::PARAMETER_MODIFIER);
|
||||||
else if (metadata.key == VOLUME_TYPE_KEY)
|
else if (metadata.key == VOLUME_TYPE_KEY)
|
||||||
volume->set_type(ModelVolume::type_from_string(metadata.value));
|
volume->set_type(type_from_string(metadata.value));
|
||||||
else if (metadata.key == SOURCE_FILE_KEY)
|
else if (metadata.key == SOURCE_FILE_KEY)
|
||||||
volume->source.input_file = metadata.value;
|
volume->source.input_file = metadata.value;
|
||||||
else if (metadata.key == SOURCE_OBJECT_ID_KEY)
|
else if (metadata.key == SOURCE_OBJECT_ID_KEY)
|
||||||
|
|
|
@ -1,7 +1,30 @@
|
||||||
#ifndef slic3r_Format_3mf_hpp_
|
#ifndef slic3r_Format_3mf_hpp_
|
||||||
#define slic3r_Format_3mf_hpp_
|
#define slic3r_Format_3mf_hpp_
|
||||||
|
#include "../expat.h"
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
|
// PrusaFileParser is used to check 3mf file is from Prusa
|
||||||
|
class PrusaFileParser
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
PrusaFileParser() {}
|
||||||
|
~PrusaFileParser() {}
|
||||||
|
|
||||||
|
bool check_3mf_from_prusa(const std::string filename);
|
||||||
|
void _start_element_handler(const char *name, const char **attributes);
|
||||||
|
void _characters_handler(const XML_Char *s, int len);
|
||||||
|
|
||||||
|
private:
|
||||||
|
const char *get_attribute_value_charptr(const char **attributes, unsigned int attributes_size, const char *attribute_key);
|
||||||
|
std::string get_attribute_value_string(const char **attributes, unsigned int attributes_size, const char *attribute_key);
|
||||||
|
|
||||||
|
static void XMLCALL start_element_handler(void *userData, const char *name, const char **attributes);
|
||||||
|
static void XMLCALL characters_handler(void *userData, const XML_Char *s, int len);
|
||||||
|
private:
|
||||||
|
bool m_from_prusa = false;
|
||||||
|
bool m_is_application_key = false;
|
||||||
|
XML_Parser m_parser;
|
||||||
|
};
|
||||||
|
|
||||||
/* The format for saving the SLA points was changing in the past. This enum holds the latest version that is being currently used.
|
/* The format for saving the SLA points was changing in the past. This enum holds the latest version that is being currently used.
|
||||||
* Examples of the Slic3r_PE_sla_support_points.txt for historically used versions:
|
* Examples of the Slic3r_PE_sla_support_points.txt for historically used versions:
|
||||||
|
|
|
@ -3755,7 +3755,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
||||||
bool _add_project_config_file_to_archive(mz_zip_archive& archive, const DynamicPrintConfig &config, Model& model);
|
bool _add_project_config_file_to_archive(mz_zip_archive& archive, const DynamicPrintConfig &config, Model& model);
|
||||||
//BBS: add project embedded preset files
|
//BBS: add project embedded preset files
|
||||||
bool _add_project_embedded_presets_to_archive(mz_zip_archive& archive, Model& model, std::vector<Preset*> project_presets);
|
bool _add_project_embedded_presets_to_archive(mz_zip_archive& archive, Model& model, std::vector<Preset*> project_presets);
|
||||||
bool _add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const IdToObjectDataMap &objects_data, int export_plate_idx = -1);
|
bool _add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const IdToObjectDataMap &objects_data, int export_plate_idx = -1, bool save_gcode = true);
|
||||||
bool _add_slice_info_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list);
|
bool _add_slice_info_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list);
|
||||||
bool _add_gcode_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, Export3mfProgressFn proFn = nullptr);
|
bool _add_gcode_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, Export3mfProgressFn proFn = nullptr);
|
||||||
bool _add_custom_gcode_per_print_z_file_to_archive(mz_zip_archive& archive, Model& model, const DynamicPrintConfig* config);
|
bool _add_custom_gcode_per_print_z_file_to_archive(mz_zip_archive& archive, Model& model, const DynamicPrintConfig* config);
|
||||||
|
@ -4093,7 +4093,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
||||||
// This file contains all the attributes of all ModelObjects and their ModelVolumes (names, parameter overrides).
|
// This file contains all the attributes of all ModelObjects and their ModelVolumes (names, parameter overrides).
|
||||||
// As there is just a single Indexed Triangle Set data stored per ModelObject, offsets of volumes into their respective Indexed Triangle Set data
|
// As there is just a single Indexed Triangle Set data stored per ModelObject, offsets of volumes into their respective Indexed Triangle Set data
|
||||||
// is stored here as well.
|
// is stored here as well.
|
||||||
if (!_add_model_config_file_to_archive(archive, model, plate_data_list, objects_data, export_plate_idx)) {
|
if (!_add_model_config_file_to_archive(archive, model, plate_data_list, objects_data, export_plate_idx, m_save_gcode)) {
|
||||||
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ":" << __LINE__ << boost::format(", _add_model_config_file_to_archive failed\n");
|
BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << ":" << __LINE__ << boost::format(", _add_model_config_file_to_archive failed\n");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -4414,13 +4414,13 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
||||||
region_code = project->project_country_code;
|
region_code = project->project_country_code;
|
||||||
}
|
}
|
||||||
|
|
||||||
stream << " <" << METADATA_TAG << " name=\"" << BBL_MODEL_NAME_TAG << "\">" << name << "</" << METADATA_TAG << ">\n";
|
stream << " <" << METADATA_TAG << " name=\"" << BBL_MODEL_NAME_TAG << "\">" << xml_escape(name) << "</" << METADATA_TAG << ">\n";
|
||||||
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESIGNER_TAG << "\">" << user_name << "</" << METADATA_TAG << ">\n";
|
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESIGNER_TAG << "\">" << xml_escape(user_name) << "</" << METADATA_TAG << ">\n";
|
||||||
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESIGNER_USER_ID_TAG << "\">" << user_id << "</" << METADATA_TAG << ">\n";
|
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESIGNER_USER_ID_TAG << "\">" << user_id << "</" << METADATA_TAG << ">\n";
|
||||||
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESIGNER_COVER_FILE_TAG << "\">" << design_cover << "</" << METADATA_TAG << ">\n";
|
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESIGNER_COVER_FILE_TAG << "\">" << xml_escape(design_cover) << "</" << METADATA_TAG << ">\n";
|
||||||
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESCRIPTION_TAG << "\">" << description << "</" << METADATA_TAG << ">\n";
|
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESCRIPTION_TAG << "\">" << xml_escape(description) << "</" << METADATA_TAG << ">\n";
|
||||||
stream << " <" << METADATA_TAG << " name=\"" << BBL_COPYRIGHT_TAG << "\">" << copyright << "</" << METADATA_TAG << ">\n";
|
stream << " <" << METADATA_TAG << " name=\"" << BBL_COPYRIGHT_TAG << "\">" << xml_escape(copyright) << "</" << METADATA_TAG << ">\n";
|
||||||
stream << " <" << METADATA_TAG << " name=\"" << BBL_LICENSE_TAG << "\">" << license << "</" << METADATA_TAG << ">\n";
|
stream << " <" << METADATA_TAG << " name=\"" << BBL_LICENSE_TAG << "\">" << xml_escape(license) << "</" << METADATA_TAG << ">\n";
|
||||||
|
|
||||||
/* save model info */
|
/* save model info */
|
||||||
if (!model_id.empty()) {
|
if (!model_id.empty()) {
|
||||||
|
@ -5199,7 +5199,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool _BBS_3MF_Exporter::_add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const IdToObjectDataMap &objects_data, int export_plate_idx)
|
bool _BBS_3MF_Exporter::_add_model_config_file_to_archive(mz_zip_archive& archive, const Model& model, PlateDataPtrs& plate_data_list, const IdToObjectDataMap &objects_data, int export_plate_idx, bool save_gcode)
|
||||||
{
|
{
|
||||||
std::stringstream stream;
|
std::stringstream stream;
|
||||||
// Store mesh transformation in full precision, as the volumes are stored transformed and they need to be transformed back
|
// Store mesh transformation in full precision, as the volumes are stored transformed and they need to be transformed back
|
||||||
|
@ -5324,7 +5324,8 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
||||||
//plate index
|
//plate index
|
||||||
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << PLATERID_ATTR << "\" " << VALUE_ATTR << "=\"" << plate_data->plate_index + 1 << "\"/>\n";
|
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << PLATERID_ATTR << "\" " << VALUE_ATTR << "=\"" << plate_data->plate_index + 1 << "\"/>\n";
|
||||||
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << LOCK_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha<< plate_data->locked<< "\"/>\n";
|
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << LOCK_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha<< plate_data->locked<< "\"/>\n";
|
||||||
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << GCODE_FILE_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha << plate_data->gcode_file << "\"/>\n";
|
if (save_gcode)
|
||||||
|
stream << " <" << METADATA_TAG << " " << KEY_ATTR << "=\"" << GCODE_FILE_ATTR << "\" " << VALUE_ATTR << "=\"" << std::boolalpha << xml_escape(plate_data->gcode_file) << "\"/>\n";
|
||||||
if (!plate_data->gcode_file.empty()) {
|
if (!plate_data->gcode_file.empty()) {
|
||||||
gcode_paths.push_back(plate_data->gcode_file);
|
gcode_paths.push_back(plate_data->gcode_file);
|
||||||
}
|
}
|
||||||
|
@ -5363,7 +5364,9 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
|
||||||
stream << " </" << PLATE_TAG << ">\n";
|
stream << " </" << PLATE_TAG << ">\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// write model rels
|
// write model rels
|
||||||
|
if (save_gcode)
|
||||||
_add_relationships_file_to_archive(archive, BBS_MODEL_CONFIG_RELS_FILE, gcode_paths, {"http://schemas.bambulab.com/package/2021/gcode"}, Slic3r::PackingTemporaryData(), export_plate_idx);
|
_add_relationships_file_to_archive(archive, BBS_MODEL_CONFIG_RELS_FILE, gcode_paths, {"http://schemas.bambulab.com/package/2021/gcode"}, Slic3r::PackingTemporaryData(), export_plate_idx);
|
||||||
|
|
||||||
//BBS: store assemble related info
|
//BBS: store assemble related info
|
||||||
|
|
|
@ -344,7 +344,9 @@ bool GCode::gcode_label_objects = false;
|
||||||
float purge_length = purge_volume / filament_area;
|
float purge_length = purge_volume / filament_area;
|
||||||
|
|
||||||
int old_filament_e_feedrate = gcode_writer.extruder() != nullptr ? (int)(60.0 * full_config.filament_max_volumetric_speed.get_at(previous_extruder_id) / filament_area) : 200;
|
int old_filament_e_feedrate = gcode_writer.extruder() != nullptr ? (int)(60.0 * full_config.filament_max_volumetric_speed.get_at(previous_extruder_id) / filament_area) : 200;
|
||||||
|
old_filament_e_feedrate = old_filament_e_feedrate == 0 ? 100 : old_filament_e_feedrate;
|
||||||
int new_filament_e_feedrate = (int)(60.0 * full_config.filament_max_volumetric_speed.get_at(new_extruder_id) / filament_area);
|
int new_filament_e_feedrate = (int)(60.0 * full_config.filament_max_volumetric_speed.get_at(new_extruder_id) / filament_area);
|
||||||
|
new_filament_e_feedrate = new_filament_e_feedrate == 0 ? 100 : new_filament_e_feedrate;
|
||||||
|
|
||||||
config.set_key_value("max_layer_z", new ConfigOptionFloat(gcodegen.m_max_layer_z));
|
config.set_key_value("max_layer_z", new ConfigOptionFloat(gcodegen.m_max_layer_z));
|
||||||
config.set_key_value("relative_e_axis", new ConfigOptionBool(RELATIVE_E_AXIS));
|
config.set_key_value("relative_e_axis", new ConfigOptionBool(RELATIVE_E_AXIS));
|
||||||
|
@ -3923,6 +3925,7 @@ std::string GCode::set_extruder(unsigned int extruder_id, double print_z)
|
||||||
old_filament_temp = m_config.nozzle_temperature.get_at(previous_extruder_id);
|
old_filament_temp = m_config.nozzle_temperature.get_at(previous_extruder_id);
|
||||||
wipe_volume = flush_matrix[previous_extruder_id * number_of_extruders + extruder_id];
|
wipe_volume = flush_matrix[previous_extruder_id * number_of_extruders + extruder_id];
|
||||||
old_filament_e_feedrate = (int)(60.0 * m_config.filament_max_volumetric_speed.get_at(previous_extruder_id) / filament_area);
|
old_filament_e_feedrate = (int)(60.0 * m_config.filament_max_volumetric_speed.get_at(previous_extruder_id) / filament_area);
|
||||||
|
old_filament_e_feedrate = old_filament_e_feedrate == 0 ? 100 : old_filament_e_feedrate;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
old_retract_length = 0.f;
|
old_retract_length = 0.f;
|
||||||
|
@ -3933,6 +3936,7 @@ std::string GCode::set_extruder(unsigned int extruder_id, double print_z)
|
||||||
}
|
}
|
||||||
float wipe_length = wipe_volume / filament_area;
|
float wipe_length = wipe_volume / filament_area;
|
||||||
int new_filament_e_feedrate = (int)(60.0 * m_config.filament_max_volumetric_speed.get_at(extruder_id) / filament_area);
|
int new_filament_e_feedrate = (int)(60.0 * m_config.filament_max_volumetric_speed.get_at(extruder_id) / filament_area);
|
||||||
|
new_filament_e_feedrate = new_filament_e_feedrate == 0 ? 100 : new_filament_e_feedrate;
|
||||||
|
|
||||||
DynamicConfig dyn_config;
|
DynamicConfig dyn_config;
|
||||||
dyn_config.set_key_value("previous_extruder", new ConfigOptionInt((int)(m_writer.extruder() != nullptr ? m_writer.extruder()->id() : -1)));
|
dyn_config.set_key_value("previous_extruder", new ConfigOptionInt((int)(m_writer.extruder() != nullptr ? m_writer.extruder()->id() : -1)));
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
|
|
||||||
// BBS: for segment
|
// BBS: for segment
|
||||||
#include "MeshBoolean.hpp"
|
#include "MeshBoolean.hpp"
|
||||||
|
#include "Format/3mf.hpp"
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
// BBS initialization of static variables
|
// BBS initialization of static variables
|
||||||
|
@ -202,7 +203,7 @@ Model Model::read_from_file(const std::string& input_file, DynamicPrintConfig* c
|
||||||
//BBS: add part plate related logic
|
//BBS: add part plate related logic
|
||||||
// BBS: backup & restore
|
// BBS: backup & restore
|
||||||
// Loading model from a file (3MF or AMF), not from a simple geometry file (STL or OBJ).
|
// Loading model from a file (3MF or AMF), not from a simple geometry file (STL or OBJ).
|
||||||
Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, LoadStrategy options, PlateDataPtrs* plate_data, std::vector<Preset*>* project_presets, bool *is_bbl_3mf, Semver* file_version, Import3mfProgressFn proFn, BBLProject *project)
|
Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, En3mfType& out_file_type, LoadStrategy options, PlateDataPtrs* plate_data, std::vector<Preset*>* project_presets, Semver* file_version, Import3mfProgressFn proFn, BBLProject *project)
|
||||||
{
|
{
|
||||||
assert(config != nullptr);
|
assert(config != nullptr);
|
||||||
assert(config_substitutions != nullptr);
|
assert(config_substitutions != nullptr);
|
||||||
|
@ -210,15 +211,28 @@ Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig
|
||||||
Model model;
|
Model model;
|
||||||
|
|
||||||
bool result = false;
|
bool result = false;
|
||||||
if (boost::algorithm::iends_with(input_file, ".3mf"))
|
bool is_bbl_3mf;
|
||||||
|
if (boost::algorithm::iends_with(input_file, ".3mf")) {
|
||||||
|
PrusaFileParser prusa_file_parser;
|
||||||
|
if (prusa_file_parser.check_3mf_from_prusa(input_file)) {
|
||||||
|
// for Prusa 3mf
|
||||||
|
result = load_3mf(input_file.c_str(), *config, *config_substitutions, &model, true);
|
||||||
|
out_file_type = En3mfType::From_Prusa;
|
||||||
|
} else {
|
||||||
// BBS: add part plate related logic
|
// BBS: add part plate related logic
|
||||||
// BBS: backup & restore
|
// BBS: backup & restore
|
||||||
result = load_bbs_3mf(input_file.c_str(), config, config_substitutions, &model, plate_data, project_presets, is_bbl_3mf, file_version, proFn, options, project);
|
result = load_bbs_3mf(input_file.c_str(), config, config_substitutions, &model, plate_data, project_presets, &is_bbl_3mf, file_version, proFn, options, project);
|
||||||
|
}
|
||||||
|
}
|
||||||
else if (boost::algorithm::iends_with(input_file, ".zip.amf"))
|
else if (boost::algorithm::iends_with(input_file, ".zip.amf"))
|
||||||
result = load_amf(input_file.c_str(), config, config_substitutions, &model, is_bbl_3mf);
|
result = load_amf(input_file.c_str(), config, config_substitutions, &model, &is_bbl_3mf);
|
||||||
else
|
else
|
||||||
throw Slic3r::RuntimeError("Unknown file format. Input file must have .3mf or .zip.amf extension.");
|
throw Slic3r::RuntimeError("Unknown file format. Input file must have .3mf or .zip.amf extension.");
|
||||||
|
|
||||||
|
if (out_file_type != En3mfType::From_Prusa) {
|
||||||
|
out_file_type = is_bbl_3mf ? En3mfType::From_BBS : En3mfType::From_Other;
|
||||||
|
}
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
throw Slic3r::RuntimeError("Loading of a model file failed.");
|
throw Slic3r::RuntimeError("Loading of a model file failed.");
|
||||||
|
|
||||||
|
@ -2837,7 +2851,7 @@ double getadhesionCoeff(const ModelVolumePtrs objectVolumes)
|
||||||
double adhesionCoeff = 1;
|
double adhesionCoeff = 1;
|
||||||
for (const ModelVolume* modelVolume : objectVolumes) {
|
for (const ModelVolume* modelVolume : objectVolumes) {
|
||||||
if (Model::extruderParamsMap.find(modelVolume->extruder_id()) != Model::extruderParamsMap.end())
|
if (Model::extruderParamsMap.find(modelVolume->extruder_id()) != Model::extruderParamsMap.end())
|
||||||
if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PET") {
|
if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "PETG") {
|
||||||
adhesionCoeff = 2;
|
adhesionCoeff = 2;
|
||||||
}
|
}
|
||||||
else if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "TPU") {
|
else if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "TPU") {
|
||||||
|
@ -2871,6 +2885,14 @@ double getTemperatureFromExtruder(const ModelVolumePtrs objectVolumes) {
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
double ModelInstance::get_auto_brim_width() const
|
||||||
|
{
|
||||||
|
double adhcoeff = getadhesionCoeff(object->volumes);
|
||||||
|
double DeltaT = getTemperatureFromExtruder(object->volumes);
|
||||||
|
// get auto brim width (Note even if the global brim_type=btOuterBrim, we can still go into this branch)
|
||||||
|
return get_auto_brim_width(DeltaT, adhcoeff);
|
||||||
|
}
|
||||||
|
|
||||||
void ModelInstance::get_arrange_polygon(void* ap) const
|
void ModelInstance::get_arrange_polygon(void* ap) const
|
||||||
{
|
{
|
||||||
// static const double SIMPLIFY_TOLERANCE_MM = 0.1;
|
// static const double SIMPLIFY_TOLERANCE_MM = 0.1;
|
||||||
|
@ -2910,18 +2932,6 @@ void ModelInstance::get_arrange_polygon(void* ap) const
|
||||||
ret.extrude_ids = volume->get_extruders();
|
ret.extrude_ids = volume->get_extruders();
|
||||||
if (ret.extrude_ids.empty()) //the default extruder
|
if (ret.extrude_ids.empty()) //the default extruder
|
||||||
ret.extrude_ids.push_back(1);
|
ret.extrude_ids.push_back(1);
|
||||||
|
|
||||||
// get user specified brim width per object
|
|
||||||
// Note: if global brim_type=btNoBrim or brAutoBrim, user can't set individual brim_width
|
|
||||||
if (object->config.has("brim_width"))
|
|
||||||
ret.user_brim_width = object->config.opt_float("brim_width");
|
|
||||||
else {
|
|
||||||
// BBS: get DeltaT, adhcoeff before calculating brim width
|
|
||||||
double adhcoeff = getadhesionCoeff(object->volumes);
|
|
||||||
double DeltaT = getTemperatureFromExtruder(object->volumes);
|
|
||||||
// get auto brim width (Note even if the global brim_type=btOuterBrim, we can still go into this branch)
|
|
||||||
ret.auto_brim_width = get_auto_brim_width(DeltaT, adhcoeff);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
indexed_triangle_set FacetsAnnotation::get_facets(const ModelVolume& mv, EnforcerBlockerType type) const
|
indexed_triangle_set FacetsAnnotation::get_facets(const ModelVolume& mv, EnforcerBlockerType type) const
|
||||||
|
|