Merge branch 'master' into SoftFever

This commit is contained in:
SoftFever 2022-08-11 20:06:32 +08:00
commit 159ff850e4
256 changed files with 14986 additions and 4365 deletions

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -57,7 +57,7 @@ msgstr ""
msgid "Perform"
msgstr ""
msgid "Fragment area"
msgid "Gap area"
msgstr ""
msgid "Set pen size"
@ -126,9 +126,6 @@ msgstr ""
msgid "Edge detection"
msgstr ""
msgid "Clear all"
msgstr ""
msgid "Triangles"
msgstr ""
@ -339,19 +336,34 @@ msgstr ""
msgid "Perform Recognition"
msgstr ""
msgid "Cube"
msgid "Reset direction"
msgstr ""
msgid "Cylinder"
msgid "Brush size"
msgstr ""
msgid "Cone"
msgid "Brush shape"
msgstr ""
msgid "Timelapse Wipe Tower"
msgid "Enforce seam"
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 ""
msgid "Notice"
@ -416,11 +428,14 @@ msgstr ""
msgid "BambuStudio got an unhandled exception: %1%"
msgstr ""
msgid "Downloading Bambu Network plug-in"
msgid "Downloading Bambu Network Plug-in"
msgstr ""
msgid "Incorrect password"
msgstr ""
#, possible-c-format, possible-boost-format
msgid "Connect %s[SN:%s] failed!"
msgid "Connect %s failed! [SN:%s, code=%s]"
msgstr ""
msgid ""
@ -474,6 +489,23 @@ msgstr ""
msgid "Choose one file (gcode/.gco/.g/.ngc/ngc):"
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 ""
"The version of Bambu studio is too low and needs to be updated to the latest "
"version before it can be used normally"
@ -500,12 +532,6 @@ msgstr ""
msgid "*"
msgstr ""
msgid "G-code files can not be loaded with models together!"
msgstr ""
msgid "G-code loading"
msgstr ""
msgid "Select a G-code file:"
msgstr ""
@ -594,6 +620,18 @@ msgstr ""
msgid "Load..."
msgstr ""
msgid "Cube"
msgstr ""
msgid "Cylinder"
msgstr ""
msgid "Cone"
msgstr ""
msgid "Timelapse Wipe Tower"
msgstr ""
msgid "Add settings"
msgstr ""
@ -790,6 +828,9 @@ msgstr ""
msgid "Name"
msgstr ""
msgid "Fila."
msgstr ""
#, possible-c-format, possible-boost-format
msgid "%1$d error repaired"
msgid_plural "%1$d errors repaired"
@ -841,6 +882,9 @@ msgstr ""
msgid "Generic"
msgstr ""
msgid "Add Modifier"
msgstr ""
msgid "Deleting the last solid part is not allowed."
msgstr ""
@ -1053,6 +1097,9 @@ msgid ""
"Arrange failed. Found some exceptions when processing object geometries."
msgstr ""
msgid "Arranging"
msgstr ""
msgid "Arranging canceled."
msgstr ""
@ -1236,10 +1283,10 @@ msgid ""
"the corresponding code comments."
msgstr ""
msgid "Colour"
msgid "AMSMaterialsSetting"
msgstr ""
msgid "SN"
msgid "Colour"
msgstr ""
msgid ""
@ -1257,9 +1304,22 @@ msgstr ""
msgid "The input value should be greater than %1% and less than %2%"
msgstr ""
msgid "SN"
msgstr ""
msgid "Confirm"
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"
msgstr ""
@ -1296,9 +1356,6 @@ msgstr ""
msgid "File"
msgstr ""
msgid "Close"
msgstr ""
msgid ""
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
"program"
@ -1495,13 +1552,6 @@ msgid ""
"No - Give up using spiral mode this time"
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 ""
"Prime tower does not work when Adaptive Layer Height or Independent Support "
"Layer Height is on.\n"
@ -1639,6 +1689,9 @@ msgstr ""
msgid "Failed to start printing job"
msgstr ""
msgid "parameter name"
msgstr ""
msgid "N/A"
msgstr ""
@ -1877,7 +1930,10 @@ msgstr ""
msgid "Auto orient"
msgstr ""
msgid "Auto arrange"
msgid "Arrange all objects"
msgstr ""
msgid "Arrange objects on selected plates"
msgstr ""
msgid "Split to objects"
@ -1972,6 +2028,9 @@ msgid ""
"on the printer, as shown in the figure:"
msgstr ""
msgid "Invalid input."
msgstr ""
msgid "Application is closing"
msgstr ""
@ -2077,9 +2136,6 @@ msgstr ""
msgid "Start a new project"
msgstr ""
msgid "Open Project"
msgstr ""
msgid "Open a project file"
msgstr ""
@ -2188,6 +2244,18 @@ msgstr ""
msgid "Help"
msgstr ""
msgid "&File"
msgstr ""
msgid "&Edit"
msgstr ""
msgid "&View"
msgstr ""
msgid "&Help"
msgstr ""
msgid "&Open G-code"
msgstr ""
@ -2219,15 +2287,6 @@ msgstr ""
msgid "Quit %s"
msgstr ""
msgid "&File"
msgstr ""
msgid "&View"
msgstr ""
msgid "&Help"
msgstr ""
msgid "Save configuration as:"
msgstr ""
@ -2316,9 +2375,15 @@ msgstr ""
msgid "0%"
msgstr ""
msgid "Clean"
msgstr ""
msgid "Control"
msgstr ""
msgid "Print Options"
msgstr ""
msgid "100%"
msgstr ""
@ -2548,6 +2613,15 @@ msgctxt "Layers"
msgid "Bottom"
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."
msgstr ""
@ -2632,13 +2706,16 @@ msgstr ""
msgid "Loading file: %s"
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 ""
msgid "Incompatible 3mf"
msgid "Load 3mf"
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 ""
#, possible-c-format, possible-boost-format
@ -2653,6 +2730,12 @@ msgstr ""
msgid "Newer 3mf version"
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!"
msgstr ""
@ -2690,6 +2773,14 @@ msgstr ""
msgid "The file does not contain any geometry data."
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:"
msgstr ""
@ -2733,17 +2824,9 @@ msgid ""
"The loaded file contains gcode only, Can not enter the Prepare page"
msgstr ""
msgid "Some presets are modified."
msgstr ""
msgid "You can keep the modified presets to the new project or discard them"
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"
msgstr ""
@ -2774,6 +2857,12 @@ msgstr ""
msgid "Only one G-code file can be opened at the same time."
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!"
msgstr ""
@ -3225,9 +3314,15 @@ msgstr ""
msgid "The printer is busy on other print job"
msgstr ""
#, possible-c-format, possible-boost-format
msgid ""
"The filament index exceeds the AMS's slot count and cannot send the print "
"job."
"Filament %s exceeds the number of AMS slots. Please update the printer "
"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 ""
msgid ""
@ -3240,6 +3335,17 @@ msgid ""
"sending the print job"
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 ""
"The printer firmware only supports sequential mapping of filament => AMS "
"slot."
@ -3283,6 +3389,13 @@ msgstr ""
msgid "Delete this preset"
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"
msgstr ""
@ -3714,12 +3827,6 @@ msgstr ""
msgid "Login"
msgstr ""
msgid "Filaments Selection"
msgstr ""
msgid "Printer Selection"
msgstr ""
msgid "The configuration package is changed in previous Config Guide"
msgstr ""
@ -3735,69 +3842,51 @@ msgstr ""
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
msgstr ""
msgid "Select all objects"
msgstr ""
msgid "Copy to clipboard"
msgstr ""
msgid "Paste from clipboard"
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"
msgstr ""
msgid "Global shortcuts"
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 ""
"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 current disk."
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"
msgstr ""
msgid "Select multiple objects"
msgstr ""
msgid "Ctrl+Any arrow"
msgstr ""
msgid "Alt+Left mouse button"
msgstr ""
msgid "Ctrl+Left mouse button"
msgstr ""
@ -3837,16 +3926,52 @@ msgstr ""
msgid "Movement step set to 1 mm"
msgstr ""
msgid "⌘+Any arrow"
msgid "keyboard 1-9: set filament for object/part"
msgstr ""
msgid "Movement in camera space"
msgid "Camera view - Default"
msgstr ""
msgid "Ctrl+Any arrow"
msgid "Camera view - Top"
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 ""
msgid "Plater"
@ -4263,6 +4388,12 @@ msgstr ""
msgid "Bed exclude area"
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"
msgstr ""
@ -5343,7 +5474,7 @@ msgstr ""
msgid "Speed of internal solid infill, not the top and bottom surface"
msgstr ""
msgid "Spiral mode"
msgid "Spiral vase"
msgstr ""
msgid ""
@ -5352,9 +5483,6 @@ msgid ""
"generated model has no seam"
msgstr ""
msgid "Timelapse without toolhead"
msgstr ""
msgid ""
"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 "

