16 Commits

Author SHA1 Message Date
QIDI TECH
e2bde71a1c version update 2025-01-03 15:04:24 +08:00
QIDI TECH
a320582cdc fix some bug 2025-01-03 15:03:32 +08:00
QIDI TECH
360ceaa458 Add WOOD PLA and UltraPA-CF25 2025-01-03 15:01:11 +08:00
QIDI TECH
973d18ea63 Update qidilink.png 2024-12-13 16:42:52 +08:00
QIDI TECH
1c5fda6cad fix bug 2024-12-13 16:14:37 +08:00
wjyLearn
4baf9e41c5 fix PLA Matte temperature 2024-12-03 11:05:10 +08:00
QIDI TECH
dd004ebffd fix some bug 2024-11-30 14:00:32 +08:00
QIDI TECH
1244542711 version update 2024-11-28 15:28:37 +08:00
QIDI TECH
ccb7e095e1 add new filament 2024-11-28 15:26:22 +08:00
QIDI TECH
79518648c0 update src 2024-11-28 15:23:54 +08:00
QIDI TECH
7eb6543991 update slic3r 2024-11-28 15:19:12 +08:00
QIDI TECH
a26696f35e update libslic3r 2024-11-28 15:12:18 +08:00
QIDI TECH
459e7822db update resources 2024-11-28 15:01:13 +08:00
QIDI TECH
22572c2286 Update translation 2024-11-28 14:54:15 +08:00
QIDI TECH
db50a0814e Update dependency 2024-11-28 14:53:09 +08:00
sunsets
506ff7ad8c stl 2024-11-18 13:36:51 +08:00
802 changed files with 67437 additions and 30585 deletions

1
.gitignore vendored
View File

@@ -27,3 +27,4 @@ SVG
**/process_full/
**/machine_full/
**/filament_full/
.idea/

View File

@@ -119,7 +119,7 @@ fi
if ! [[ -n "${DISABLE_PARALLEL_LIMIT}" ]]
then
FREE_MEM_GB=$(free -g -t | grep 'Mem' | rev | cut -d" " -f1 | rev)
MAX_THREADS=$(echo "scale=0; $FREE_MEM_GB / 2.5" | bc)
MAX_THREADS=$((FREE_MEM_GB * 10 / 25))
if [ "$MAX_THREADS" -lt 1 ]; then
export CMAKE_BUILD_PARALLEL_LEVEL=1
else

View File

