Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--resources/icons/PrusaSlicer-gcodeviewer.icobin0 -> 113976 bytes
-rw-r--r--src/CMakeLists.txt13
-rw-r--r--src/PrusaSlicer.cpp4
-rw-r--r--src/PrusaSlicer_app_msvc.cpp5
-rw-r--r--src/libslic3r/PrintConfig.cpp6
-rw-r--r--src/platform/msw/PrusaSlicer-gcodeviewer.rc.in25
6 files changed, 52 insertions, 1 deletions
diff --git a/resources/icons/PrusaSlicer-gcodeviewer.ico b/resources/icons/PrusaSlicer-gcodeviewer.ico
new file mode 100644
index 000000000..2c9272369
--- /dev/null
+++ b/resources/icons/PrusaSlicer-gcodeviewer.ico
Binary files differ
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index e170ea8d3..0b0b3c0ee 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -92,6 +92,7 @@ endif()
# Create a slic3r executable
# Process mainfests for various platforms.
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/msw/PrusaSlicer.rc.in ${CMAKE_CURRENT_BINARY_DIR}/PrusaSlicer.rc @ONLY)
+configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/msw/PrusaSlicer-gcodeviewer.rc.in ${CMAKE_CURRENT_BINARY_DIR}/PrusaSlicer-gcodeviewer.rc @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/msw/PrusaSlicer.manifest.in ${CMAKE_CURRENT_BINARY_DIR}/PrusaSlicer.manifest @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/platform/osx/Info.plist.in ${CMAKE_CURRENT_BINARY_DIR}/Info.plist @ONLY)
if (WIN32)
@@ -161,12 +162,22 @@ if (WIN32)
add_executable(PrusaSlicer_app_console PrusaSlicer_app_msvc.cpp ${CMAKE_CURRENT_BINARY_DIR}/PrusaSlicer.rc)
# Generate debug symbols even in release mode.
if (MSVC)
- target_link_options(PrusaSlicer_app_console PUBLIC "$<$<CONFIG:RELEASE>:/DEBUG>")
+ target_link_options(PrusaSlicer_app_console PUBLIC "$<$<CONFIG:RELEASE>:/DEBUG>")
endif ()
target_compile_definitions(PrusaSlicer_app_console PRIVATE -DSLIC3R_WRAPPER_CONSOLE)
add_dependencies(PrusaSlicer_app_console PrusaSlicer)
set_target_properties(PrusaSlicer_app_console PROPERTIES OUTPUT_NAME "prusa-slicer-console")
target_link_libraries(PrusaSlicer_app_console PRIVATE boost_headeronly)
+
+ add_executable(PrusaSlicer_app_gcodeviewer WIN32 PrusaSlicer_app_msvc.cpp ${CMAKE_CURRENT_BINARY_DIR}/PrusaSlicer-gcodeviewer.rc)
+ # Generate debug symbols even in release mode.
+ if (MSVC)
+ target_link_options(PrusaSlicer_app_gcodeviewer PUBLIC "$<$<CONFIG:RELEASE>:/DEBUG>")
+ endif ()
+ target_compile_definitions(PrusaSlicer_app_gcodeviewer PRIVATE -DSLIC3R_WRAPPER_NOCONSOLE -DSLIC3R_WRAPPER_GCODEVIEWER)
+ add_dependencies(PrusaSlicer_app_gcodeviewer PrusaSlicer)
+ set_target_properties(PrusaSlicer_app_gcodeviewer PROPERTIES OUTPUT_NAME "prusa-gcodeviewer")
+ target_link_libraries(PrusaSlicer_app_gcodeviewer PRIVATE boost_headeronly)
endif ()
# Link the resources dir to where Slic3r GUI expects it
diff --git a/src/PrusaSlicer.cpp b/src/PrusaSlicer.cpp
index aaf3db915..2962f0cdf 100644
--- a/src/PrusaSlicer.cpp
+++ b/src/PrusaSlicer.cpp
@@ -101,6 +101,7 @@ int CLI::run(int argc, char **argv)
std::find(m_transforms.begin(), m_transforms.end(), "cut") == m_transforms.end() &&
std::find(m_transforms.begin(), m_transforms.end(), "cut_x") == m_transforms.end() &&
std::find(m_transforms.begin(), m_transforms.end(), "cut_y") == m_transforms.end();
+ bool start_as_gcodeviewer = false;
const std::vector<std::string> &load_configs = m_config.option<ConfigOptionStrings>("load", true)->values;
@@ -521,6 +522,9 @@ int CLI::run(int argc, char **argv)
<< " (" << print.total_extruded_volume()/1000 << "cm3)" << std::endl;
*/
}
+ } else if (opt_key == "gcodeviewer") {
+ start_gui = true;
+ start_as_gcodeviewer = true;
} else {
boost::nowide::cerr << "error: option not supported yet: " << opt_key << std::endl;
return 1;
diff --git a/src/PrusaSlicer_app_msvc.cpp b/src/PrusaSlicer_app_msvc.cpp
index 712cff687..5f12c9147 100644
--- a/src/PrusaSlicer_app_msvc.cpp
+++ b/src/PrusaSlicer_app_msvc.cpp
@@ -221,6 +221,11 @@ int wmain(int argc, wchar_t **argv)
std::vector<wchar_t*> argv_extended;
argv_extended.emplace_back(argv[0]);
+#ifdef SLIC3R_WRAPPER_GCODEVIEWER
+ wchar_t gcodeviewer_param[] = L"--gcodeviewer";
+ argv_extended.emplace_back(gcodeviewer_param);
+#endif /* SLIC3R_WRAPPER_GCODEVIEWER */
+
#ifdef SLIC3R_GUI
// Here one may push some additional parameters based on the wrapper type.
bool force_mesa = false;
diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp
index 3401dcc02..770983ad5 100644
--- a/src/libslic3r/PrintConfig.cpp
+++ b/src/libslic3r/PrintConfig.cpp
@@ -3530,6 +3530,12 @@ CLIActionsConfigDef::CLIActionsConfigDef()
def->cli = "export-gcode|gcode|g";
def->set_default_value(new ConfigOptionBool(false));
+ def = this->add("gcodeviewer", coBool);
+ def->label = L("G-code viewer");
+ def->tooltip = L("Visualize an already sliced and saved G-code");
+ def->cli = "gcodeviewer";
+ def->set_default_value(new ConfigOptionBool(false));
+
def = this->add("slice", coBool);
def->label = L("Slice");
def->tooltip = L("Slice the model as FFF or SLA based on the printer_technology configuration value.");
diff --git a/src/platform/msw/PrusaSlicer-gcodeviewer.rc.in b/src/platform/msw/PrusaSlicer-gcodeviewer.rc.in
new file mode 100644
index 000000000..7f4e5a15c
--- /dev/null
+++ b/src/platform/msw/PrusaSlicer-gcodeviewer.rc.in
@@ -0,0 +1,25 @@
+1 VERSIONINFO
+FILEVERSION @SLIC3R_RC_VERSION@
+PRODUCTVERSION @SLIC3R_RC_VERSION@
+{
+ BLOCK "StringFileInfo"
+ {
+ BLOCK "040904E4"
+ {
+ VALUE "CompanyName", "Prusa Research"
+ VALUE "FileDescription", "@SLIC3R_APP_NAME@ G-code Viewer"
+ VALUE "FileVersion", "@SLIC3R_BUILD_ID@"
+ VALUE "ProductName", "@SLIC3R_APP_NAME@ G-code Viewer"
+ VALUE "ProductVersion", "@SLIC3R_BUILD_ID@"
+ VALUE "InternalName", "@SLIC3R_APP_NAME@ G-code Viewer"
+ VALUE "LegalCopyright", "Copyright \251 2016-2020 Prusa Research, \251 2011-2018 Alessandro Ranelucci"
+ VALUE "OriginalFilename", "prusa-gcodeviewer.exe"
+ }
+ }
+ BLOCK "VarFileInfo"
+ {
+ VALUE "Translation", 0x409, 1252
+ }
+}
+2 ICON "@SLIC3R_RESOURCES_DIR@/icons/PrusaSlicer-gcodeviewer.ico"
+1 24 "PrusaSlicer.manifest"