File diff suppressed because it is too large Load diff

View file

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Bambu Studio\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"
"Last-Translator: \n"
"Language-Team: \n"
@ -52,8 +52,8 @@ msgstr ""
msgid "Perform"
msgstr "Perform"
msgid "Fragment area"
msgstr "Fragment area"
msgid "Gap area"
msgstr ""
msgid "Set pen size"
msgstr "Set pen size"
@ -123,9 +123,6 @@ msgstr "Choose filament"
msgid "Edge detection"
msgstr "Edge detection"
msgid "Clear all"
msgstr "Clear all"
msgid "Triangles"
msgstr "Triangles"
@ -339,20 +336,35 @@ msgstr "Face recognition"
msgid "Perform Recognition"
msgstr "Perform Recognition"
msgid "Cube"
msgstr "Cube"
msgid "Reset direction"
msgstr ""
msgid "Cylinder"
msgstr "Cylinder"
msgid "Brush size"
msgstr ""
msgid "Cone"
msgstr "Cone"
msgid "Brush shape"
msgstr ""
msgid "Timelapse Wipe Tower"
msgstr "Timelapse Wipe Tower"
msgid "Enforce seam"
msgstr ""
msgid "Add Modifier"
msgstr "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 ""
msgid "Notice"
msgstr "Notice"
@ -421,11 +433,14 @@ msgstr "Critical error"
msgid "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 ""
#, c-format, boost-format
msgid "Connect %s[SN:%s] failed!"
msgid "Connect %s failed! [SN:%s, code=%s]"
msgstr ""
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):"
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 ""
"The version of Bambu studio is too low and needs to be updated to the latest "
"version before it can be used normally"
@ -511,12 +545,6 @@ msgstr "Language"
msgid "*"
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:"
msgstr "Select a G-code file:"
@ -605,6 +633,18 @@ msgstr "Delete the selected object"
msgid "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"
msgstr "Add Settings"
@ -801,6 +841,9 @@ msgstr "Lock"
msgid "Name"
msgstr "Name"
msgid "Fila."
msgstr ""
#, c-format, boost-format
msgid "%1$d error repaired"
msgid_plural "%1$d errors repaired"
@ -852,6 +895,9 @@ msgstr "Error!"
msgid "Generic"
msgstr "Generic"
msgid "Add Modifier"
msgstr "Add Modifier"
msgid "Deleting the last solid part is not allowed."
msgstr "Deleting the last solid part is not allowed."
@ -1076,6 +1122,9 @@ msgid ""
msgstr ""
"Arrange failed. Found some exceptions when processing object geometries."
msgid "Arranging"
msgstr ""
msgid "Arranging canceled."
msgstr "Arranging canceled."
@ -1274,12 +1323,12 @@ msgid ""
"the corresponding code comments."
msgstr ""
msgid "AMSMaterialsSetting"
msgstr ""
msgid "Colour"
msgstr "Colour"
msgid "SN"
msgstr "SN"
msgid ""
"Nozzle\n"
"Temperature"
@ -1297,9 +1346,22 @@ msgstr "min"
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%"
msgid "SN"
msgstr "SN"
msgid "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"
msgstr "Insertion update"
@ -1348,9 +1410,6 @@ msgstr ""
msgid "File"
msgstr "File"
msgid "Close"
msgstr "Close"
msgid ""
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
"program"
@ -1593,13 +1652,6 @@ msgstr ""
"Yes - Change these settings and enable spiral mode automatically\n"
"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 ""
"Prime tower does not work when Adaptive Layer Height or Independent Support "
"Layer Height is on.\n"
@ -1753,6 +1805,9 @@ msgstr "Update failed."
msgid "Failed to start printing job"
msgstr ""
msgid "parameter name"
msgstr ""
msgid "N/A"
msgstr "N/A"
@ -1994,8 +2049,11 @@ msgstr "Add Plate"
msgid "Auto orient"
msgstr "Auto Orient"
msgid "Auto arrange"
msgstr "Auto Arrange"
msgid "Arrange all objects"
msgstr "Arrange all objects"
msgid "Arrange objects on selected plates"
msgstr "Arrange objects on selected plates"
msgid "Split to objects"
msgstr "Split to Objects"
@ -2094,6 +2152,9 @@ msgstr ""
"You can find it in \"Settings > Network > Connection code\"\n"
"on the printer, as shown in the figure:"
msgid "Invalid input."
msgstr ""
msgid "Application is closing"
msgstr "Closing application"
@ -2199,9 +2260,6 @@ msgstr "New Project"
msgid "Start a new project"
msgstr "Start a new project"
msgid "Open Project"
msgstr "Open Project"
msgid "Open a project file"
msgstr "Open a project file"
@ -2310,6 +2368,18 @@ msgstr "View"
msgid "Help"
msgstr "Help"
msgid "&File"
msgstr "&File"
msgid "&Edit"
msgstr ""
msgid "&View"
msgstr "&View"
msgid "&Help"
msgstr "&Help"
msgid "&Open G-code"
msgstr "&Open G-code"
@ -2341,15 +2411,6 @@ msgstr "&Quit"
msgid "Quit %s"
msgstr "Quit %s"
msgid "&File"
msgstr "&File"
msgid "&View"
msgstr "&View"
msgid "&Help"
msgstr "&Help"
msgid "Save configuration as:"
msgstr "Save configuration as:"
@ -2438,9 +2499,15 @@ msgstr "Stop"
msgid "0%"
msgstr "0%"
msgid "Clean"
msgstr ""
msgid "Control"
msgstr "Control"
msgid "Print Options"
msgstr ""
msgid "100%"
msgstr "100%"
@ -2674,6 +2741,15 @@ msgctxt "Layers"
msgid "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."
msgstr "Switch to per-object setting mode to edit modifier settings."
@ -2758,14 +2834,17 @@ msgstr "Restore"
msgid "Loading file: %s"
msgstr "Loading file: %s"
msgid "The Config is not compatible and can not be loaded."
msgstr "The configuration is not compatible; it cannot be loaded!"
msgid "The 3mf is not from Bambu Lab, load geometry data only."
msgstr ""
msgid "Incompatible 3mf"
msgstr "Incompatible 3mf"
msgid "Load 3mf"
msgstr ""
msgid "the 3mf is not compatible, load geometry data only!"
msgstr "The 3mf is not compatible, loading 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 ""
#, c-format, boost-format
msgid ""
@ -2781,6 +2860,12 @@ msgstr "You'd better upgrade your software.\n"
msgid "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!"
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."
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:"
msgstr "Export STL file:"
@ -2865,19 +2958,9 @@ msgstr ""
"Preview only mode:\n"
"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"
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"
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."
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!"
msgstr "Unable to add models in preview mode"
@ -3371,9 +3460,15 @@ msgstr ""
msgid "The printer is busy on other print job"
msgstr "The printer is busy with another print job."
#, c-format, boost-format
msgid ""
"The filament index exceeds the AMS's slot count and cannot send the print "
"job."
"Filament %s exceeds the number of AMS slots. Please update the printer "
"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 ""
msgid ""
@ -3390,6 +3485,17 @@ msgstr ""
"Please click each filament above to specify its mapping AMS slot before "
"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 ""
"The printer firmware only supports sequential mapping of filament => AMS "
"slot."
@ -3433,6 +3539,13 @@ msgstr "Save current %s"
msgid "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"
msgstr "Line width"
@ -3901,12 +4014,6 @@ msgstr "To"
msgid "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"
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."
msgstr "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
msgid "Select all objects"
msgstr "Select all objects"
msgid "Copy to clipboard"
msgstr "Copy to clipboard"
msgid "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"
msgstr "Show keyboard shortcuts list"
msgid "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 ""
"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 current disk."
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 current disk."
"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 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"
msgstr ""
@ -3991,6 +4071,12 @@ msgstr ""
msgid "Select multiple objects"
msgstr "Select multiple objects"
msgid "Ctrl+Any arrow"
msgstr ""
msgid "Alt+Left mouse button"
msgstr ""
msgid "Ctrl+Left mouse button"
msgstr ""
@ -4030,17 +4116,53 @@ msgstr ""
msgid "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 ""
msgid "Movement in camera space"
msgstr "Movement in camera space"
msgid "Ctrl+Any arrow"
msgid "Gizmo scale"
msgstr ""
msgid "Collapse/Expand the sidebar"
msgstr "Collapse/Expand the sidebar"
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 ""
msgid "Plater"
msgstr "Plater"
@ -4482,6 +4604,12 @@ msgstr "Printable area"
msgid "Bed exclude 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"
msgstr "Elephant foot compensation"
@ -5735,8 +5863,8 @@ msgstr ""
"This is the speed for internal solid infill, but not the top or bottom "
"surface."
msgid "Spiral mode"
msgstr "Spiral mode"
msgid "Spiral vase"
msgstr ""
msgid ""
"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. "
"The final generated model has no seam."
msgid "Timelapse without toolhead"
msgstr ""
msgid ""
"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 "
@ -6324,6 +6449,39 @@ msgstr "Support: fix holes at layer %d"
msgid "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"
#~ msgstr "Creating"

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -10,7 +10,8 @@ src/slic3r/GUI/Gizmos/GizmoObjectManipulation.cpp
src/slic3r/GUI/Gizmos/GLGizmoAdvancedCut.cpp
src/slic3r/GUI/Gizmos/GLGizmoSimplify.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_App.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/AboutDialog.cpp
src/slic3r/GUI/AMSMaterialsSetting.cpp
src/slic3r/GUI/AMSMappingPopup.cpp
src/slic3r/GUI/AMSSetting.cpp
src/slic3r/GUI/BBLTopbar.cpp
src/slic3r/GUI/DownloadProgressDialog.cpp
@ -63,6 +65,7 @@ src/slic3r/GUI/NotificationManager.cpp
src/slic3r/GUI/ObjectDataViewModel.cpp
src/slic3r/GUI/OpenGLManager.cpp
src/slic3r/GUI/OptionsGroup.cpp
src/slic3r/GUI/PrintOptionsDialog.cpp
src/slic3r/GUI/ParamsPanel.cpp
src/slic3r/GUI/PartPlate.cpp
src/slic3r/GUI/Plater.cpp

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Slic3rPE\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-07-23 18:15+0800\n"
"PO-Revision-Date: 2022-07-22 13:28+0800\n"
"POT-Creation-Date: 2022-08-08 20:01+0800\n"
"PO-Revision-Date: 2022-08-07 21:57+0800\n"
"Last-Translator: Jiang Yue <maze1024@gmail.com>\n"
"Language-Team: \n"
"Language: zh_CN\n"
@ -56,8 +56,8 @@ msgstr "缝隙填充"
msgid "Perform"
msgstr "执行"
msgid "Fragment area"
msgstr "碎片面积阈值"
msgid "Gap area"
msgstr ""
msgid "Set pen size"
msgstr "设置画笔大小"
@ -126,9 +126,6 @@ msgstr "选择耗材丝"
msgid "Edge detection"
msgstr "边沿检测"
msgid "Clear all"
msgstr "清除所有"
msgid "Triangles"
msgstr "三角形"
@ -339,20 +336,35 @@ msgstr "外观面检测"
msgid "Perform Recognition"
msgstr "执行检测"
msgid "Cube"
msgstr "立方体"
msgid "Reset direction"
msgstr "重置方向"
msgid "Cylinder"
msgstr "圆柱体"
msgid "Brush size"
msgstr "画刷尺寸"
msgid "Cone"
msgstr "锥体"
msgid "Brush shape"
msgstr "画刷形状"
msgid "Timelapse Wipe Tower"
msgstr "延时摄影擦料塔"
msgid "Enforce seam"
msgstr "添加Z缝"
msgid "Add Modifier"
msgstr "添加修改器"
msgid "Block seam"
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"
msgstr "通知"
@ -420,12 +432,15 @@ msgstr "严重错误"
msgid "BambuStudio got an unhandled exception: %1%"
msgstr "Bambu Studio捕捉到一个未处理的异常%1%"
msgid "Downloading Bambu Network plug-in"
msgid "Downloading Bambu Network Plug-in"
msgstr "正在下载Bambu网络插件"
msgid "Incorrect password"
msgstr "访问码不正确"
#, c-format, boost-format
msgid "Connect %s[SN:%s] failed!"
msgstr "连接 %s[SN:%s]失败."
msgid "Connect %s failed! [SN:%s, code=%s]"
msgstr "连接 %s 失败 [SN:%s, code=%s]"
msgid ""
"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):"
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 ""
"The version of Bambu studio is too low and needs to be updated to the latest "
"version before it can be used normally"
@ -505,12 +537,6 @@ msgstr "语言"
msgid "*"
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:"
msgstr "选择一个G-code文件"
@ -599,6 +625,18 @@ msgstr "删除所选对象"
msgid "Load..."
msgstr "加载..."
msgid "Cube"
msgstr "立方体"
msgid "Cylinder"
msgstr "圆柱体"
msgid "Cone"
msgstr "锥体"
msgid "Timelapse Wipe Tower"
msgstr "延时摄影擦料塔"
msgid "Add settings"
msgstr "添加设置"
@ -795,6 +833,9 @@ msgstr "锁定"
msgid "Name"
msgstr "名称"
msgid "Fila."
msgstr "耗材丝"
#, c-format, boost-format
msgid "%1$d error repaired"
msgid_plural "%1$d errors repaired"
@ -843,6 +884,9 @@ msgstr "错误!"
msgid "Generic"
msgstr "通用"
msgid "Add Modifier"
msgstr "添加修改器"
msgid "Deleting the last solid part is not allowed."
msgstr "不允许删除对象的最后一个实体零件。"
@ -1055,6 +1099,9 @@ msgid ""
"Arrange failed. Found some exceptions when processing object geometries."
msgstr "自动摆放失败,处理对象几何数据时遇到异常。"
msgid "Arranging"
msgstr "自动摆盘中"
msgid "Arranging canceled."
msgstr "已取消自动摆放。"
@ -1250,12 +1297,12 @@ msgstr ""
"软件中的很多部分都来自于社区贡献,因此,我们无法逐一列出他们,相反的,他们将被"
"注释于相应的代码中。"
msgid "AMSMaterialsSetting"
msgstr ""
msgid "Colour"
msgstr "颜色"
msgid "SN"
msgstr ""
msgid ""
"Nozzle\n"
"Temperature"
@ -1271,9 +1318,22 @@ msgstr "最小"
msgid "The input value should be greater than %1% and less than %2%"
msgstr "输入的范围在 %1% 和 %2% 之间"
msgid "SN"
msgstr ""
msgid "Confirm"
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"
msgstr "插入料时更新"
@ -1318,9 +1378,6 @@ msgstr "AMS不会在启动时自动读取耗材丝信息。它会使用上次关
msgid "File"
msgstr "文件"
msgid "Close"
msgstr "关闭"
msgid ""
"A error occurred. Maybe memory of system is not enough or it's a bug of the "
"program"
@ -1543,15 +1600,6 @@ msgstr ""
"是 - 自动调整这些设置并开启旋转模式\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 ""
"Prime tower does not work when Adaptive Layer Height or Independent Support "
"Layer Height is on.\n"
@ -1704,6 +1752,9 @@ msgstr "更新失败。"
msgid "Failed to start printing job"
msgstr "发起打印任务失败"
msgid "parameter name"
msgstr "参数名称"
msgid "N/A"
msgstr "N/A"
@ -1946,8 +1997,11 @@ msgstr "添加新盘"
msgid "Auto orient"
msgstr "自动朝向"
msgid "Auto arrange"
msgstr "自动摆盘"
msgid "Arrange all objects"
msgstr "全局整理"
msgid "Arrange objects on selected plates"
msgstr "单盘整理"
msgid "Split to objects"
msgstr "拆分为对象"
@ -2047,6 +2101,9 @@ msgstr ""
"你可以在打印机“设置->网络->连接->访问码\"\n"
"查看,如下图所示:"
msgid "Invalid input."
msgstr ""
msgid "Application is closing"
msgstr "正在关闭应用程序"
@ -2152,9 +2209,6 @@ msgstr "新建项目"
msgid "Start a new project"
msgstr "新建一个项目"
msgid "Open Project"
msgstr "打开项目"
msgid "Open a project file"
msgstr "打开项目文件"
@ -2263,6 +2317,18 @@ msgstr "视图"
msgid "Help"
msgstr "帮助"
msgid "&File"
msgstr ""
msgid "&Edit"
msgstr ""
msgid "&View"
msgstr ""
msgid "&Help"
msgstr ""
msgid "&Open G-code"
msgstr "打开G-code"
@ -2294,15 +2360,6 @@ msgstr ""
msgid "Quit %s"
msgstr ""
msgid "&File"
msgstr ""
msgid "&View"
msgstr ""
msgid "&Help"
msgstr ""
msgid "Save configuration as:"
msgstr "预设另存为:"
@ -2396,9 +2453,15 @@ msgstr "停止"
msgid "0%"
msgstr "0%"
msgid "Clean"
msgstr "清除"
msgid "Control"
msgstr "控制"
msgid "Print Options"
msgstr "打印选项"
msgid "100%"
msgstr "100%"
@ -2626,6 +2689,15 @@ msgctxt "Layers"
msgid "Bottom"
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."
msgstr "切换到对象模式以编辑修改器的设置。"
@ -2710,14 +2782,17 @@ msgstr "恢复"
msgid "Loading file: %s"
msgstr "加载文件:%s"
msgid "The Config is not compatible and can not be loaded."
msgstr "该配置不兼容,无法被加载。"
msgid "The 3mf is not from Bambu Lab, load geometry data only."
msgstr "该3mf文件不兼容仅加载几何数据。"
msgid "Incompatible 3mf"
msgstr "不兼容的3mf"
msgid "Load 3mf"
msgstr "加载3mf"
msgid "the 3mf is not compatible, load geometry data only!"
msgstr "该3mf文件不兼容仅加载几何数据"
msgid "The Config can not be loaded."
msgstr ""
msgid "The 3mf is generated by old Bambu Studio, load geometry data only."
msgstr ""
#, c-format, boost-format
msgid ""
@ -2731,6 +2806,12 @@ msgstr "建议升级您的软件版本。\n"
msgid "Newer 3mf version"
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!"
msgstr "step 文件中的部件名称包含非UTF8格式的字符"
@ -2770,6 +2851,14 @@ msgstr "检测到多零件对象"
msgid "The file does not contain any geometry data."
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:"
msgstr "导出 STL 文件:"
@ -2815,17 +2904,9 @@ msgstr ""
"仅预览模式:\n"
"被加载的文件仅包含G-Code不支持进入准备页面"
msgid "Some presets are modified."
msgstr "预设已被修改。"
msgid "You can keep the modified presets to the new project or discard them"
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"
msgstr "创建新项目"
@ -2856,6 +2937,12 @@ msgstr "仅导入模型数据"
msgid "Only one G-code file can be opened at the same time."
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!"
msgstr "在预览模式不允许添加模型"
@ -3309,12 +3396,16 @@ msgstr "打印机正在执行指令,请在其结束后重新发起打印"
msgid "The printer is busy on other print job"
msgstr "打印机正在执行其他打印任务"
#, c-format, boost-format
msgid ""
"The filament index exceeds the AMS's slot count and cannot send the print "
"job."
msgstr ""
"打印机固件仅支持材料=>AMS槽位的顺序映射。材料编号超过AMS的槽位数量无法发送"
"打印任务。"
"Filament %s exceeds the number of AMS slots. Please update the printer "
"firmware to support AMS slot assignment."
msgstr "材料编号%s超出AMS槽位数量请更新打印机固件以支持AMS槽位映射功能"
msgid ""
"Filament exceeds the number of AMS slots. Please update the printer firmware "
"to support AMS slot assignment."
msgstr "材料编号超出AMS槽位数量请更新打印机固件以支持AMS槽位映射功能"
msgid ""
"Filaments to AMS slots mappings have been established. You can click a "
@ -3328,6 +3419,20 @@ msgid ""
"sending the print job"
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 ""
"The printer firmware only supports sequential mapping of filament => AMS "
"slot."
@ -3371,6 +3476,15 @@ msgstr "保存当前 %s"
msgid "Delete this preset"
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"
msgstr "线宽"
@ -3814,12 +3928,6 @@ msgstr "到"
msgid "Login"
msgstr "登录"
msgid "Filaments Selection"
msgstr "材料选择"
msgid "Printer Selection"
msgstr "打印机选择"
msgid "The configuration package is changed in previous Config Guide"
msgstr "参数配置包在之前的配置向导中发生了变更"
@ -3835,59 +3943,18 @@ msgstr "对象列表"
msgid "Import geometry data from STL/STEP/3MF/OBJ/AMF files."
msgstr "从STL/STEP/3MF/OBJ/AMF文件中导入几何数据"
msgid "Select all objects"
msgstr "选择所有对象"
msgid "Copy to clipboard"
msgstr "复制到剪贴板"
msgid "Paste from clipboard"
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"
msgstr "显示键盘快捷键列表"
msgid "Global shortcuts"
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 ""
"Auto orientates selected objects or all objects.If there are selected "
"objects, it just orientates the selected ones.Otherwise, it will orientates "
@ -3896,12 +3963,33 @@ msgstr ""
"自动调整选定零件/所有零件的方向,\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"
msgstr "⌘+鼠标左键"
msgid "Select multiple objects"
msgstr "选择多个对象"
msgid "Ctrl+Any arrow"
msgstr "Ctrl+方向键"
msgid "Alt+Left mouse button"
msgstr "Alt+鼠标左键"
msgid "Ctrl+Left mouse button"
msgstr "Ctrl+鼠标左键"
@ -3941,17 +4029,53 @@ msgstr "Shift+方向键"
msgid "Movement step set to 1 mm"
msgstr "沿X、Y轴以1mm为步进移动对象"
msgid "⌘+Any arrow"
msgstr "⌘+方向键"
msgid "keyboard 1-9: set filament for object/part"
msgstr "按键1-9设置对象/零件的耗材丝"
msgid "Movement in camera space"
msgstr "沿相机视角移动对象"
msgid "Camera view - Default"
msgstr "摄像机视角 - 默认"
msgid "Ctrl+Any arrow"
msgstr "Ctrl+方向键"
msgid "Camera view - Top"
msgstr "摄像机视角 - 顶部"
msgid "Collapse/Expand the sidebar"
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 "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"
msgstr "准备"
@ -4372,6 +4496,14 @@ msgstr "可打印区域"
msgid "Bed exclude area"
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系列打印机在换料过程中会使用左前角区域来切"
"断耗材丝。这个多边形区域由以下格式的点表示“XxYXxY…”"
msgid "Elephant foot compensation"
msgstr "象脚补偿"
@ -5505,8 +5637,8 @@ msgstr "内部实心填充的线宽"
msgid "Speed of internal solid infill, not the top and bottom surface"
msgstr "内部实心填充的速度,不是顶面和底面。"
msgid "Spiral mode"
msgstr "旋转模式"
msgid "Spiral vase"
msgstr "旋转花瓶"
msgid ""
"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 ""
"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 "
@ -6057,6 +6186,60 @@ msgstr "支撑:正在修补层%d的空洞"
msgid "Support: propagate branches at layer %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."
#~ msgstr "打印机固件不支持材料=>AMS槽位映射"
@ -6308,9 +6491,6 @@ msgstr "支撑:正在生长层%d的树枝"
#~ msgid "Vibration Calibration"
#~ msgstr "振动校准"
#~ msgid "First Layer Inspection"
#~ msgstr "首层扫描"
#~ msgid "Please select a printer first."
#~ msgstr "请先选择一台打印机。"
@ -7532,12 +7712,6 @@ msgstr "支撑:正在生长层%d的树枝"
#~ "Reset to 0.2"
#~ msgstr "树状支撑碰撞分辨率不可为0。将重置为0.2"
#~ msgid "default value"
#~ msgstr "默认值"
#~ msgid "parameter name"
#~ msgstr "参数名称"
#~ msgid "Add..."
#~ msgstr "添加..."
@ -7899,33 +8073,9 @@ msgstr "支撑:正在生长层%d的树枝"
#~ msgid "Split triangles"
#~ 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"
#~ msgstr "移除所有绘制"
#~ msgid "Seam painting"
#~ msgstr "Z缝绘制"
#~ msgid "Paints all facets inside, regardless of their orientation."
#~ msgstr "绘制所有处于球体内部的面片,无论它们的方向是怎样的。"
@ -8197,24 +8347,6 @@ msgstr "支撑:正在生长层%d的树枝"
#~ msgid "Remove Instance of the selected object"
#~ 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"
#~ msgstr "打开配置文件夹"
@ -9090,9 +9222,6 @@ msgstr "支撑:正在生长层%d的树枝"
#~ msgid "Entering Seam painting!"
#~ msgstr "开始Z缝绘制"
#~ msgid "Leaving Seam painting"
#~ msgstr "推出Z缝绘制"
#~ msgid "Leaving Paint-on supports"
#~ msgstr "推出支撑绘制"