@@ -42,6 +42,7 @@ set(SLIC3R_GTK "2" CACHE STRING "GTK version to use with wxWidgets on Linux")
set(IS_CROSS_COMPILE FALSE)
set(FLATPAK FALSE CACHE BOOL "Not copy FFMPEG file")
if (APPLE)
set(CMAKE_FIND_FRAMEWORK LAST)
@@ -54,6 +55,8 @@ if (APPLE)
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(CMAKE_INSTALL_RPATH "$ORIGIN")
endif ()
# Proposal for C++ unit tests and sandboxes
@@ -167,6 +170,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
# WIN10SDK_PATH is used to point CMake to the WIN10 SDK installation directory.
# We pick it from environment if it is not defined in another way
if(WIN32)
find_package(PkgConfig REQUIRED)
if(NOT DEFINED WIN10SDK_PATH)
if(DEFINED ENV{WIN10SDK_PATH})
set(WIN10SDK_PATH "$ENV{WIN10SDK_PATH}")
@@ -619,6 +623,10 @@ function(qidistudio_copy_dlls target config postfix output_dlls)
${CMAKE_PREFIX_PATH}/bin/occt/TKXDESTEP.dll
${CMAKE_PREFIX_PATH}/bin/occt/TKXSBase.dll
${CMAKE_PREFIX_PATH}/bin/freetype.dll
${CMAKE_PREFIX_PATH}/bin/avcodec-61.dll
${CMAKE_PREFIX_PATH}/bin/swresample-5.dll
${CMAKE_PREFIX_PATH}/bin/swscale-8.dll
${CMAKE_PREFIX_PATH}/bin/avutil-59.dll
DESTINATION ${_out_dir})
set(${output_dlls}
@@ -654,11 +662,50 @@ function(qidistudio_copy_dlls target config postfix output_dlls)
${_out_dir}/TKXSBase.dll
${_out_dir}/freetype.dll
${_out_dir}/avcodec-61.dll
${_out_dir}/swresample-5.dll
${_out_dir}/swscale-8.dll
${_out_dir}/avutil-59.dll
PARENT_SCOPE
)
endfunction()
function(qidistudio_copy_sos target config postfix output_sos)
set(_out_dir "${CMAKE_CURRENT_BINARY_DIR}")
message ("set out_dir to CMAKE_CURRENT_BINARY_DIR: ${_out_dir}")
file(COPY ${CMAKE_PREFIX_PATH}/lib/libavcodec.so
${CMAKE_PREFIX_PATH}/lib/libavcodec.so.61
${CMAKE_PREFIX_PATH}/lib/libavcodec.so.61.3.100
${CMAKE_PREFIX_PATH}/lib/libavutil.so
${CMAKE_PREFIX_PATH}/lib/libavutil.so.59
${CMAKE_PREFIX_PATH}/lib/libavutil.so.59.8.100
${CMAKE_PREFIX_PATH}/lib/libswscale.so
${CMAKE_PREFIX_PATH}/lib/libswscale.so.8
${CMAKE_PREFIX_PATH}/lib/libswscale.so.8.1.100
${CMAKE_PREFIX_PATH}/lib/libswresample.so
${CMAKE_PREFIX_PATH}/lib/libswresample.so.5
${CMAKE_PREFIX_PATH}/lib/libswresample.so.5.1.100
DESTINATION ${_out_dir})
set(${output_dlls}
${_out_dir}/libavcodec.so
${_out_dir}/libavcodec.so.61
${_out_dir}/libavcodec.so.61.3.100
${_out_dir}/libavutil.so
${_out_dir}/libavutil.so.59
${_out_dir}/libavutil.so.59.8.100
${_out_dir}/libswscale.so
${_out_dir}/libswscale.so.8
${_out_dir}/libswscale.so.8.1.100
${_out_dir}/libswresample.so
${_out_dir}/libswresample.so.5
${_out_dir}/libswresample.so.5.1.100
PARENT_SCOPE
)
endfunction()
# libslic3r, QIDIStudio GUI and the QIDIStudio executable.
add_subdirectory(src)
@@ -714,4 +761,18 @@ else ()
install(DIRECTORY "${SLIC3R_RESOURCES_DIR}/" DESTINATION "${CMAKE_INSTALL_PREFIX}/resources")
endif ()
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT FLATPAK)
set(LIBRARY_FILES
${LIBDIR_BIN}/libavcodec.so.61
${LIBDIR_BIN}/libavcodec.so.61.3.100
${LIBDIR_BIN}/libavutil.so.59
${LIBDIR_BIN}/libavutil.so.59.8.100
${LIBDIR_BIN}/libswresample.so.5
${LIBDIR_BIN}/libswresample.so.5.1.100
${LIBDIR_BIN}/libswscale.so.8
${LIBDIR_BIN}/libswscale.so.8.1.100
)
install(FILES ${LIBRARY_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/bin")
endif ()
configure_file(${LIBDIR}/platform/unix/fhs.hpp.in ${LIBDIR_BIN}/platform/unix/fhs.hpp)

View File

@@ -11,7 +11,7 @@
<key>CFBundleIconFile</key>
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
<key>CFBundleIdentifier</key>
<string>com.qidilab.qidi-studio</string>
<string>com.qiditech.qidi-studio</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleLongVersionString</key>
@@ -129,5 +129,10 @@
<true/>
<key>NSHumanReadableCopyright</key>
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
</dict>
</plist>

View File

@@ -1,5 +1,5 @@
From 1d6cd7c2f8640db3cda194c1b9b82f1e4b321395 Mon Sep 17 00:00:00 2001
From: "chunmao.guo" <chunmao.guo@qidilab.com>
From: "chunmao.guo" <chunmao.guo@qiditech.com>
Date: Thu, 5 Jan 2023 15:55:57 +0800
Subject: [PATCH] FIX: limit_handles

View File

@@ -129,7 +129,7 @@ list(APPEND _patch_command COMMAND git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST
ExternalProject_Add(
dep_Boost
#URL "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip"
URL "https://github.com/qidilab/boost/releases/download/1.78.0/boost_1_78_0.zip"
URL "https://github.com/qiditech/boost/releases/download/1.78.0/boost_1_78_0.zip"
URL_HASH SHA256=f22143b5528e081123c3c5ed437e92f648fe69748e95fa6e2bd41484e2986cc3
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
CONFIGURE_COMMAND "${_bootstrap_cmd}"

7
deps/CMakeLists.txt vendored
View File

@@ -39,6 +39,7 @@ option(DEP_BUILD_OPENSSL "Compile openssl" ON)
option(DEP_BUILD_GLFW "Compile GLFW" ON)
option(DEP_BUILD_FREETYPE "Compile freetype" ON)
option(DEP_BUILD_WXWIDGETS "Compile wxWidgets" ON)
option(DEP_BUILD_FFMPEG "Compile ffmpeg" ON)
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Path for downloaded source packages.")
@@ -229,6 +230,11 @@ if (DEP_BUILD_FREETYPE)
endif ()
include(OCCT/OCCT.cmake)
include(OpenCV/OpenCV.cmake)
set(FFMPEG_PKG "")
if (DEP_BUILD_FFMPEG)
include(FFMPEG/FFMPEG.cmake)
set(FFMPEG_PKG dep_FFMPEG)
endif ()
set(_dep_list
${BOOST_PKG}
@@ -247,6 +253,7 @@ set(_dep_list
${ZLIB_PKG}
${EXPAT_PKG}
${FREETYPE_PKG}
${FFMPEG_PKG}
)
if (MSVC)

60
deps/FFMPEG/FFMPEG.cmake vendored Normal file
View File

@@ -0,0 +1,60 @@
set(_conf_cmd ./configure)
if (MSVC)
set(_dstdir ${DESTDIR}/usr/local)
set(_source_dir "${CMAKE_BINARY_DIR}/dep_FFMPEG-prefix/src/dep_FFMPEG")
ExternalProject_Add(dep_FFMPEG
URL https://github.com/qiditech/ffmpeg_prebuilts/releases/download/7.0.2/7.0.2_msvc.zip
URL_HASH SHA256=DF44AE6B97CE84C720695AE7F151B4A9654915D1841C68F10D62A1189E0E7181
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND
# COMMAND ${CMAKE_COMMAND} -E make_directory "${_dstdir}/bin"
# COMMAND ${CMAKE_COMMAND} -E make_directory "${_dstdir}/lib"
# COMMAND ${CMAKE_COMMAND} -E make_directory "${_dstdir}/include"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${_source_dir}/bin" "${_dstdir}/bin"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${_source_dir}/lib" "${_dstdir}/lib"
COMMAND ${CMAKE_COMMAND} -E copy_directory "${_source_dir}/include" "${_dstdir}/include"
)
else ()
set(_extra_cmd "--pkg-config-flags=\"--static\"")
string(APPEND _extra_cmd "--extra-cflags=\"-I ${DESTDIR}/usr/local/include\"")
string(APPEND _extra_cmd "--extra-ldflags=\"-I ${DESTDIR}/usr/local/lib\"")
string(APPEND _extra_cmd "--extra-libs=\"-lpthread -lm\"")
string(APPEND _extra_cmd "--ld=\"g++\"")
string(APPEND _extra_cmd "--bindir=\"${DESTDIR}/usr/local/bin\"")
string(APPEND _extra_cmd "--enable-gpl")
string(APPEND _extra_cmd "--enable-nonfree")
ExternalProject_Add(dep_FFMPEG
URL https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.2.tar.gz
URL_HASH SHA256=5EB46D18D664A0CCADF7B0ADEE03BD3B7FA72893D667F36C69E202A807E6D533
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
CONFIGURE_COMMAND ${_conf_cmd}
"--prefix=${DESTDIR}/usr/local"
"--enable-shared"
"--disable-doc"
"--enable-small"
"--disable-outdevs"
"--disable-filters"
"--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*"
"--disable-protocols"
"--enable-protocol=file,fd,pipe,rtp,udp"
"--disable-muxers"
"--enable-muxer=rtp"
"--disable-encoders"
"--disable-decoders"
"--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*"
"--disable-demuxers"
"--enable-demuxer=h264,mp3,mov"
"--disable-zlib"
"--disable-avdevice"
BUILD_IN_SOURCE ON
BUILD_COMMAND make -j
INSTALL_COMMAND make install
)
endif()

2
deps/GMP/GMP.cmake vendored
View File

@@ -43,7 +43,7 @@ else ()
endif ()
ExternalProject_Add(dep_GMP
URL https://github.com/qidilab/gmp/archive/refs/tags/6.2.1.tar.gz
URL https://github.com/qiditech/gmp/archive/refs/tags/6.2.1.tar.gz
URL_HASH SHA256=705ae57ee2014b2c6fc0f572c85ee43276b99b6b256ee16c1a9d3a8c4e3609d5
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP
BUILD_IN_SOURCE ON

View File

@@ -23,7 +23,7 @@ endif ()
# endif ()
qidistudio_add_cmake_project(wxWidgets
GIT_REPOSITORY "https://github.com/bambulab/wxWidgets"
GIT_REPOSITORY "https://github.com/qiditech/wxWidgets"
GIT_TAG master
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${TIFF_PKG} ${JPEG_PKG}
CMAKE_ARGS

View File

@@ -13,7 +13,7 @@ Full manual for GNUgettext can be seen here: http://www.gnu.org/software/gettext
### Scenario 1. How do I add a translation or fix an existing translation
1. Get PO-file 'QIDIStudio_xx.pot' from corresponding sub-folder here:
https://github.com/qidilab/QIDIStudio/tree/master/qdt/i18n
https://github.com/qiditech/QIDIStudio/tree/master/qdt/i18n
2. Open this file in PoEdit as "Edit a translation"
3. Apply your corrections to the translation
4. Push changed QIDIStudio_xx.po into the original folder
@@ -21,14 +21,14 @@ https://github.com/qidilab/QIDIStudio/tree/master/qdt/i18n
### Scenario 2. How do I add a new language support
1. Get file QIDIStudio.pot here :
https://github.com/qidilab/QIDIStudio/tree/master/qdt/i18n
https://github.com/qiditech/QIDIStudio/tree/master/qdt/i18n
2. Open it in PoEdit for "Create new translation"
3. Select Translation Language (for example French).
4. As a result you will have fr.po - the file containing translation to French.
Notice. When the translation is complete you need to:
- Rename the file to QIDIStudio_fr.po
- Click "Save file" button. QIDIStudio_fr.mo will be created immediately
- QIDI_Studio_fr.po needs to be copied into the sub-folder fr of https://github.com/qidilab/QIDIStudio/tree/master/qdt/i18n, and be pushed
- QIDI_Studio_fr.po needs to be copied into the sub-folder fr of https://github.com/qiditech/QIDIStudio/tree/master/qdt/i18n, and be pushed
- copy QIDIStudio_xx.mo into resources/i18n/xx and rename it to QIDIStudio.mo, then push the changed file.
( name of folder "fr" means "French" - the translation language).
@@ -43,7 +43,7 @@ If you add new file resource, add it to the list of files containing macro `L()`
### Scenario 4. How do I use GNUgettext to localize my own application taking QIDI Studio as an example
1. For convenience create a list of files with this macro `L(s)`. We have
https://github.com/qidilab/QIDIStudio/blob/master/qdt/i18n/list.txt.
https://github.com/qiditech/QIDIStudio/blob/master/qdt/i18n/list.txt.
2. Create template file(*.POT) with GNUgettext command:
```

View File

@@ -15,4 +15,4 @@
7. 支持匈牙利语
8. 一些关键问题修复
详细信息请查看https://github.com/qidilab/QIDIStudio/releases
详细信息请查看https://github.com/qiditech/QIDIStudio/releases

View File

@@ -15,4 +15,4 @@
7. Added Magyar translations
8. Fixed some known bugs
For details, please check https://github.com/qidilab/QIDIStudio/releases
For details, please check https://github.com/qiditech/QIDIStudio/releases

View File

@@ -27,16 +27,19 @@ REQUIRED_DEV_PACKAGES=(
libunwind-dev
libfuse2
texinfo
nasm
yasm
libx264-dev
)
if [[ -n "$UPDATE_LIB" ]]
then
# for ubuntu 22+ and 23+:
ubu_major_version="$(grep VERSION_ID /etc/os-release | cut -d "=" -f 2 | cut -d "." -f 1 | tr -d /\"/)"
if [ $ubu_major_version == "22" ] || [ $ubu_major_version == "23" ]
if [ $ubu_major_version = "22" ] || [ $ubu_major_version = "23" ]
then
REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.0-dev curl libfuse-dev libssl-dev libcurl4-openssl-dev m4)
elif [ $ubu_major_version == "24" ]
elif [ $ubu_major_version = "24" ]
then
REQUIRED_DEV_PACKAGES+=(libwebkit2gtk-4.1-dev)
else
@@ -56,4 +59,4 @@ then
exit 0
fi
FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev || echo '')
FOUND_GTK3_DEV=$(dpkg -l libgtk* | grep gtk-3-dev || echo '')

View File

@@ -35,6 +35,9 @@ REQUIRED_DEV_PACKAGES=(
wget
libcurl-devel
libquadmath-devel
nasm
yasm
x264-devel
)
if [[ -n "$UPDATE_LIB" ]]
@@ -52,6 +55,8 @@ then
done
if [ -n "${NEEDED_PKGS}" ]; then
sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf -y update
sudo dnf install -y ${NEEDED_PKGS}
fi
echo -e "done\n"

View File

@@ -17,9 +17,12 @@ const std::string Extrusion_Role_Tag = " FEATURE: ";
const std::string Width_Tag = " LINE_WIDTH: ";
const std::string Wipe_Start_Tag = " WIPE_START";
const std::string Wipe_End_Tag = " WIPE_END";
const std::string Wipe_Tower_Start_Tag = " WIPE_TOWER_START";
const std::string Wipe_Tower_End_Tag = " WIPE_TOWER_END";
const std::string Layer_Change_Tag = " CHANGE_LAYER";
const std::string Height_Tag = " LAYER_HEIGHT: ";
const std::string filament_flow_ratio_tag = " filament_flow_ratio";
const std::string has_scarf_joint_seam_tag = " has_scarf_joint_seam";
const std::string nozzle_temperature_Tag = " nozzle_temperature =";
const std::string nozzle_temperature_initial_layer_Tag = " nozzle_temperature_initial_layer";
const std::string Z_HEIGHT_TAG = " Z_HEIGHT: ";
@@ -130,6 +133,12 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
m_wiping = true;
} else if (starts_with(comment, Wipe_End_Tag)) {
m_wiping = false;
}
else if (starts_with(comment, Wipe_Tower_Start_Tag)) {
is_wipe_tower = true;
}
else if (starts_with(comment, Wipe_Tower_End_Tag)) {
is_wipe_tower = false;
} else if (starts_with(comment, Height_Tag)) {
std::string str = comment.substr(Height_Tag.size());
if (!parse_double_from_str(str, m_height)) {
@@ -162,6 +171,11 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
return GCodeCheckResult::ParseFailed;
}
}
else if (starts_with(comment, has_scarf_joint_seam_tag))
{
std::string str = comment.substr(has_scarf_joint_seam_tag.size() + 3);
has_scarf_joint_seam = (str == "1");
}
else if (starts_with(comment, nozzle_temperature_Tag)) {
std::string str = comment.substr(nozzle_temperature_Tag.size() + 1);
if (!parse_double_from_str(str, nozzle_temperature)) {
@@ -232,6 +246,10 @@ GCodeCheckResult GCodeChecker::parse_command(GCodeLine& gcode_line)
ret = parse_M104_M109(gcode_line);
break;
} // Set to nozzle temperature
case 1020: {
ret = parse_M1020(gcode_line);
break;
}
default: { break; }
}
break;
@@ -407,20 +425,31 @@ GCodeCheckResult GCodeChecker::parse_G92(GCodeLine& gcode_line)
return GCodeCheckResult::ParseFailed;
}
if (gcode_line.has(X))
bool any_found = false;
if (gcode_line.has(X)){
m_origin[X] = m_end_position[X] - gcode_line.get(X);
any_found = true;
}
if (gcode_line.has(Y))
if (gcode_line.has(Y)){
m_origin[Y] = m_end_position[Y] - gcode_line.get(Y);
any_found = true;
}
if (gcode_line.has(Z))
if (gcode_line.has(Z)){
m_origin[Z] = m_end_position[Z] - gcode_line.get(Z);
any_found = true;
}
if (gcode_line.has(E))
if (gcode_line.has(E)){
m_end_position[E] = gcode_line.get(E);
any_found = true;
}
for (unsigned char a = X; a <= E; ++a) {
m_origin[a] = m_end_position[a];
if (!any_found) {
for (unsigned char a = X; a <= E; ++a) {
m_origin[a] = m_end_position[a];
}
}
return GCodeCheckResult::Success;
@@ -469,6 +498,46 @@ GCodeCheckResult GCodeChecker::parse_M104_M109(const GCodeLine &gcode_line)
return GCodeCheckResult::Success;
}
GCodeCheckResult GCodeChecker::parse_M1020(const GCodeLine& gcode_line)
{
const char* c = gcode_line.m_raw.c_str();
const char* rs = strchr(c, 'S');
if (rs != nullptr) {
std::string str = rs;
str = str.substr(1);
for (int i = 0; i < str.size(); i++) {
if (str[i] == ' ')
str = str.substr(0, i);
}
try {
int value = std::stoi(str);
if (value >= 0 && value <= filament_flow_ratio.size() - 1) {
filament_id = value;
flow_ratio = filament_flow_ratio[value];
return GCodeCheckResult::Success;
}
else {
return GCodeCheckResult::ParseFailed;
}
}
catch (std::invalid_argument&) {
std::cout << "Invalid argument: not a valid integer" << std::endl;
return GCodeCheckResult::ParseFailed;
}
catch (std::out_of_range&) {
std::cout << "Out of range: number is too large" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
else
{
std::cout << "Missing 'S' character in the G-code line!" << std::endl;
return GCodeCheckResult::ParseFailed;
}
}
double GCodeChecker::calculate_G1_width(const std::array<double, 3>& source,
const std::array<double, 3>& target,
double e, double height, bool is_bridge) const
@@ -593,8 +662,21 @@ GCodeCheckResult GCodeChecker::check_G0_G1_width(const GCodeLine& line)
std::array<double, 3> target = { m_end_position[X], m_end_position[Y], m_end_position[Z] };
bool is_bridge = m_role == erOverhangPerimeter || m_role == erBridgeInfill;
if (!is_bridge) {
double width_real = calculate_G1_width(source, target, delta_pos[E], m_height, is_bridge);
if (!is_bridge && !is_wipe_tower) {
double real_height = m_height;
if (line.has(Z) && has_scarf_joint_seam && line.get(Z) != 0)
{
if (line.get(Z) == z_height)
{
return GCodeCheckResult::Success;
}
if (line.get(Z) && line.get(E))
{
return GCodeCheckResult::Success;
}
real_height = line.get(Z) - (z_height - m_height);
}
double width_real = calculate_G1_width(source, target, delta_pos[E], real_height, is_bridge);
if (fabs(width_real - m_width) > WIDTH_THRESHOLD) {
std::cout << "Invalid G0_G1 because has abnormal line width." << std::endl;
std::cout << "Width: " << m_width << " Width_real: " << width_real << std::endl;

View File

@@ -109,6 +109,7 @@ private:
GCodeCheckResult parse_M82(const GCodeLine& gcode_line);
GCodeCheckResult parse_M83(const GCodeLine& gcode_line);
GCodeCheckResult parse_M104_M109(const GCodeLine &gcode_line);
GCodeCheckResult parse_M1020(const GCodeLine& gcode_line);
GCodeCheckResult parse_comment(GCodeLine& gcode_line);
@@ -167,7 +168,7 @@ public:
std::string cmd=input;
size_t read = 0;
while (cmd.size() >= 5)
while (cmd.find(',') != std::string::npos)
{
int pt = 0;
for (pt = 0; pt < cmd.size(); pt++) {
@@ -217,6 +218,8 @@ private:
std::vector<double> filament_flow_ratio;
std::vector<double> nozzle_temperature;
std::vector<double> nozzle_temperature_initial_layer;
bool has_scarf_joint_seam = false;
bool is_wipe_tower = false;
};
}

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

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

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

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

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

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 560 KiB

After

Width:  |  Height:  |  Size: 502 KiB

View File

@@ -155,7 +155,7 @@ image = images/dailytips_TypesOfSupports.png
; [hint:Printing Silk Filament]
; text = Printing Silk Filament\nDid you know that Silk filament needs special consideration to print it successfully? Higher temperature and lower speed are always recommended for the best results.
; documentation_link= https://wiki.qidilab.com/en/x1/manual/printing-with-silk-filaments
; documentation_link= https://wiki.qiditech.com/en/x1/manual/printing-with-silk-filaments
[hint:Brim for better adhesion]
text = Brim for better adhesion\nDid you know that when printing models have a small contact interface with the printing surface, it's recommended to use a brim?
@@ -173,7 +173,7 @@ image = images/dailytips_StackObject.png
# hint:Flush into support/objects/infill]
# text = Flush into support/objects/infill\nDid you know that you can save the wasted filament by flushing them into support/objects/infill during filament change?
# documentation_link= https://wiki.qidilab.com/en/software/qidi-studio/reduce-wasting-during-filament-change
# documentation_link= https://wiki.qiditech.com/en/software/qidi-studio/reduce-wasting-during-filament-change
[hint:Improve strength]
text = Improve strength\nDid you know that you can use more wall loops and higher sparse infill density to improve the strength of the model?

View File

@@ -0,0 +1,61 @@
colors
#000000 #C12E1F #00AE42 #545454 #D1D3D5 #5B6579 #F4EE2A #9D432C #5E43B7 #0A2989 #FF6A13 #8E9089
src dst flush
#000000 #F4EE2A 450
#000000 #5E43B7 330
#C12E1F #F4EE2A 420
#C12E1F #FF6A13 210
#00AE42 #D1D3D5 330
#00AE42 #F4EE2A 240
#00AE42 #FF6A13 270
#545454 #00AE42 180
#545454 #D1D3D5 240
#545454 #F4EE2A 270
#545454 #5E43B7 120
#545454 #FF6A13 300
#545454 #8E9089 120
#D1D3D5 #F4EE2A 120
#D1D3D5 #FF6A13 150
#5B6579 #C12E1F 120
#5B6579 #00AE42 90
#5B6579 #D1D3D5 120
#5B6579 #F4EE2A 180
#5B6579 #9D432C 120
#5B6579 #0A2989 90
#5B6579 #FF6A13 180
#5B6579 #8E9089 90
#F4EE2A #000000 120
#F4EE2A #C12E1F 90
#F4EE2A #00AE42 150
#F4EE2A #9D432C 150
#F4EE2A #FF6A13 90
#9D432C #00AE42 240
#9D432C #D1D3D5 300
#9D432C #F4EE2A 270
#9D432C #FF6A13 180
#9D432C #8E9089 210
#5E43B7 #00AE42 180
#5E43B7 #D1D3D5 270
#5E43B7 #F4EE2A 270
#5E43B7 #9D432C 150
#5E43B7 #FF6A13 270
#5E43B7 #8E9089 210
#0A2989 #C12E1F 330
#0A2989 #00AE42 210
#0A2989 #545454 150
#0A2989 #D1D3D5 450
#0A2989 #5B6579 240
#0A2989 #9D432C 270
#0A2989 #5E43B7 180
#0A2989 #FF6A13 390
#0A2989 #8E9089 270
#FF6A13 #C12E1F 90
#FF6A13 #D1D3D5 210
#FF6A13 #F4EE2A 210
#FF6A13 #9D432C 120
#FF6A13 #8E9089 180
#8E9089 #C12E1F 150
#8E9089 #00AE42 120
#8E9089 #D1D3D5 150
#8E9089 #F4EE2A 270
#8E9089 #FF6A13 150

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.

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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.5,14.5a1,1,0,0,1-1-1v-9h-4a1,1,0,0,1-1-1v-2a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v2a1,1,0,0,1-1,1h-4v2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><line x1="8.5" y1="8.5" x2="14.5" y2="14.5" style="fill:none;stroke:#009688;stroke-linejoin:round"/><line x1="14.5" y1="8.5" x2="8.5" y2="14.5" style="fill:none;stroke:#009688;stroke-linejoin:round"/><line x1="11.5" y1="8.5" x2="11.5" y2="14.5" style="fill:none;stroke:#009688;stroke-linecap:square;stroke-linejoin:round"/><line x1="14.5" y1="11.5" x2="8.5" y2="11.5" style="fill:none;stroke:#009688;stroke-linecap:square;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 721 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.5,14.5a1,1,0,0,1-1-1v-9h-4a1,1,0,0,1-1-1v-2a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v2a1,1,0,0,1-1,1h-4v2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M15,11.5A3.5,3.5,0,1,1,11.5,8,3.5,3.5,0,0,1,15,11.5ZM14,11H9v1h5Z" style="fill:#009688"/></svg>

After

Width:  |  Height:  |  Size: 373 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.5,14.5a1,1,0,0,1-1-1v-9h-4a1,1,0,0,1-1-1v-2a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v2a1,1,0,0,1-1,1h-4v2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M15,11.5A3.5,3.5,0,1,1,11.5,8,3.5,3.5,0,0,1,15,11.5ZM14,11H12V9H11v2H9v1h2v2h1V12h2Z" style="fill:#009688"/></svg>

After

Width:  |  Height:  |  Size: 392 B

View File

@@ -0,0 +1,3 @@
<svg width="8" height="8" viewBox="0 0 8 8" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.346 0.361999H5.068V3.078H7.77V4.786H5.068V7.502H3.346V4.786H0.63V3.078H3.346V0.361999Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 214 B

View File

Before

Width:  |  Height:  |  Size: 214 B

After

Width:  |  Height:  |  Size: 214 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="2.5" y1="1.5" x2="12.5" y2="1.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/><path d="M1.541,12.5A12,12,0,0,1,12.5,1.541" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><rect x="12.5" y="0.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><rect x="0.5" y="12.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><circle cx="1.5" cy="1.5" r="1.5" style="fill:#949494"/></svg>

After

Width:  |  Height:  |  Size: 641 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.5,14.5h2a1,1,0,0,0,1-1v-9h4a1,1,0,0,0,1-1v-2a1,1,0,0,0-1-1H1.5a1,1,0,0,0-1,1v2a1,1,0,0,0,1,1h4v9a1,1,0,0,0,1,1" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 290 B

View File

@@ -0,0 +1,5 @@
<svg width="407" height="141" viewBox="0 0 407 141" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M29.635 14.6721L70.408 1.42417L111.181 14.6721L136.38 49.3557V92.2269L111.181 126.91L70.408 140.158L29.635 126.91L4.43594 92.2269V49.3557L29.635 14.6721Z" stroke="#262E30"/>
<path d="M309.925 6.6897L336.476 1.40823L363.028 6.6897L385.538 21.7301L400.578 44.2396L405.859 70.7913L400.578 97.343L385.538 119.852L363.028 134.893L336.476 140.174L309.925 134.893L287.415 119.852L272.375 97.343L267.093 70.7913L272.375 44.2395L287.415 21.7301L309.925 6.6897Z" stroke="#262E30"/>
<path d="M257.937 80.4962C258.328 80.1057 258.328 79.4725 257.937 79.082L251.573 72.718C251.183 72.3275 250.549 72.3275 250.159 72.718C249.768 73.1085 249.768 73.7417 250.159 74.1322L255.816 79.7891L250.159 85.4459C249.768 85.8364 249.768 86.4696 250.159 86.8601C250.549 87.2507 251.183 87.2507 251.573 86.8601L257.937 80.4962ZM152 80.7891L257.23 80.7891L257.23 78.7891L152 78.7891L152 80.7891Z" fill="#262E30"/>
</svg>

After

Width:  |  Height:  |  Size: 1001 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="2.5" y1="1.5" x2="12.5" y2="1.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/><line x1="8.5" y1="8.5" x2="14.5" y2="14.5" style="fill:none;stroke:#009688;stroke-linejoin:round"/><line x1="14.5" y1="8.5" x2="8.5" y2="14.5" style="fill:none;stroke:#009688;stroke-linejoin:round"/><line x1="11.5" y1="8.5" x2="11.5" y2="14.5" style="fill:none;stroke:#009688;stroke-linecap:square;stroke-linejoin:round"/><line x1="14.5" y1="11.5" x2="8.5" y2="11.5" style="fill:none;stroke:#009688;stroke-linecap:square;stroke-linejoin:round"/><path d="M1.541,12.5A12,12,0,0,1,12.5,1.541" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><rect x="12.5" y="0.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><rect x="0.5" y="12.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><circle cx="1.5" cy="1.5" r="1.5" style="fill:#949494"/></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M15,11.5A3.5,3.5,0,1,1,11.5,8,3.5,3.5,0,0,1,15,11.5ZM14,11H9v1h5Z" style="fill:#009688"/><line x1="2.5" y1="1.5" x2="12.5" y2="1.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/><path d="M1.541,12.5A12,12,0,0,1,12.5,1.541" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><rect x="12.5" y="0.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><rect x="0.5" y="12.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><circle cx="1.5" cy="1.5" r="1.5" style="fill:#949494"/></svg>

After

Width:  |  Height:  |  Size: 739 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M15,11.5A3.5,3.5,0,1,1,11.5,8,3.5,3.5,0,0,1,15,11.5ZM14,11H12V9H11v2H9v1h2v2h1V12h2Z" style="fill:#009688"/><line x1="2.5" y1="1.5" x2="12.5" y2="1.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/><path d="M1.541,12.5A12,12,0,0,1,12.5,1.541" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><rect x="12.5" y="0.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><rect x="0.5" y="12.5" width="2" height="2" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><circle cx="1.5" cy="1.5" r="1.5" style="fill:#949494"/></svg>

After

Width:  |  Height:  |  Size: 758 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M6.5,14.5c-3,0-5-1-5-4,0-5,6-5,4-10,7,2,9,6,9,9,0,4-3,5-6,5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M6.5,12.5a2.151,2.151,0,0,1-2-2c0-2,1-2,2-3,0,1,0,2,1,2s3-2,1-5c3,2,3,3,3,5a2.652,2.652,0,0,1-3,3" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 421 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="2.5" y="7.5" width="10" height="7" rx="1" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M3.5,7.5v-3a4,4,0,0,1,8,0v3" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 332 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="2.5" y="7.5" width="10" height="7" rx="1" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><path d="M11.5,7.5v-3a4,4,0,0,0-7.874-1" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 335 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M7.159.511l-7.034,13A1,1,0,0,0,.966,15H15.034a1,1,0,0,0,.841-1.494L8.841.511A.948.948,0,0,0,7.159.511Z" style="fill:#ff6f00"/><rect x="7" y="4" width="2" height="6" rx="1" style="fill:#fff"/><rect x="7" y="11" width="2" height="2" rx="1" style="fill:#fff"/></svg>

After

Width:  |  Height:  |  Size: 355 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M14.5,8.5v5a1,1,0,0,1-1,1H1.5a1,1,0,0,1-1-1V1.5a1,1,0,0,1,1-1h5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><line x1="14.5" y1="0.5" x2="4.5" y2="10.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="14.5" y1="5.5" x2="14.5" y2="0.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="9.5" y1="0.5" x2="14.5" y2="0.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 602 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="7" width="1" height="3" style="fill:#009688"/><rect x="7" y="12" width="1" height="3" style="fill:#009688"/><rect x="7" y="10" width="1" height="1" style="fill:#009688"/><rect x="7" y="4" width="1" height="1" style="fill:#009688"/><rect x="7" y="6" width="1" height="3" style="fill:#009688"/><polygon points="0.5 14.5 1.5 14.5 5.5 7.5 1.5 0.5 0.5 0.5 0.5 14.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><polygon points="9.5 7.5 13.5 14.5 14.5 14.5 14.5 0.5 13.5 0.5 9.5 7.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 685 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="13" y="6" width="1" height="3" transform="translate(21 -6) rotate(90)" style="fill:#009688"/><rect x="1" y="6" width="1" height="3" transform="translate(9 6) rotate(90)" style="fill:#009688"/><rect x="4" y="7" width="1" height="1" transform="translate(12 3) rotate(90)" style="fill:#009688"/><rect x="10" y="7" width="1" height="1" transform="translate(18 -3) rotate(90)" style="fill:#009688"/><rect x="7" y="6" width="1" height="3" transform="translate(15 0) rotate(90)" style="fill:#009688"/><polygon points="0.5 0.5 0.5 1.5 7.5 5.5 14.5 1.5 14.5 0.5 0.5 0.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><polygon points="7.5 9.5 0.5 13.5 0.5 14.5 14.5 14.5 14.5 13.5 7.5 9.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 886 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="0.5 0.5 0.5 4.5 4.5 4.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><polyline points="14.5 14.5 14.5 10.5 10.5 10.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M14.5,7.5a7,7,0,0,0-13.326-3" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M.5,7.5a7,7,0,0,0,13.326,3" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/></svg>

After

Width:  |  Height:  |  Size: 565 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h10l3,3v10a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm4-12v1a1,1,0,0,0,1,1h4a1,1,0,0,0,1-1v-1m1,12v-3a1,1,0,0,0-1-1h-6a1,1,0,0,0-1,1v3" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>

After

Width:  |  Height:  |  Size: 342 B

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M13.914,6.45A6.5,6.5,0,0,0,2,4.044V1.5a.5.5,0,0,0-1,0v4a.5.5,0,0,0,.5.5h4a.5.5,0,0,0,0-1H2.612a5.477,5.477,0,1,1-.54,3.388.5.5,0,1,0-.987.162,6.5,6.5,0,0,0,11.693,2.743A6.459,6.459,0,0,0,13.914,6.45Z" style="fill:#ff6f00"/></svg>

After

Width:  |  Height:  |  Size: 321 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 194 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 149 KiB

View File

@@ -0,0 +1,5 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.6457 7C10.5448 7 10.4602 6.9247 10.4433 6.82524C10.1226 4.93741 8.47917 3.5 6.5 3.5C4.29086 3.5 2.5 5.29086 2.5 7.5C2.5 9.47929 3.93759 11.1228 5.82559 11.4434C5.92506 11.4603 6.00037 11.5448 6.00037 11.6457V12.7588C6.00037 12.8763 5.89925 12.9688 5.7827 12.9536C3.08405 12.6022 1 10.2945 1 7.5C1 4.46243 3.46243 2 6.5 2C9.29433 2 11.6019 4.08386 11.9536 6.78232C11.9688 6.89888 11.8763 7 11.7587 7H10.6457Z" fill="#FF6F00"/>
<path d="M11.1649 9.76271C11.0854 9.87751 10.9156 9.87751 10.8361 9.76271L8.61993 6.5639C8.52803 6.43126 8.62296 6.25 8.78433 6.25H13.2167C13.3781 6.25 13.473 6.43126 13.3811 6.5639L11.1649 9.76271Z" fill="#FF6F00"/>
<path d="M8.38678 7.61146C8.38678 8.48963 8.22064 9.15893 7.88836 9.61938C7.56082 10.0798 7.09326 10.31 6.48566 10.31C5.87807 10.31 5.40576 10.0822 5.06873 9.6265C4.73645 9.16605 4.57031 8.49438 4.57031 7.61146C4.57031 6.72855 4.73645 6.05687 5.06873 5.59643C5.40576 5.13598 5.87807 4.90576 6.48566 4.90576C7.09326 4.90576 7.56082 5.13598 7.88836 5.59643C8.22064 6.05687 8.38678 6.72855 8.38678 7.61146ZM5.85908 7.61146C5.85908 8.14786 5.90892 8.54659 6.00861 8.80767C6.11304 9.06874 6.27206 9.19928 6.48566 9.19928C6.69453 9.19928 6.8488 9.06874 6.94848 8.80767C7.04817 8.54184 7.09801 8.14311 7.09801 7.61146C7.09801 7.07982 7.04817 6.68346 6.94848 6.42238C6.8488 6.15656 6.69453 6.02364 6.48566 6.02364C6.27206 6.02364 6.11304 6.15181 6.00861 6.40814C5.90892 6.66447 5.85908 7.06558 5.85908 7.61146Z" fill="#FF6F00"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,4 @@
<svg width="14" height="15" viewBox="0 0 14 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.2937 5.6687C9.71589 3.84914 8.01293 2.53076 6.00204 2.53076C3.51563 2.53076 1.5 4.54639 1.5 7.0328C1.5 9.27369 3.13722 11.1322 5.28073 11.4774C5.38062 11.4935 5.4564 11.5783 5.4564 11.6794V12.7916C5.4564 12.9091 5.35522 13.0016 5.23861 12.9868C2.28425 12.6118 0 10.0891 0 7.0328C0 3.71797 2.68721 1.03076 6.00204 1.03076C8.84765 1.03076 11.2307 3.01105 11.8484 5.6687H13.3662C13.5275 5.6687 13.6225 5.84996 13.5306 5.9826L11.0772 9.52371C10.9977 9.63851 10.8279 9.63851 10.7484 9.52371L8.29505 5.9826C8.20315 5.84996 8.29808 5.6687 8.45945 5.6687H10.2937Z" fill="#FF6F00"/>
<path d="M7.99414 7.03451C7.99414 7.96884 7.81738 8.68095 7.46384 9.17084C7.11537 9.66073 6.6179 9.90568 5.97144 9.90568C5.32499 9.90568 4.82247 9.66326 4.46389 9.17842C4.11036 8.68852 3.93359 7.97389 3.93359 7.03451C3.93359 6.09513 4.11036 5.38049 4.46389 4.8906C4.82247 4.40071 5.32499 4.15576 5.97144 4.15576C6.6179 4.15576 7.11537 4.40071 7.46384 4.8906C7.81738 5.38049 7.99414 6.09513 7.99414 7.03451ZM5.30479 7.03451C5.30479 7.60521 5.35782 8.02944 5.46387 8.30722C5.57498 8.58499 5.74417 8.72388 5.97144 8.72388C6.19366 8.72388 6.3578 8.58499 6.46386 8.30722C6.56992 8.02439 6.62295 7.60016 6.62295 7.03451C6.62295 6.46886 6.56992 6.04715 6.46386 5.76937C6.3578 5.48655 6.19366 5.34514 5.97144 5.34514C5.74417 5.34514 5.57498 5.4815 5.46387 5.75422C5.35782 6.02695 5.30479 6.45371 5.30479 7.03451Z" fill="#FF6F00"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

View File

@@ -9,7 +9,7 @@
"description": "TPU: not supported"
},
{
"vendor": "QIDIlab",
"vendor": "QIDITech",
"type": "TPU",
"action": "prohibition",
"description": "TPU: not supported"
@@ -45,13 +45,13 @@
"description": "CF/GF: hard and brittle"
},
{
"vendor": "QIDIlab",
"vendor": "QIDITech",
"type": "PET-CF",
"action": "prohibition",
"description": "QIDI PET-CF/PA6-CF: not supported"
},
{
"vendor": "QIDIlab",
"vendor": "QIDITech",
"type": "PA6-CF",
"action": "prohibition",
"description": "QIDI PET-CF/PA6-CF: not supported"

View File

@@ -1,6 +1,6 @@
{
"name": "Q Series",
"version": "01.09.07.53",
"version": "01.10.01.51",
"force_update": "0",
"description": "Q Series configurations",
"machine_model_list": [
@@ -569,8 +569,272 @@
{
"name": "QIDI TPU 95A-HF @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/QIDI TPU 95A-HF @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "PolyLite PLA@Q-Series",
"sub_path": "filament/PolyLite PLA.json"
},
{
"name": "PolyLite PLA @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/PolyLite PLA @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "PolyLite PLA @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/PolyLite PLA @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "PolyLite PLA @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/PolyLite PLA @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "PolyLite PLA @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/PolyLite PLA @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "PolyLite ABS@Q-Series",
"sub_path": "filament/PolyLite ABS.json"
},
{
"name": "PolyLite ABS @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/PolyLite ABS @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "PolyLite ABS @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/PolyLite ABS @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "PolyLite ABS @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/PolyLite ABS @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "PolyLite ABS @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/PolyLite ABS @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "Overture ABS@Q-Series",
"sub_path": "filament/Overture ABS.json"
},
{
"name": "Overture ABS @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Overture ABS @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "Overture ABS @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Overture ABS @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "Overture ABS @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/Overture ABS @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "Overture ABS @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/Overture ABS @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "Overture PLA@Q-Series",
"sub_path": "filament/Overture PLA.json"
},
{
"name": "Overture PLA @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Overture PLA @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "Overture PLA @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Overture PLA @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "Overture PLA @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/Overture PLA @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "Overture PLA @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/Overture PLA @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "Bambu PLA@Q-Series",
"sub_path": "filament/Bambu PLA.json"
},
{
"name": "Bambu PLA @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Bambu PLA @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "Bambu PLA @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Bambu PLA @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "Bambu PLA @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/Bambu PLA @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "Bambu PLA @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/Bambu PLA @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "Bambu ABS@Q-Series",
"sub_path": "filament/Bambu ABS.json"
},
{
"name": "Bambu ABS @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Bambu ABS @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "Bambu ABS @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Bambu ABS @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "Bambu ABS @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/Bambu ABS @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "Bambu ABS @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/Bambu ABS @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "Bambu PETG@Q-Series",
"sub_path": "filament/Bambu PETG.json"
},
{
"name": "Bambu PETG @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/Bambu PETG @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "Bambu PETG @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/Bambu PETG @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "Bambu PETG @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/Bambu PETG @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "Bambu PETG @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/Bambu PETG @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "HATCHBOX PLA@Q-Series",
"sub_path": "filament/HATCHBOX PLA.json"
},
{
"name": "HATCHBOX PLA @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/HATCHBOX PLA @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "HATCHBOX PLA @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/HATCHBOX PLA @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "HATCHBOX PLA @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/HATCHBOX PLA @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "HATCHBOX PLA @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/HATCHBOX PLA @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "HATCHBOX ABS@Q-Series",
"sub_path": "filament/HATCHBOX ABS.json"
},
{
"name": "HATCHBOX ABS @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/HATCHBOX ABS @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "HATCHBOX ABS @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/HATCHBOX ABS @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "HATCHBOX ABS @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/HATCHBOX ABS @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "HATCHBOX ABS @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/HATCHBOX ABS @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "HATCHBOX PETG@Q-Series",
"sub_path": "filament/HATCHBOX PETG.json"
},
{
"name": "HATCHBOX PETG @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/HATCHBOX PETG @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "HATCHBOX PETG @Qidi Q1 Pro 0.2 nozzle",
"sub_path": "filament/HATCHBOX PETG @Qidi Q1 Pro 0.2 nozzle.json"
},
{
"name": "HATCHBOX PETG @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/HATCHBOX PETG @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "HATCHBOX PETG @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/HATCHBOX PETG @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "QIDI PET-GF@Q-Series",
"sub_path": "filament/QIDI PET-GF.json"
},
{
"name": "QIDI PET-GF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI PET-GF @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "QIDI PET-GF @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/QIDI PET-GF @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "QIDI PET-GF @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/QIDI PET-GF @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "QIDI PAHT-GF@Q-Series",
"sub_path": "filament/QIDI PAHT-GF.json"
},
{
"name": "QIDI PAHT-GF @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI PAHT-GF @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "QIDI PAHT-GF @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/QIDI PAHT-GF @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "QIDI PAHT-GF @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/QIDI PAHT-GF @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "QIDI WOOD Rapido@Q-Series",
"sub_path": "filament/QIDI WOOD Rapido.json"
},
{
"name": "QIDI WOOD Rapido @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI WOOD Rapido @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "QIDI WOOD Rapido @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/QIDI WOOD Rapido @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "QIDI WOOD Rapido @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/QIDI WOOD Rapido @Qidi Q1 Pro 0.8 nozzle.json"
},
{
"name": "QIDI UltraPA-CF25@Q-Series",
"sub_path": "filament/QIDI UltraPA-CF25.json"
},
{
"name": "QIDI UltraPA-CF25 @Qidi Q1 Pro 0.4 nozzle",
"sub_path": "filament/QIDI UltraPA-CF25 @Qidi Q1 Pro 0.4 nozzle.json"
},
{
"name": "QIDI UltraPA-CF25 @Qidi Q1 Pro 0.6 nozzle",
"sub_path": "filament/QIDI UltraPA-CF25 @Qidi Q1 Pro 0.6 nozzle.json"
},
{
"name": "QIDI UltraPA-CF25 @Qidi Q1 Pro 0.8 nozzle",
"sub_path": "filament/QIDI UltraPA-CF25 @Qidi Q1 Pro 0.8 nozzle.json"
}
],
"machine_list": [
{

View File

@@ -0,0 +1,13 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"instantiation": "true",
"inherits": "Bambu ABS@Q-Series",
"name": "Bambu ABS @Qidi Q1 Pro 0.2 nozzle",
"chamber_temperatures": ["0"],
"during_print_exhaust_fan_speed": ["0"],
"filament_max_volumetric_speed": ["2"],
"pressure_advance": ["0.021"],
"compatible_printers": ["Q1 Pro 0.2 nozzle"]
}

View File

@@ -0,0 +1,10 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"instantiation": "true",
"inherits": "Bambu ABS@Q-Series",
"name": "Bambu ABS @Qidi Q1 Pro 0.4 nozzle",
"during_print_exhaust_fan_speed": ["0"],
"compatible_printers": ["Q1 Pro 0.4 nozzle"]
}

View File

@@ -0,0 +1,12 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"instantiation": "true",
"inherits": "Bambu ABS@Q-Series",
"name": "Bambu ABS @Qidi Q1 Pro 0.6 nozzle",
"during_print_exhaust_fan_speed": ["0"],
"nozzle_temperature": ["250"],
"pressure_advance": ["0.014"],
"compatible_printers": ["Q1 Pro 0.6 nozzle"]
}

View File

@@ -0,0 +1,13 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"instantiation": "true",
"inherits": "Bambu ABS@Q-Series",
"name": "Bambu ABS @Qidi Q1 Pro 0.8 nozzle",
"during_print_exhaust_fan_speed": ["0"],
"nozzle_temperature": ["250"],
"pressure_advance": ["0.011"],
"slow_down_min_speed": ["10"],
"compatible_printers": ["Q1 Pro 0.8 nozzle"]
}

View File

@@ -0,0 +1,33 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"name": "Bambu ABS@Q-Series",
"from": "system",
"instantiation": "false",
"inherits": "fdm_filament_common",
"additional_cooling_fan_speed_unseal": ["0"],
"additional_cooling_fan_speed": ["0"],
"chamber_temperatures": ["55"],
"close_fan_the_first_x_layers": ["3"],
"enable_overhang_bridge_fan": ["1"],
"fan_max_speed": ["80"],
"fan_min_speed": ["20"],
"filament_density": ["1.05"],
"filament_flow_ratio": ["0.95"],
"filament_max_volumetric_speed": ["24.5"],
"filament_type": ["ABS"],
"filament_vendor": ["Bambu Lab"],
"nozzle_temperature_initial_layer": ["250"],
"nozzle_temperature_range_high": ["280"],
"nozzle_temperature_range_low": ["240"],
"nozzle_temperature": ["260"],
"overhang_fan_speed": ["80"],
"overhang_fan_threshold": ["25%"],
"pressure_advance": ["0.035"],
"slow_down_layer_time": ["4"],
"temperature_vitrification": ["100"],
"textured_plate_temp_initial_layer" : ["90"],
"textured_plate_temp" : ["90"],
"compatible_printers": []
}

View File

@@ -0,0 +1,12 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"instantiation": "true",
"filament_settings_id": ["Bambu PETG @Qidi Q1 Pro 0.2 nozzle"],
"inherits": "Bambu PETG@Q-Series",
"name": "Bambu PETG @Qidi Q1 Pro 0.2 nozzle",
"filament_max_volumetric_speed": ["1"],
"pressure_advance": ["0.04"],
"compatible_printers": ["Q1 Pro 0.2 nozzle"]
}

View File

@@ -0,0 +1,11 @@
{
"type": "filament",
"filament_id": "GFB99",
"setting_id": "GFSA04",
"instantiation": "true",
"filament_settings_id": ["Bambu PETG @Qidi Q1 Pro 0.4 nozzle"],
"inherits": "Bambu PETG@Q-Series",
"name": "Bambu PETG @Qidi Q1 Pro 0.4 nozzle",
"pressure_advance": ["0.042"],
"compatible_printers": ["Q1 Pro 0.4 nozzle"]
}

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