Просмотр исходного кода

some fixes: win build doc, 3mf safety read, svg export without square
fix color.ini file

supermerill 4 лет назад
Родитель
Сommit
f27bd26fbf

+ 1 - 1
doc/How to build - Windows.md

@@ -16,7 +16,7 @@ msbuild /m ALL_BUILD.vcxproj
 
 and then build superslicer (in ./build):
 ```
-cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="PATH_TO_SuperSlicer\deps\destdir\usr\local"
+cmake .. -G "Visual Studio 16 2019" -A x64 -DCMAKE_PREFIX_PATH="PATH_TO_SuperSlicer\deps\build\destdir\usr\local"
 msbuild /m /P:Configuration=Release INSTALL.vcxproj
 ```
 You can also build it in visual studio, for that open the .sln.

+ 1 - 1
resources/ui_layout/colors.ini

@@ -7,7 +7,7 @@ Solid infill = D732D7
 Top solid infill = FF1A1A
 Ironing = FF6868
 Bridge infill = 9999FF
-Internal Bridge infill = AAAADD
+Internal bridge infill = AAAADD
 Thin wall = FFC000
 Gap fill = FFFFFF
 Skirt = 845321

+ 5 - 4
src/libslic3r/Format/3mf.cpp

@@ -1219,8 +1219,8 @@ namespace Slic3r {
 
                 pt::ptree tree = code.second;
                 double print_z          = tree.get<double>      ("<xmlattr>.print_z" );
-                int extruder            = tree.get<int>         ("<xmlattr>.extruder");
-                std::string color       = tree.get<std::string> ("<xmlattr>.color"   );
+                int extruder            = tree.get<int>         ("<xmlattr>.extruder", 0);
+                std::string color       = tree.get<std::string> ("<xmlattr>.color"   ,"" );
 
                 CustomGCode::Type   type;
                 std::string         extra;
@@ -1228,7 +1228,7 @@ namespace Slic3r {
                 {
                     // It means that data was saved in old version (2.2.0 and older) of PrusaSlicer
                     // read old data ... 
-                    std::string gcode       = tree.get<std::string> ("<xmlattr>.gcode");
+                    std::string gcode       = tree.get<std::string> ("<xmlattr>.gcode", "");
                     // ... and interpret them to the new data
                     type  = gcode == "M600"           ? CustomGCode::ColorChange : 
                             gcode == "M601"           ? CustomGCode::PausePrint  :   
@@ -1239,7 +1239,7 @@ namespace Slic3r {
                 else
                 {
                     type  = static_cast<CustomGCode::Type>(tree.get<int>("<xmlattr>.type"));
-                    extra = tree.get<std::string>("<xmlattr>.extra");
+                    extra = tree.get<std::string>("<xmlattr>.extra", "");
                 }
                 m_model->custom_gcode_per_print_z.gcodes.push_back(CustomGCode::Item{print_z, type, extruder, color, extra}) ;
             }
@@ -2805,6 +2805,7 @@ bool _3MF_Exporter::_add_custom_gcode_per_print_z_file_to_archive( mz_zip_archiv
             code_tree.put("<xmlattr>.print_z"   , code.print_z  );
             code_tree.put("<xmlattr>.type"      , static_cast<int>(code.type));
             code_tree.put("<xmlattr>.extruder"  , code.extruder );
+            code_tree.put("<xmlattr>.color"     , code.color    );
             code_tree.put("<xmlattr>.info"      , code.color    );
             code_tree.put("<xmlattr>.extra"     , code.extra    );
 

+ 2 - 2
src/libslic3r/SVG.cpp

@@ -21,7 +21,7 @@ bool SVG::open(const char* afilename)
         "      <polyline fill=\"darkblue\" points=\"0,0 10,5 0,10 1,5\" />\n"
         "   </marker>\n"
         );
-    fprintf(this->f, "<rect fill='white' stroke='none' x='0' y='0' width='%f' height='%f'/>\n", 2000.f, 2000.f);
+    //fprintf(this->f, "<rect fill='white' stroke='none' x='0' y='0' width='%f' height='%f'/>\n", 2000.f, 2000.f);
     return true;
 }
 
@@ -43,7 +43,7 @@ bool SVG::open(const char* afilename, const BoundingBox &bbox, const coord_t bbo
         "      <polyline fill=\"darkblue\" points=\"0,0 10,5 0,10 1,5\" />\n"
         "   </marker>\n",
         h, w);
-    fprintf(this->f, "<rect fill='white' stroke='none' x='0' y='0' width='%f' height='%f'/>\n", w, h);
+    //fprintf(this->f, "<rect fill='white' stroke='none' x='0' y='0' width='%f' height='%f'/>\n", w, h);
     return true;
 }