View file

@ -26,6 +26,94 @@
<string>????</string>
<key>CFBundleVersion</key>
<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>
<true/>
<key>NSRequiresAquaSystemAppearance</key>

View file

@ -33,6 +33,11 @@
"type": "po",
"pattern": "bbl/i18n/nl/BambuStudio_nl.po",
"lang": "nl"
},
{
"type": "po",
"pattern": "bbl/i18n/hu/BambuStudio_hu.po",
"lang": "hu"
}
]
},

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

View 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

View 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

View file

@ -1,12 +1,14 @@
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg" fill="none">
<g>
<title>background</title>
<rect x="-1" y="-1" width="28" height="28" id="canvas_background" fill="none"/>
</g>
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
<defs>
<clipPath id="clip0_0_3">
<rect id="svg_1" fill="white" height="30" width="30"/>
</clipPath>
</defs>
<g>
<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"/>
<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"/>
<g id="svg_2" clip-path="url(#clip0_0_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>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

View file

@ -1,12 +1,14 @@
<svg width="26" height="26" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="null">
<g stroke="null">
<title stroke="null">background</title>
<rect x="-1" y="-1" width="28" height="28" id="canvas_background" fill="none" stroke="null"/>
<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 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>
</svg>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View 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

View file

@ -1,4 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" 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"/>
<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="#ACACAC"/>
</svg>

Before

Width:  |  Height:  |  Size: 188 B

After

Width:  |  Height:  |  Size: 176 B

Before After
Before After

View 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

View file

@ -1,5 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect 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"/>
<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="#00AE42"/>
<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>

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 331 B

Before After
Before After

View 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

View file

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

View file

@ -1,6 +1,3 @@
<svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<defs><style>.cls-1{fill:none;}.cls-2,.cls-3{fill:#2b3436;}.cls-2{fill-rule:evenodd;}</style></defs>
<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 width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<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"/>
</svg>

Before

Width:  |  Height:  |  Size: 446 B

After

Width:  |  Height:  |  Size: 737 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

View 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

View file

@ -1,6 +1,6 @@
<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.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="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="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="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="#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="#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="#545454"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
<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.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="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="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="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="#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="#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="#545454"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before After
Before After

View file

@ -1,14 +1,14 @@
<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 d="M10.3223 10.1992H6.73828V11.9517H10.3223V10.1992Z" fill="#ACACAC"/>
<path d="M13.9037 10.1992H12.1133V11.9517H13.9037V10.1992Z" fill="#ACACAC"/>
<path d="M17.4877 10.1992H15.6973V11.9517H17.4877V10.1992Z" fill="#ACACAC"/>
<path d="M15.6977 7.13281H13.9072V8.8853H15.6977V7.13281Z" fill="#ACACAC"/>
<path d="M12.1137 7.13281H10.3232V8.8853H12.1137V7.13281Z" fill="#ACACAC"/>
<path d="M8.52971 7.13281H6.73926V8.8853H8.52971V7.13281Z" fill="#ACACAC"/>
<path d="M19.2787 7.13281H17.4883V8.8853H19.2787V7.13281Z" fill="#ACACAC"/>
<path d="M21.0717 7.13281V10.2019H19.2812V11.9544H22.8622V11.0797V10.2019V7.13281H21.0717Z" fill="#ACACAC"/>
<path d="M8.52874 13.2695H6.73828V15.022H8.52874V13.2695Z" fill="#ACACAC"/>
<path d="M19.2817 13.2695H10.3232V15.022H19.2817V13.2695Z" fill="#ACACAC"/>
<path d="M22.8617 13.2695H21.0713V15.022H22.8617V13.2695Z" 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.3222 10.1983H6.73835V11.9506H10.3222V10.1983Z" fill="#00AE42"/>
<path d="M13.9034 10.1983H12.113V11.9506H13.9034V10.1983Z" fill="#00AE42"/>
<path d="M17.4869 10.1983H15.6966V11.9506H17.4869V10.1983Z" fill="#00AE42"/>
<path d="M15.6971 7.13181H13.9067V8.88414H15.6971V7.13181Z" fill="#00AE42"/>
<path d="M12.1128 7.13181H10.3225V8.88414H12.1128V7.13181Z" fill="#00AE42"/>
<path d="M8.52929 7.13181H6.73893V8.88414H8.52929V7.13181Z" fill="#00AE42"/>
<path d="M19.2779 7.13181H17.4876V8.88414H19.2779V7.13181Z" fill="#00AE42"/>
<path d="M21.071 7.13181V10.2007H19.2807V11.953H22.8614V11.0784V10.2007V7.13181H21.071Z" fill="#00AE42"/>
<path d="M8.52871 13.2681H6.73835V15.0204H8.52871V13.2681Z" fill="#00AE42"/>
<path d="M19.2806 13.2681H10.3226V15.0204H19.2806V13.2681Z" fill="#00AE42"/>
<path d="M22.8609 13.2681H21.0705V15.0204H22.8609V13.2681Z" fill="#00AE42"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

View file

@ -1,14 +1,14 @@
<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 d="M9.59458 10.4473H5.28906V12.5525H9.59458V10.4473Z" fill="#6B6B6B"/>
<path d="M13.897 10.4473H11.7461V12.5525H13.897V10.4473Z" fill="#6B6B6B"/>
<path d="M18.2026 10.4473H16.0518V12.5525H18.2026V10.4473Z" fill="#6B6B6B"/>
<path d="M16.0532 6.76367H13.9023V8.86894H16.0532V6.76367Z" fill="#6B6B6B"/>
<path d="M11.7466 6.76367H9.5957V8.86894H11.7466V6.76367Z" fill="#6B6B6B"/>
<path d="M7.4419 6.76367H5.29102V8.86894H7.4419V6.76367Z" fill="#6B6B6B"/>
<path d="M20.355 6.76367H18.2041V8.86894H20.355V6.76367Z" fill="#6B6B6B"/>
<path d="M22.5093 6.76367V10.4506H20.3584V12.5559H24.6602V11.5051V10.4506V6.76367H22.5093Z" fill="#6B6B6B"/>
<path d="M7.43995 14.1348H5.28906V16.24H7.43995V14.1348Z" fill="#6B6B6B"/>
<path d="M20.3586 14.1348H9.59668V16.24H20.3586V14.1348Z" fill="#6B6B6B"/>
<path d="M24.6587 14.1348H22.5078V16.24H24.6587V14.1348Z" 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.59541 10.4467H5.28983V12.552H9.59541V10.4467Z" fill="#00AE42"/>
<path d="M13.8978 10.4467H11.7469V12.552H13.8978V10.4467Z" fill="#00AE42"/>
<path d="M18.203 10.4467H16.0521V12.552H18.203V10.4467Z" fill="#00AE42"/>
<path d="M16.0527 6.7626H13.9018V8.86787H16.0527V6.7626Z" fill="#00AE42"/>
<path d="M11.7467 6.7626H9.59576V8.86787H11.7467V6.7626Z" fill="#00AE42"/>
<path d="M7.44144 6.7626H5.29052V8.86787H7.44144V6.7626Z" fill="#00AE42"/>
<path d="M20.3547 6.7626H18.2038V8.86787H20.3547V6.7626Z" fill="#00AE42"/>
<path d="M22.509 6.7626V10.4496H20.358V12.5548H24.6599V11.504V10.4496V6.7626H22.509Z" fill="#00AE42"/>
<path d="M7.44075 14.1348H5.28983V16.2401H7.44075V14.1348Z" fill="#00AE42"/>
<path d="M20.358 14.1348H9.59587V16.2401H20.358V14.1348Z" fill="#00AE42"/>
<path d="M24.6593 14.1348H22.5084V16.2401H24.6593V14.1348Z" fill="#00AE42"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Before After
Before After

View file

@ -1,7 +1,7 @@
{
"name": "Bambulab",
"url": "http://www.bambulab.com/Parameters/vendor/BBL.json",
"version": "01.01.00.10",
"version": "01.01.01.02",
"force_update": "0",
"description": "the initial version of BBL configurations",
"machine_model_list": [

View file

@ -1,43 +1,36 @@
<svg width="732" height="760" viewBox="0 0 732 760" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_4523_22675)">
<path d="M392 733.699L372.1 753.499H377.8L397.6 733.699H392Z" fill="#CFD2D3"/>
<path d="M403.198 733.699L383.398 753.499H388.998L408.898 733.699H403.198Z" fill="#CFD2D3"/>
<path d="M414.499 733.699L394.699 753.499H400.399L420.199 733.699H414.499Z" fill="#CFD2D3"/>
<path d="M425.9 733.699L406 753.499H411.7L431.5 733.699H425.9Z" fill="#CFD2D3"/>
<path d="M437.198 733.699L417.398 753.499H422.998L442.898 733.699H437.198Z" fill="#CFD2D3"/>
<path d="M448.599 733.699L428.699 753.499H434.399L454.199 733.699H448.599Z" fill="#CFD2D3"/>
<path d="M459.9 733.699L440.1 753.499H445.7L465.6 733.699H459.9Z" fill="#CFD2D3"/>
<path d="M471.198 733.699L451.398 753.499H456.998L476.898 733.699H471.198Z" fill="#CFD2D3"/>
<path d="M482.599 733.699L462.699 753.499H468.399L488.199 733.699H482.599Z" fill="#CFD2D3"/>
<path d="M493.9 733.699L474 753.499H479.7L499.6 733.699H493.9Z" fill="#CFD2D3"/>
<path d="M278.298 733.699L258.398 753.499H264.098L283.998 733.699H278.298Z" fill="#CFD2D3"/>
<path d="M289.499 733.699L269.699 753.499H275.299L295.199 733.699H289.499Z" fill="#CFD2D3"/>
<path d="M300.9 733.699L281 753.499H286.7L306.5 733.699H300.9Z" fill="#CFD2D3"/>
<path d="M312.198 733.699L292.398 753.499H297.998L317.898 733.699H312.198Z" fill="#CFD2D3"/>
<path d="M323.499 733.699L303.699 753.499H309.399L329.199 733.699H323.499Z" fill="#CFD2D3"/>
<path d="M334.9 733.699L315 753.499H320.7L340.5 733.699H334.9Z" fill="#CFD2D3"/>
<path d="M346.198 733.699L326.398 753.499H331.998L351.898 733.699H346.198Z" fill="#CFD2D3"/>
<path d="M357.499 733.699L337.699 753.499H343.399L363.199 733.699H357.499Z" fill="#CFD2D3"/>
<path d="M368.9 733.699L349 753.499H354.7L374.5 733.699H368.9Z" fill="#CFD2D3"/>
<path d="M380.198 733.699L360.398 753.499H365.998L385.898 733.699H380.198Z" fill="#CFD2D3"/>
<path d="M491.098 753.5L502.398 742.2V736.5L485.398 753.5H491.098Z" fill="#CFD2D3"/>
<path d="M502.399 753.5V747.9L496.699 753.5H502.399Z" fill="#CFD2D3"/>
<path d="M265.499 733.699L254.199 744.999V750.699L271.199 733.699H265.499Z" fill="#CFD2D3"/>
<path d="M46 41H18V219.8H46V41Z" fill="#535656"/>
<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="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="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="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="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="M39.9 49.6996H43.5L42 46.0996H38.5L39.9 49.6996Z" fill="#CFD2D3"/>
<path d="M25.7996 161.5H39.1996V157.9H22.5996V171.3L25.7996 170.1V161.5Z" 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="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="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 width="988" height="1026" viewBox="0 0 988 1026" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="23.5083" y="47.3984" width="35.2051" height="238.804" fill="#444646"/>
<path d="M529.093 987.289L502.234 1014.01H509.927L536.652 987.289H529.093Z" fill="#CFD2D3"/>
<path d="M544.207 987.289L517.483 1014.01H525.041L551.901 987.289H544.207Z" fill="#CFD2D3"/>
<path d="M559.461 987.289L532.736 1014.01H540.43L567.154 987.289H559.461Z" fill="#CFD2D3"/>
<path d="M574.849 987.289L547.989 1014.01H555.683L582.407 987.289H574.849Z" fill="#CFD2D3"/>
<path d="M590.098 987.289L563.374 1014.01H570.932L597.792 987.289H590.098Z" fill="#CFD2D3"/>
<path d="M605.487 987.289L578.627 1014.01H586.32L613.045 987.289H605.487Z" fill="#CFD2D3"/>
<path d="M620.74 987.289L594.015 1014.01H601.574L628.433 987.289H620.74Z" fill="#CFD2D3"/>
<path d="M635.989 987.289L609.264 1014.01H616.823L643.682 987.289H635.989Z" fill="#CFD2D3"/>
<path d="M651.377 987.289L624.518 1014.01H632.211L658.936 987.289H651.377Z" fill="#CFD2D3"/>
<path d="M666.631 987.289L639.771 1014.01H647.464L674.324 987.289H666.631Z" fill="#CFD2D3"/>
<path d="M375.627 987.289L348.767 1014.01H356.461L383.32 987.289H375.627Z" fill="#CFD2D3"/>
<path d="M390.745 987.289L364.021 1014.01H371.579L398.439 987.289H390.745Z" fill="#CFD2D3"/>
<path d="M406.133 987.289L379.273 1014.01H386.967L413.691 987.289H406.133Z" fill="#CFD2D3"/>
<path d="M421.382 987.289L394.658 1014.01H402.216L429.076 987.289H421.382Z" fill="#CFD2D3"/>
<path d="M436.636 987.289L409.911 1014.01H417.605L444.329 987.289H436.636Z" fill="#CFD2D3"/>
<path d="M452.024 987.289L425.164 1014.01H432.858L459.582 987.289H452.024Z" fill="#CFD2D3"/>
<path d="M467.273 987.289L440.548 1014.01H448.107L474.966 987.289H467.273Z" fill="#CFD2D3"/>
<path d="M482.526 987.289L455.802 1014.01H463.495L490.22 987.289H482.526Z" fill="#CFD2D3"/>
<path d="M497.915 987.289L471.055 1014.01H478.749L505.473 987.289H497.915Z" fill="#CFD2D3"/>
<path d="M513.164 987.289L486.439 1014.01H493.997L520.857 987.289H513.164Z" fill="#CFD2D3"/>
<path d="M662.848 1014.02L678.1 998.764V991.07L655.155 1014.02H662.848Z" fill="#CFD2D3"/>
<path d="M678.102 1014.02V1006.46L670.409 1014.02H678.102Z" fill="#CFD2D3"/>
<path d="M358.352 987.289L343.1 1002.54V1010.23L366.045 987.289H358.352Z" fill="#CFD2D3"/>
<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="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="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="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="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="M53.8545 64.0739H58.7135L56.6889 59.2148H51.9648L53.8545 64.0739Z" fill="#CFD2D3"/>
<path d="M34.8225 214.976H52.9089V210.117H30.5034V228.204L34.8225 226.584V214.976Z" 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="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="M343.1 987.289V994.983L350.793 987.289H343.1Z" fill="#CFD2D3"/>
</svg>

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
{
"type": "filament",
"filament_id": "GFN00",
"filament_id": "GFN03",
"name": "Bambu PA-CF @base",
"from": "system",
"instantiation": "false",
@ -17,6 +17,9 @@
"nozzle_temperature_initial_layer": [
"280"
],
"filament_type": [
"PA-CF"
],
"nozzle_temperature": [
"280"
]

View file

@ -6,7 +6,7 @@
"instantiation": "true",
"inherits": "Bambu PC @base",
"nozzle_temperature": [
"270"
"260"
],
"compatible_printers": [
"Bambu Lab X1 Carbon 0.8 nozzle"

View file

@ -12,7 +12,7 @@
"25.4"
],
"filament_flow_ratio": [
"0.96"
"0.98"
],
"filament_density": [
"1.26"

View file

@ -15,6 +15,6 @@
"1.32"
],
"filament_flow_ratio": [
"0.95"
"0.98"
]
}

View file

@ -1,6 +1,6 @@
{
"type": "filament",
"filament_id": "GFU00",
"filament_id": "GFU01",
"name": "Bambu TPU 95A @base",
"from": "system",
"instantiation": "false",
@ -13,5 +13,8 @@
],
"nozzle_temperature_initial_layer": [
"230"
],
"nozzle_temperature": [
"230"
]
}

View file

@ -1,11 +1,14 @@
{
"type": "filament",
"filament_id": "GFN99",
"filament_id": "GFN98",
"setting_id": "GFSN99",
"name": "Generic PA-CF",
"from": "system",
"instantiation": "true",
"inherits": "fdm_filament_pa",
"filament_type": [
"PA-CF"
],
"nozzle_temperature_initial_layer": [
"280"
],

View file

@ -1,6 +1,6 @@
{
"type": "filament",
"filament_id": "GFN98",
"filament_id": "GFN99",
"setting_id": "GFSN98",
"name": "Generic PA",
"from": "system",

View file

@ -28,7 +28,7 @@
"40"
],
"slow_down_min_speed": [
"40"
"20"
],
"slow_down_layer_time": [
"8"

View file

@ -9,6 +9,9 @@
"filament_flow_ratio": [
"0.95"
],
"filament_type": [
"PLA-CF"
],
"filament_max_volumetric_speed": [
"12"
],

View file

@ -7,7 +7,7 @@
"instantiation": "true",
"inherits": "fdm_filament_pla",
"filament_flow_ratio": [
"0.95"
"0.98"
],
"filament_max_volumetric_speed": [
"12"

View file

@ -1,6 +1,6 @@
{
"type": "filament",
"filament_id": "GFR99",
"filament_id": "GFU99",
"setting_id": "GFSR99",
"name": "Generic TPU",
"from": "system",
@ -9,9 +9,6 @@
"filament_max_volumetric_speed": [
"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": [
"Bambu Lab X1 Carbon 0.4 nozzle",
"Voron 2.4 250 0.4 nozzle",

View file

@ -1,6 +1,6 @@
{
"type": "filament",
"filament_id": "GFL19",
"filament_id": "GFL00",
"name": "PolyLite PLA @base",
"from": "system",
"instantiation": "false",

View file

@ -1,6 +1,6 @@
{
"type": "filament",
"filament_id": "GFL18",
"filament_id": "GFL01",
"name": "PolyTerra PLA @base",
"from": "system",
"instantiation": "false",
@ -15,6 +15,6 @@
"1.24"
],
"filament_flow_ratio": [
"0.95"
"0.98"
]
}

View file

@ -35,7 +35,7 @@
"25"
],
"filament_type": [
"PET"
"PETG"
],
"filament_density": [
"1.27"

View file

@ -74,7 +74,7 @@
"230"
],
"slow_down_min_speed": [
"50"
"20"
],
"slow_down_layer_time": [
"4"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -151,7 +151,7 @@
],
"silent_mode": "0",
"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}",
"machine_pause_gcode": "M400 U1\n",
"wipe": [

View file

@ -30,6 +30,6 @@
"travel_speed": "480",
"overhang_1_4_speed": "0",
"overhang_2_4_speed": "50",
"overhang_3_4_speed": "35",
"overhang_3_4_speed": "15",
"overhang_4_4_speed": "10"
}

View file

@ -18,6 +18,7 @@
"internal_solid_infill_line_width": "0.8",
"support_line_width": "0.8",
"top_surface_line_width": "0.8",
"top_surface_pattern": "monotonic",
"initial_layer_speed": "35",
"initial_layer_infill_speed": "55",
"outer_wall_speed": "120",

View file

@ -77,6 +77,7 @@
.PName
{
font-weight: 700;
text-align: left;
}
.pNozzel

View file

@ -59,13 +59,17 @@ function HandleModelList( pVal )
//Add Vendor Html Node
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
{
let sVV=strVendor;
if( sVV=="BBL" )
sVV="Bambu Lab";
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
'<div class="BlockBanner">'+
' <div class="BannerBtns">'+
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
' </div>'+
' <a>Bambu Lab</a>'+
' <a>'+sVV+'</a>'+
'</div>'+
'<div class="PrinterArea"> '+
'</div>'+

View file

@ -8,10 +8,11 @@
.CName
{
width:130px;
min-width: 80px;
font-weight: 700;
height: 100%;
text-align: right;
white-space: nowrap;
flex-shrink: 0;
}
.CValues

View file

@ -8,10 +8,11 @@
.CName
{
width:130px;
min-width: 80px;
font-weight: 700;
height: 100%;
text-align: right;
white-space: nowrap;
flex-shrink: 0;
}
.CValues

View file

@ -99,6 +99,7 @@
.PName
{
font-weight: 700;
text-align:left;
}
.pNozzel

View file

@ -59,13 +59,17 @@ function HandleModelList( pVal )
//Add Vendor Html Node
if($(".OneVendorBlock[vendor='"+strVendor+"']").length==0)
{
let sVV=strVendor;
if( sVV=="BBL" )
sVV="Bambu Lab";
let HtmlNewVendor='<div class="OneVendorBlock" Vendor="'+strVendor+'">'+
'<div class="BlockBanner">'+
' <div class="BannerBtns">'+
' <div class="SmallBtn_Green trans" tid="t11" onClick="SelectPrinterAll('+"\'"+strVendor+"\'"+')">all</div>'+
' <div class="SmallBtn trans" tid="t12" onClick="SelectPrinterNone('+"\'"+strVendor+"\'"+')">none</div>'+
' </div>'+
' <a>Bambu Lab</a>'+
' <a>'+sVV+'</a>'+
'</div>'+
'<div class="PrinterArea"> '+
'</div>'+

View file

@ -1,12 +1,13 @@
#Content
{
padding:10% 15%;
padding:0% 15%;
}
#FeatureText
{
line-height: 30px;
margin-top: 10mm;
}

View file

@ -3,6 +3,7 @@
padding: 0;
border: 0;
margin: 0;
font-family: "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
}
html,body

View file

@ -3,6 +3,7 @@
padding: 0;
border: 0;
margin: 0;
font-family: "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-sans;
}
html

View file

@ -3,7 +3,7 @@
padding:0px;
border: 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 {
@ -12,6 +12,7 @@ html, body {
margin: 0px;
padding: 0px;
line-height: 20px;
font-size: 16px;
}
.RedFont
@ -71,6 +72,12 @@ body
cursor:pointer;
}
#LoginBtn:hover
{
font-size:17px;
}
#NoPluginTip
{
position: absolute;
@ -79,7 +86,7 @@ body
bottom: 0px;
right: 0px;
z-index: 1;
display: flex;
display: none;
flex-direction: column;
justify-content: flex-end;
padding: 5px;
@ -212,7 +219,7 @@ body
.MenuItem
{
border: 1px solid #4CAA50;
border: 1px solid #EEEEEE;
border-radius: 12px;
height: 101px;
width: 253px;
@ -226,6 +233,7 @@ body
.MenuItem:hover
{
border-color: #4CAA50;
background-color: #E0FCEB;
}

View file

@ -142,6 +142,35 @@
</body>
<script type="text/javascript">
//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>
</html>

View file

@ -215,4 +215,16 @@ function BeginDownloadNetworkPlugin()
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;

View file

@ -189,7 +189,25 @@ int CLI::run(int argc, char **argv)
params.argv = argv;
params.load_configs = load_configs;
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);
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ", normal mode, input_files size = "<<params.input_files.size();
}
//BBS: remove GCodeViewer as seperate APP logic
//params.start_as_gcodeviewer = start_as_gcodeviewer;

View file

@ -165,7 +165,7 @@ namespace ImGui
const wchar_t FoldButtonIcon = 0x0814;
const wchar_t UnfoldButtonIcon = 0x0815;
const wchar_t SphereButtonIcon = 0x0816;
const wchar_t FragmentFilterIcon = 0x0817;
const wchar_t GapFillIcon = 0x0817;
// void MyFunction(const char* name, const MyMatrix44& v);
}

View file

@ -204,6 +204,20 @@ public:
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 &center = {TCoord<P>(0), TCoord<P>(0)});
};

View file

@ -1083,9 +1083,13 @@ private:
auto d = cb - ci;
// BBS TODO we assume the exclude region contains bottom left corner. If not, change the code below
if (!config_.m_excluded_regions.empty()) {
d.x() = d.x() < 0 ? 0 : d.x();
d.y() = d.y() < 0 ? 0 : d.y();
if (!config_.m_excluded_regions.empty()) { // do not move to left to much to avoid clash with excluded regions
if (d.x() < 0) {
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_)
if (!item.is_virt_object)

View file

@ -44,6 +44,41 @@ static const std::string MODELS_STR = "models";
const std::string AppConfig::SECTION_FILAMENTS = "filaments";
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()
{

View file

@ -39,6 +39,9 @@ public:
this->reset();
}
std::string get_langauge_code();
std::string get_hms_host();
// Clear and reset to defaults.
void reset();
// Override missing or keys with their defaults.

View file

@ -136,6 +136,25 @@ static double fixed_overfit(const std::tuple<double, Box>& result, const Box &bi
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
// management and spatial index structures for acceleration.
template<class TBin>
@ -503,8 +522,9 @@ public:
break;
}
}
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);
};
};

View file

@ -65,8 +65,7 @@ struct ArrangePolygon {
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
double height{ 0 }; // item height
double auto_brim_width{ 0 }; // auto brim width
double user_brim_width{ 0 }; // user defined brim width
double brim_width{ 0 }; // brim width
std::string name;
// If empty, any rotation is allowed (currently unsupported)

View file

@ -641,7 +641,7 @@ double getadhesionCoeff(const PrintObject* printObject)
for (auto iter = extrudersFirstLayer.begin(); iter != extrudersFirstLayer.end(); iter++)
if (modelVolume->extruder_id() == *iter) {
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;
}
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
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
double height = 0;
@ -824,7 +824,7 @@ double configBrimWidthByVolumeGroups(double adhension, double maxSpeed, const st
}
auto bbox_size = mergedBbx.size();
height = bbox_size(2);
groupHeight = height;
// second moment of the expolygons of the first layer of the volume group
double Ixx = -1.e30, Iyy = -1.e30;
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 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 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 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, thermalLength * 8. / thermalLengthRef * std::min(height, 30.) / 30.), 18.), 1.5 * thermalLength);
// small brims are omitted
if (brim_width < 5 && brim_width < 1.5 * thermalLength)
brim_width = 0;
@ -915,17 +915,17 @@ static ExPolygons outer_inner_brim_area(const Print& print,
if (currentModelVolumePtr != nullptr) groupVolumePtrs.push_back(currentModelVolumePtr);
}
if (groupVolumePtrs.empty()) continue;
double groupHeight = 0.;
// config brim width in auto-brim mode
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);
}
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
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 < scaled_flow_width ? brim_width + scaled_additional_brim_width : brim_width;
}

View file

@ -3099,6 +3099,8 @@ void FillMonotonicLineWGapFill::fill_surface_extrusion(const Surface* surface, c
FillParams params2 = params;
params2.monotonic = true;
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
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);
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.
ExPolygonWithOffset poly_with_offset(
surface->expolygon,
- rotate_vector.first,
float(scale_(0 - (0.5 - INFILL_OVERLAP_OVER_SPACING) * this->spacing)),
float(scale_(0 - 0.5f * this->spacing)));
float(scale_(0 - (0.5 - INFILL_OVERLAP_OVER_SPACING) * params.flow.spacing())),
float(scale_(0 - 0.5f * params.flow.spacing())));
if (poly_with_offset.n_contours_inner == 0) {
// Not a single infill line fits.
//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();
// 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);
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.
size_t n_vlines = (bounding_box.max(0) - bounding_box.min(0) + line_spacing - 1) / line_spacing;

View file

@ -271,6 +271,105 @@ namespace Slic3r {
//! return same string
#define L(s) (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
class _3MF_Base
@ -668,6 +767,7 @@ namespace Slic3r {
std::string name(stat.m_filename);
std::replace(name.begin(), name.end(), '\\', '/');
/*
if (boost::algorithm::iequals(name, LAYER_HEIGHTS_PROFILE_FILE)) {
// extract slic3r layer heights profile file
_extract_layer_heights_profile_config_from_archive(archive, stat);
@ -692,7 +792,9 @@ namespace Slic3r {
// extract slic3r layer config ranges file
_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
if (!_extract_model_config_from_archive(archive, stat, model)) {
close_zip_reader(&archive);
@ -1913,6 +2015,27 @@ namespace Slic3r {
std::string key = get_attribute_value_string(attributes, num_attributes, KEY_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)
object->second.metadata.emplace_back(key, value);
else if (type == VOLUME_TYPE) {
@ -2044,7 +2167,7 @@ namespace Slic3r {
else if ((metadata.key == MODIFIER_KEY) && (metadata.value == "1"))
volume->set_type(ModelVolumeType::PARAMETER_MODIFIER);
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)
volume->source.input_file = metadata.value;
else if (metadata.key == SOURCE_OBJECT_ID_KEY)

View file

@ -1,7 +1,30 @@
#ifndef slic3r_Format_3mf_hpp_
#define slic3r_Format_3mf_hpp_
#include "../expat.h"
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.
* Examples of the Slic3r_PE_sla_support_points.txt for historically used versions:

View file

@ -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);
//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_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_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);
@ -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).
// 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.
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");
return false;
}
@ -4414,13 +4414,13 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
region_code = project->project_country_code;
}
stream << " <" << METADATA_TAG << " name=\"" << BBL_MODEL_NAME_TAG << "\">" << name << "</" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESIGNER_TAG << "\">" << user_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 << "\">" << 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_COVER_FILE_TAG << "\">" << design_cover << "</" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"" << BBL_DESCRIPTION_TAG << "\">" << description << "</" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"" << BBL_COPYRIGHT_TAG << "\">" << copyright << "</" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"" << BBL_LICENSE_TAG << "\">" << license << "</" << 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 << "\">" << xml_escape(description) << "</" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"" << BBL_COPYRIGHT_TAG << "\">" << xml_escape(copyright) << "</" << METADATA_TAG << ">\n";
stream << " <" << METADATA_TAG << " name=\"" << BBL_LICENSE_TAG << "\">" << xml_escape(license) << "</" << METADATA_TAG << ">\n";
/* save model info */
if (!model_id.empty()) {
@ -5199,7 +5199,7 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
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;
// 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
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 << "=\"" << 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()) {
gcode_paths.push_back(plate_data->gcode_file);
}
@ -5363,7 +5364,9 @@ void PlateData::parse_filament_info(GCodeProcessorResult *result)
stream << " </" << PLATE_TAG << ">\n";
}
}
// 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);
//BBS: store assemble related info

View file

@ -344,7 +344,9 @@ bool GCode::gcode_label_objects = false;
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;
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);
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("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);
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 = old_filament_e_feedrate == 0 ? 100 : old_filament_e_feedrate;
}
else {
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;
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;
dyn_config.set_key_value("previous_extruder", new ConfigOptionInt((int)(m_writer.extruder() != nullptr ? m_writer.extruder()->id() : -1)));

View file

@ -33,6 +33,7 @@
// BBS: for segment
#include "MeshBoolean.hpp"
#include "Format/3mf.hpp"
namespace Slic3r {
// 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: backup & restore
// 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_substitutions != nullptr);
@ -210,15 +211,28 @@ Model Model::read_from_archive(const std::string& input_file, DynamicPrintConfig
Model model;
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: 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"))
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
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)
throw Slic3r::RuntimeError("Loading of a model file failed.");
@ -2837,7 +2851,7 @@ double getadhesionCoeff(const ModelVolumePtrs objectVolumes)
double adhesionCoeff = 1;
for (const ModelVolume* modelVolume : objectVolumes) {
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;
}
else if (Model::extruderParamsMap.at(modelVolume->extruder_id()).materialName == "TPU") {
@ -2871,6 +2885,14 @@ double getTemperatureFromExtruder(const ModelVolumePtrs objectVolumes) {
#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
{
// 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();
if (ret.extrude_ids.empty()) //the default extruder
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

Some files were not shown because too many files have changed in this diff Show more