50 Commits

Author SHA1 Message Date
wjyLearn
82268132e9 fix some bug 2025-10-24 17:20:44 +08:00
wjyLearn
81ea36fdd8 fix some bug 2025-10-24 14:48:36 +08:00
wjyLearn
96cf7d2194 fix some bug 2025-10-24 14:37:50 +08:00
Wu JY
7878c0d2f4 Merge pull request #121 from Rudokhvist/debug
Fix build issues. Closes #120
2025-10-21 11:57:15 +08:00
Wu JY
6db0e20de9 Merge pull request #129 from Psych0h3ad/main
Fixed Japanese translation
2025-10-21 11:52:24 +08:00
Psych0h3ad
300b4e046d Merge pull request #1 from Psych0h3ad/Psych0h3ad-patch-1
Update index.html
2025-10-13 23:58:44 +09:00
Psych0h3ad
9ffbc2c959 Update index.html
Fixed Japanese translation
2025-10-13 23:58:04 +09:00
QIDI TECH
d8620a4d4d version update 2025-09-28 17:53:59 +08:00
QIDI TECH
6b46f9fd48 fix some bug 2025-09-26 11:05:45 +08:00
QIDI TECH
71252cf326 Update Qidi Q2 0.4 nozzle.json 2025-09-25 13:01:38 +08:00
QIDI TECH
6ec016a6f8 fix some bug 2025-09-25 12:07:30 +08:00
QIDI TECH
8177bf8912 fix some bug 2025-09-23 14:20:39 +08:00
QIDI TECH
523aea89af Update Qidi Q2 0.4 nozzle.json 2025-09-23 09:30:21 +08:00
QIDI TECH
f16489db9c version update 2025-09-22 19:17:43 +08:00
QIDI TECH
56232999f5 fix some bug 2025-09-22 15:42:42 +08:00
Rudokhvist
4648145b67 switch to new tool for appimage building 2025-09-19 18:12:47 +03:00
Rudokhvist
89a8103bad fix build 2025-09-19 11:08:36 +03:00
QIDI TECH
5cdfef9f9e update slic3r 2025-09-17 12:32:36 +08:00
QIDI TECH
0c78224f1a update libslic3r 2025-09-17 09:42:58 +08:00
QIDI TECH
eec6d77112 update resources 2025-09-17 09:23:01 +08:00
QIDI TECH
72a3a1e841 Update PrinterWebView.cpp 2025-08-18 14:27:10 +08:00
QIDI TECH
87acaa14f7 version update 2025-08-18 11:08:15 +08:00
QIDI TECH
dab82d0248 update src 2025-08-18 10:34:25 +08:00
QIDI TECH
15dd71693d update resources 2025-08-18 10:06:13 +08:00
QIDI TECH
2fa18f50c6 fix some bug 2025-08-06 15:29:14 +08:00
QIDI TECH
38c3592758 fix some bug 2025-08-05 16:12:34 +08:00
QIDI TECH
8a68adb427 update version 2025-08-04 16:37:41 +08:00
QIDI TECH
661b112a68 update slic3r 2025-08-04 16:30:53 +08:00
QIDI TECH
8d4d60ec48 update libslic3r 2025-08-04 10:13:51 +08:00
QIDI TECH
e3f49c2fb5 update resources 2025-08-01 14:48:54 +08:00
QIDI TECH
5effa59bd0 update i18n 2025-08-01 14:20:48 +08:00
QIDI TECH
8ed41b9f06 update deps 2025-08-01 14:19:36 +08:00
QIDI TECH
fc0a06deaa update box temp 2025-07-12 08:44:35 +08:00
QIDI TECH
a253e093f8 Update version.inc 2025-07-11 13:57:21 +08:00
QIDI TECH
64806161f0 Merge pull request #91 from lishniy/patch-1
Update index.html
2025-07-11 10:08:47 +08:00
QIDI TECH
4dadec668b fix bug of print time 2025-07-11 10:06:00 +08:00
QIDI TECH
eb7e027385 version update 2025-07-11 10:02:29 +08:00
QIDI TECH
7f04d94ea1 fix some bug 2025-07-11 10:01:30 +08:00
QIDI TECH
f60592f1a0 update slic3r 2025-07-10 09:14:38 +08:00
QIDI TECH
e0d447172c update libslic3r 2025-07-08 20:00:47 +08:00
QIDI TECH
bafe693d0a update resources 2025-07-08 19:28:13 +08:00
QIDI TECH
c56a6849eb update translation 2025-07-08 19:16:23 +08:00
Dima Yakovenko
e8c9baa840 Update index.html 2025-06-01 11:52:59 +03:00
Dima Yakovenko
688396a0a0 Update index.html
Wrong Russian translate
2025-06-01 11:44:03 +03:00
QIDI TECH
8c9640a666 fix some bug 2025-05-29 15:24:50 +08:00
QIDI TECH
37aa092244 version update 2025-05-29 13:59:10 +08:00
QIDI TECH
60d6348a42 fix some bug 2025-05-29 13:56:52 +08:00
QIDI TECH
6d0ec79031 fix some bug 2025-05-24 10:17:38 +08:00
QIDI TECH
b68290818e version update 2025-05-24 08:55:43 +08:00
QIDI TECH
031525a16e fix some bug 2025-05-23 20:18:49 +08:00
1462 changed files with 156348 additions and 62080 deletions

4
.gitignore vendored
View File

@@ -28,3 +28,7 @@ SVG
**/machine_full/
**/filament_full/
.idea/
test.js
/.cache/
.clangd
/src/slic3r/QIDI/

244
BuildMac.sh Normal file
View File

@@ -0,0 +1,244 @@
#!/bin/bash
set -e
set -o pipefail
while getopts "1dpa:st:xbc:h" opt; do
case "${opt}" in
d )
export BUILD_TARGET="deps"
;;
p )
export PACK_DEPS="1"
;;
a )
export ARCH="$OPTARG"
;;
s )
export BUILD_TARGET="slicer"
;;
t )
export OSX_DEPLOYMENT_TARGET="$OPTARG"
;;
x )
export SLICER_CMAKE_GENERATOR="Ninja"
export SLICER_BUILD_TARGET="all"
export DEPS_CMAKE_GENERATOR="Ninja"
;;
b )
export BUILD_ONLY="1"
;;
c )
export BUILD_CONFIG="$OPTARG"
;;
1 )
export CMAKE_BUILD_PARALLEL_LEVEL=1
;;
h ) echo "Usage: ./BuildMac.sh [-1][-d][-s][-x][-b][-c]"
echo " -d: Build deps"
echo " -a: Set ARCHITECTURE (arm64 or x86_64 or universal)"
echo " -s: Build slicer only"
echo " -t: Specify minimum version of the target platform, default is 10.15"
echo " -x: Use Ninja CMake generator, default is Xcode"
echo " -b: Build without reconfiguring CMake"
echo " -c: Set CMake build configuration, default is Release"
echo " -1: limit builds to 1 core (where possible)"
exit 0
;;
* )
;;
esac
done
if [ -z "$ARCH" ]; then
ARCH="$(uname -m)"
export ARCH
fi
if [ -z "$BUILD_CONFIG" ]; then
export BUILD_CONFIG="Release"
fi
if [ -z "$BUILD_TARGET" ]; then
export BUILD_TARGET="all"
fi
if [ -z "$SLICER_CMAKE_GENERATOR" ]; then
export SLICER_CMAKE_GENERATOR="Xcode"
fi
if [ -z "$SLICER_BUILD_TARGET" ]; then
export SLICER_BUILD_TARGET="ALL_BUILD"
fi
if [ -z "$DEPS_CMAKE_GENERATOR" ]; then
export DEPS_CMAKE_GENERATOR="Unix Makefiles"
fi
if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then
export OSX_DEPLOYMENT_TARGET="10.15"
fi
echo "Build params:"
echo " - ARCH: $ARCH"
echo " - BUILD_CONFIG: $BUILD_CONFIG"
echo " - BUILD_TARGET: $BUILD_TARGET"
echo " - CMAKE_GENERATOR: $SLICER_CMAKE_GENERATOR for Slicer, $DEPS_CMAKE_GENERATOR for deps"
echo " - OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
echo " - CMAKE_BUILD_PARALLEL_LEVEL: $CMAKE_BUILD_PARALLEL_LEVEL"
echo
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
DEPS_DIR="$PROJECT_DIR/deps"
DEPS_BUILD_DIR="$DEPS_DIR/build/$ARCH"
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
if [ "$SLICER_CMAKE_GENERATOR" == "Xcode" ]; then
export BUILD_DIR_CONFIG_SUBDIR="/$BUILD_CONFIG"
else
export BUILD_DIR_CONFIG_SUBDIR=""
fi
function build_deps() {
# iterate over two architectures: x86_64 and arm64
for _ARCH in x86_64 arm64; do
# if ARCH is universal or equal to _ARCH
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
echo "Building deps..."
(
set -x
mkdir -p "$DEPS"
cd "$DEPS_BUILD_DIR"
if [ "1." != "$BUILD_ONLY". ]; then
cmake "${DEPS_DIR}" \
-G "${DEPS_CMAKE_GENERATOR}" \
-DDESTDIR="$DEPS" \
-DOPENSSL_ARCH="darwin64-${_ARCH}-cc" \
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
-DCMAKE_OSX_ARCHITECTURES:STRING="${_ARCH}" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
fi
cmake --build . --parallel ${CMAKE_BUILD_PARALLEL_LEVEL} --config "$BUILD_CONFIG" --target deps
)
fi
done
}
function pack_deps() {
echo "Packing deps..."
(
set -x
cd "$DEPS_DIR"
tar -zcvf "QIDIStudio_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz" "build"
)
}
function build_slicer() {
# iterate over two architectures: x86_64 and arm64
for _ARCH in x86_64 arm64; do
# if ARCH is universal or equal to _ARCH
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
echo "Building slicer for $_ARCH..."
(
set -x
mkdir -p "$PROJECT_BUILD_DIR"
cd "$PROJECT_BUILD_DIR"
if [ "1." != "$BUILD_ONLY". ]; then
cmake "${PROJECT_DIR}" \
-G "${SLICER_CMAKE_GENERATOR}" \
-DQDT_RELEASE_TO_PUBLIC=1 \
-DQDT_INTERNAL_TESTING=0 \
-DCMAKE_PREFIX_PATH="$DEPS/usr/local" \
-DCMAKE_INSTALL_PREFIX="$PWD/QIDIStudio" \
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
-DCMAKE_MACOSX_RPATH=ON \
-DCMAKE_INSTALL_RPATH="${DEPS}/usr/local" \
-DCMAKE_MACOSX_BUNDLE=ON \
-DCMAKE_OSX_ARCHITECTURES="${_ARCH}" \
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
fi
cmake --build . --config "$BUILD_CONFIG" --target "$SLICER_BUILD_TARGET"
)
echo "Fix macOS app package..."
(
cd "$PROJECT_BUILD_DIR"
mkdir -p QIDIStudio
cd QIDIStudio
# remove previously built app
rm -rf ./QIDIStudio.app
# fully copy newly built app
cp -pR "../src$BUILD_DIR_CONFIG_SUBDIR/QIDIStudio.app" ./QIDIStudio.app
# fix resources
resources_path=$(readlink ./QIDIStudio.app/Contents/Resources)
rm ./QIDIStudio.app/Contents/Resources
cp -R "$resources_path" ./QIDIStudio.app/Contents/Resources
# delete .DS_Store file
find ./QIDIStudio.app/ -name '.DS_Store' -delete
)
fi
done
}
function build_universal() {
echo "Building universal binary..."
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
# Create universal binary
echo "Creating universal binary..."
# PROJECT_BUILD_DIR="$PROJECT_DIR/build_Universal"
mkdir -p "$PROJECT_BUILD_DIR/QIDIStudio"
UNIVERSAL_APP="$PROJECT_BUILD_DIR/QIDIStudio/QIDIStudio.app"
rm -rf "$UNIVERSAL_APP"
cp -R "$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app" "$UNIVERSAL_APP"
# Get the binary path inside the .app bundle
BINARY_PATH="Contents/MacOS/QIDIStudio"
# Create universal binary using lipo
lipo -create \
"$PROJECT_DIR/build/x86_64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
"$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
-output "$UNIVERSAL_APP/$BINARY_PATH"
echo "Universal binary created at $UNIVERSAL_APP"
}
case "${BUILD_TARGET}" in
all)
build_deps
build_slicer
;;
deps)
build_deps
;;
slicer)
build_slicer
;;
*)
echo "Unknown target: $BUILD_TARGET. Available targets: deps, slicer, all."
exit 1
;;
esac
if [ "$ARCH" = "universal" ] && [ "$BUILD_TARGET" != "deps" ]; then
build_universal
fi
if [ "1." == "$PACK_DEPS". ]; then
pack_deps
fi

View File

@@ -1,4 +1,10 @@
cmake_minimum_required(VERSION 3.13)
# The CMake version on Windows must not be greater than 4.0.
if ( ((MSVC) OR (WIN32)) AND (${CMAKE_VERSION} VERSION_GREATER_EQUAL "4.0") )
message(FATAL_ERROR "Only cmake versions between 3.13.x and 4.0.x is supported on windows. Detected version: ${CMAKE_VERSION}")
endif()
project(QIDIStudio)
include("version.inc")
@@ -44,6 +50,7 @@ set(IS_CROSS_COMPILE FALSE)
set(FLATPAK FALSE CACHE BOOL "Not copy FFMPEG file")
if (APPLE)
set(CMAKE_FIND_FRAMEWORK LAST)
set(CMAKE_FIND_APPBUNDLE LAST)
@@ -54,7 +61,10 @@ if (APPLE)
if (CMAKE_MACOSX_BUNDLE)
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
endif()
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
endif ()
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(CMAKE_INSTALL_RPATH "$ORIGIN")
endif ()
@@ -170,6 +180,14 @@ 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)
if(EXISTS "${CMAKE_SOURCE_DIR}/scripts/hooks/pre-commit" AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
message(STATUS ".git: directory")
configure_file(
"${CMAKE_SOURCE_DIR}/scripts/hooks/pre-commit"
"${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit"
)
endif()
find_package(PkgConfig REQUIRED)
if(NOT DEFINED WIN10SDK_PATH)
if(DEFINED ENV{WIN10SDK_PATH})
@@ -238,6 +256,8 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
# On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error.
add_compile_options(-Werror=return-type)
# add_compile_options(-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-label -Wno-unused-local-typedefs)
# removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1)
# https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
@@ -251,6 +271,10 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
add_compile_options(-Wno-deprecated-declarations)
endif()
if((${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang") AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15)
add_compile_options(-Wno-error=enum-constexpr-conversion)
endif()
#GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
@@ -305,7 +329,7 @@ if(WIN32)
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
if(MSVC)
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -DBOOST_SYSTEM_USE_UTF8 )
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x602 -DBOOST_SYSTEM_USE_UTF8 )
# Force the source code encoding to UTF-8. See QIDIStudio GH pull request #5583
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
@@ -347,7 +371,7 @@ endif()
# set(Boost_COMPILER "-mgw81")
# boost::process was introduced first in version 1.64.0,
# boost::beast::detail::base64 was introduced first in version 1.66.0
set(MINIMUM_BOOST_VERSION "1.66.0")
set(MINIMUM_BOOST_VERSION "1.83.0")
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
@@ -366,7 +390,7 @@ endif()
function(slic3r_remap_configs targets from_Cfg to_Cfg)
if(MSVC)
string(TOUPPER ${from_Cfg} from_CFG)
foreach(tgt ${targets})
if(TARGET ${tgt})
set_target_properties(${tgt} PROPERTIES MAP_IMPORTED_CONFIG_${from_CFG} ${to_Cfg})
@@ -668,7 +692,7 @@ function(qidistudio_copy_dlls target config postfix output_dlls)
${_out_dir}/avutil-59.dll
PARENT_SCOPE
)
endfunction()
function(qidistudio_copy_sos target config postfix output_sos)

View File

@@ -1,15 +1,73 @@
#!/bin/bash
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
set -x
set -e
# Wishlist hint: For developers, creating a Docker Compose
# setup with persistent volumes for the build & deps directories
# would speed up recompile times significantly. For end users,
# the simplicity of a single Docker image and a one-time compilation
# seems better.
docker build -t qidistudio \
--build-arg USER=${USER:-root} \
--build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \
$PROJECT_ROOT
function usage() {
echo "Usage: ./DockerBuild.sh [-c][-d][-i][-v]"
echo " -c: Build a self-contained Docker image that can be run directly"
echo " -d: disable safe parallel number limit(By default, the maximum number of parallels is set to free memory/2.5)"
echo " -i: Build and export an AppImage"
echo " -v: Build System Version:ubu22 or ubu24"
echo " -h: this help output"
echo "If you only need to run the program on a built Docker container, just use './DockerBuild.sh -c'"
echo "If you need to build an AppImage using Docker, first run './DockerBuild.sh -d', then run './DockerBuild.sh -s'."
}
unset name
while getopts "hcdiv:" opt; do
case ${opt} in
c )
BUILD_RUNNER=1
;;
d )
BUILD_DEPS=1
;;
i )
BUILD_APPIMAGE=1
;;
v )
SYSTEM_VERSION="$OPTARG"
;;
h ) usage
exit 0
;;
esac
done
if [ -z "$SYSTEM_VERSION" ]; then
SYSTEM_VERSION="ubu22"
fi
if [[ -n "${BUILD_DEPS}" ]]; then
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
echo "Building dependencies for Ubuntu 22.04..."
docker build -f docker/BuildDepsDockerfile -t studio_dep_22:1.0 .
else
docker build -f docker/BuildDepsDockerfile24 -t studio_dep_24:1.0 .
fi
fi
if [[ -n "${BUILD_APPIMAGE}" ]]; then
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_22 -o type=local,dest=./build .
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu22.AppImage
else
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_24 -o type=local,dest=./build .
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu24.AppImage
fi
fi
if [[ -n "${BUILD_RUNNER}" ]]
then
# Wishlist hint: For developers, creating a Docker Compose
# setup with persistent volumes for the build & deps directories
# would speed up recompile times significantly. For end users,
# the simplicity of a single Docker image and a one-time compilation
# seems better.
docker build -t qidistudio \
--build-arg USER=${USER:-root} \
--build-arg UID=$(id -u) \
--build-arg GID=$(id -g) \
$PROJECT_ROOT
fi

View File

@@ -68,8 +68,11 @@ WORKDIR /QIDIStudio
# It might conflict with your mapped user, remove if user ubuntu exist
RUN if id "ubuntu" >/dev/null 2>&1; then userdel -r ubuntu; fi
# Use bash as the shell
# It's easier to run QIDI Studio as the same username,
# UID and GID as your workstation. Since we bind mount
# your home directory into the container, it's handy
# to keep permissions the same. Just in case, defaults
# are root.
# Set ARG values
# If user was passed from build it will create a user same
@@ -114,11 +117,8 @@ RUN ./BuildLinux.sh -s
ENV container=podman
RUN ./BuildLinux.sh -i
# It's easier to run QIDI Studio as the same username,
# UID and GID as your workstation. Since we bind mount
# your home directory into the container, it's handy
# to keep permissions the same. Just in case, defaults
# are root.
# Use bash as the shell
SHELL ["/bin/bash", "-l", "-c"]
# Point FFMPEG Library search to the binary built upon QIDIStudio build time

174
deps/Boost/Boost.cmake vendored
View File

@@ -1,160 +1,26 @@
include(ExternalProject)
if (WIN32)
set(_bootstrap_cmd bootstrap.bat)
set(_build_cmd b2.exe)
else()
set(_bootstrap_cmd ./bootstrap.sh)
set(_build_cmd ./b2)
endif()
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(_boost_toolset gcc)
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
# https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
if (MSVC_VERSION EQUAL 1800)
# 1800 = VS 12.0 (v120 toolset)
set(_boost_toolset "msvc-12.0")
elseif (MSVC_VERSION EQUAL 1900)
# 1900 = VS 14.0 (v140 toolset)
set(_boost_toolset "msvc-14.0")
elseif (MSVC_VERSION LESS 1920)
# 1910-1919 = VS 15.0 (v141 toolset)
set(_boost_toolset "msvc-14.1")
elseif (MSVC_VERSION LESS 1930)
# 1920-1929 = VS 16.0 (v142 toolset)
set(_boost_toolset "msvc-14.2")
elseif (MSVC_VERSION LESS 1950)
# 1930-1949 = VS 17.0 (v143 toolset)
set(_boost_toolset "msvc-14.3")
else ()
message(FATAL_ERROR "Unsupported MSVC version")
set(_context_abi_line "")
set(_context_arch_line "")
if (APPLE AND CMAKE_OSX_ARCHITECTURES)
if (CMAKE_OSX_ARCHITECTURES MATCHES "x86")
set(_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=sysv")
elseif (CMAKE_OSX_ARCHITECTURES MATCHES "arm")
set (_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=aapcs")
endif ()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
if (WIN32)
set(_boost_toolset "clang-win")
elseif (APPLE)
set(_boost_toolset "clang")
else()
set(_boost_toolset clang)
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
endif()
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
set(_boost_toolset "intel")
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
set(_boost_toolset "clang")
endif()
message(STATUS "Deduced boost toolset: ${_boost_toolset} based on ${CMAKE_CXX_COMPILER_ID} compiler")
set(_libs "")
foreach(_comp ${DEP_Boost_COMPONENTS})
list(APPEND _libs "--with-${_comp}")
endforeach()
if (BUILD_SHARED_LIBS)
set(_link shared)
else()
set(_link static)
endif()
set(_bits "")
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
set(_bits 64)
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
set(_bits 32)
set(_context_arch_line "-DBOOST_CONTEXT_ARCHITECTURE:STRING=${CMAKE_OSX_ARCHITECTURES}")
message(STATUS "BOOST param: ${_context_abi_line} ${_context_arch_line}")
endif ()
include(ProcessorCount)
ProcessorCount(NPROC)
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
set(_boost_flags "")
if (UNIX)
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
endif ()
if(APPLE)
set(_boost_flags
"cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
"cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
"mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
"mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}")
endif()
set(_boost_variants "")
if(CMAKE_BUILD_TYPE)
list(APPEND CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES)
endif()
list(FIND CMAKE_CONFIGURATION_TYPES "Release" _cfg_rel)
list(FIND CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" _cfg_relwdeb)
list(FIND CMAKE_CONFIGURATION_TYPES "MinSizeRel" _cfg_minsizerel)
list(FIND CMAKE_CONFIGURATION_TYPES "Debug" _cfg_deb)
if (_cfg_rel GREATER -1 OR _cfg_relwdeb GREATER -1 OR _cfg_minsizerel GREATER -1)
list(APPEND _boost_variants release)
endif()
if ( (NOT MSVC AND _cfg_deb GREATER -1) OR (MSVC AND ${DEP_DEBUG}) )
list(APPEND _boost_variants debug)
endif()
if (NOT _boost_variants)
set(_boost_variants release)
endif()
set(_build_cmd ${_build_cmd}
${_boost_flags}
-j${NPROC}
${_libs}
--layout=versioned
--debug-configuration
toolset=${_boost_toolset}
address-model=${_bits}
link=${_link}
threading=multi
boost.locale.icu=off
--disable-icu
${_boost_variants}
stage)
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
list(APPEND _patch_command COMMAND git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Boost-fix.patch)
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/bambulab/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}"
PATCH_COMMAND ${_patch_command}
BUILD_COMMAND "${_build_cmd}"
BUILD_IN_SOURCE ON
INSTALL_COMMAND "${_install_cmd}"
qidistudio_add_cmake_project(Boost
URL "https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz"
URL_HASH SHA256=4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
LIST_SEPARATOR |
CMAKE_ARGS
-DBOOST_EXCLUDE_LIBRARIES:STRING=contract|fiber|numpy|wave|test
-DBOOST_LOCALE_ENABLE_ICU:BOOL=OFF # do not link to libicu, breaks compatibility between distros
-DBUILD_TESTING:BOOL=OFF
"${_context_abi_line}"
"${_context_arch_line}"
)
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
# Patch the boost::polygon library with a custom one.
ExternalProject_Add(dep_boost_polygon
EXCLUDE_FROM_ALL ON
# GIT_REPOSITORY "https://github.com/prusa3d/polygon"
# GIT_TAG prusaslicer_gmp
URL https://github.com/prusa3d/polygon/archive/refs/heads/prusaslicer_gmp.zip
URL_HASH SHA256=abeb9710f0a7069fb9b22181ae5c56f6066002f125db210e7ffb27032aed6824
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/boost_polygon
DEPENDS dep_Boost
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
"${DESTDIR}/usr/local/include/boost/polygon"
)
# Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms.
list(APPEND _dep_list "dep_boost_polygon")
endif ()
set(DEP_Boost_DEPENDS ZLIB)

59
deps/CGAL/0001-clang19.patch vendored Normal file
View File

@@ -0,0 +1,59 @@
--- a/BGL/include/CGAL/boost/graph/iterator.h 2022-10-07 19:04:41 UTC
+++ b/BGL/include/CGAL/boost/graph/iterator.h
@@ -213,18 +213,7 @@ class Halfedge_around_source_iterator { (public)
{}
#ifndef DOXYGEN_RUNNING
- // design patter: "safe bool"
- // will be replaced by explicit operator bool with C++11
- typedef void (Halfedge_around_source_iterator::*bool_type)() const;
- void this_type_does_not_support_comparisons() const {}
-
- operator bool_type() const
- {
- return (! (this->base() == nullptr)) ?
- &Halfedge_around_source_iterator::this_type_does_not_support_comparisons : 0;
- }
-
bool operator==( const Self& i) const {
CGAL_assertion( anchor == anchor);
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
@@ -313,18 +302,7 @@ class Halfedge_around_target_iterator { (public)
{}
#ifndef DOXYGEN_RUNNING
- // design patter: "safe bool"
- // will be replaced by explicit operator bool with C++11
- typedef void (Halfedge_around_target_iterator::*bool_type)() const;
- void this_type_does_not_support_comparisons() const {}
-
- operator bool_type() const
- {
- return (! (this->base() == nullptr)) ?
- &Halfedge_around_target_iterator::this_type_does_not_support_comparisons : 0;
- }
-
bool operator==( const Self& i) const {
CGAL_assertion( anchor == anchor);
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
@@ -411,18 +389,6 @@ class Halfedge_around_face_iterator { (public)
const value_type& operator * ( ) const { return pos; }
pointer operator -> ( ) { return &pos; }
const value_type* operator -> ( ) const { return &pos; }
-
- // design patter: "safe bool"
- // will be replaced by explicit operator bool with C++11
- typedef void (Halfedge_around_face_iterator::*bool_type)() const;
-
- void this_type_does_not_support_comparisons() const {}
-
- operator bool_type() const
- {
- return (! (this->base() == nullptr)) ?
- &Halfedge_around_face_iterator::this_type_does_not_support_comparisons : 0;
- }
bool operator==( const Self& i) const {
CGAL_assertion( anchor == anchor);

View File

@@ -1,10 +1,12 @@
if (IN_GIT_REPO)
set(CGAL_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_CGAL-prefix/src/dep_CGAL)
endif ()
qidistudio_add_cmake_project(
CGAL
# GIT_REPOSITORY https://github.com/CGAL/cgal.git
# GIT_TAG caacd806dc55c61cc68adaad99f2240f00493b29 # releases/CGAL-5.3
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
PATCH_COMMAND git apply ${CGAL_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-clang19.patch
DEPENDS ${BOOST_PKG} dep_GMP dep_MPFR
)

33
deps/CMakeLists.txt vendored
View File

@@ -27,6 +27,9 @@ include(ExternalProject)
include(ProcessorCount)
ProcessorCount(NPROC)
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
set(NPROC $ENV{CMAKE_BUILD_PARALLEL_LEVEL})
endif()
if (NPROC EQUAL 0)
set(NPROC 1)
endif ()
@@ -50,6 +53,24 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
endif()
set(IS_CROSS_COMPILE FALSE)
if (APPLE)
set(CMAKE_FIND_FRAMEWORK LAST)
set(CMAKE_FIND_APPBUNDLE LAST)
list(FIND CMAKE_OSX_ARCHITECTURES ${CMAKE_SYSTEM_PROCESSOR} _arch_idx)
message(STATUS "qidistudio_add_cmake_project for Apple")
if (CMAKE_OSX_ARCHITECTURES AND _arch_idx LESS 0)
message(STATUS "qidistudio_add_cmake_project for Apple crosscompiling")
set(IS_CROSS_COMPILE TRUE)
set(CMAKE_CXX_COMPILER_ID "Clang")
string(REPLACE ";" "$<SEMICOLON>" CMAKE_OSX_ARCHS "${CMAKE_OSX_ARCHITECTURES}")
set(_cmake_osx_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
set(_cmake_args_osx_arch CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
message(STATUS "Detect Cross-compilation. Will build for target ${CMAKE_OSX_ARCHS}" )
endif ()
endif ()
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
# FIXME:
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
@@ -72,6 +93,17 @@ if (NOT _is_multi AND NOT CMAKE_BUILD_TYPE)
message(STATUS "Forcing CMAKE_BUILD_TYPE to Release as it was not specified.")
endif ()
execute_process(
COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree
RESULT_VARIABLE REV_PARSE_RESULT
OUTPUT_VARIABLE REV_PARSE_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if((REV_PARSE_RESULT EQUAL 0) AND (REV_PARSE_OUTPUT STREQUAL "true"))
# Find relative path from root to source used for adjusting patch command
file(RELATIVE_PATH BINARY_DIR_REL ${CMAKE_SOURCE_DIR}/.. ${CMAKE_BINARY_DIR})
endif ()
function(qidistudio_add_cmake_project projectname)
cmake_parse_arguments(P_ARGS "" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND" "CMAKE_ARGS" ${ARGN})
@@ -102,6 +134,7 @@ function(qidistudio_add_cmake_project projectname)
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
-DBUILD_SHARED_LIBS:BOOL=OFF
${_cmake_osx_arch}
"${_configs_line}"
${DEP_CMAKE_OPTS}
${P_ARGS_CMAKE_ARGS}

View File

@@ -28,32 +28,58 @@ else ()
string(APPEND _extra_cmd "--enable-gpl")
string(APPEND _extra_cmd "--enable-nonfree")
if (APPLE)
set(_minos_cmd
"CFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
"LDFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
)
if (IS_CROSS_COMPILE)
set(_cross_cmd --enable-cross-compile)
set(_pic_cmd --enable-pic)
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
set(_arch_cmd --arch=arm64)
set(_cc_cmd "--cc=clang -arch arm64")
else()
set(_arch_cmd --arch=x86_64)
set(_cc_cmd "--cc=clang -arch x86_64")
endif()
endif()
endif()
set(_build_j -j)
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
set(_build_j "-j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}")
endif()
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"
${_cross_cmd}
${_pic_cmd}
${_arch_cmd}
${_cc_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
BUILD_COMMAND make ${_build_j}
INSTALL_COMMAND make install
)

View File

@@ -3,9 +3,12 @@ project(GLEW)
find_package(OpenGL REQUIRED)
if(OpenGL_EGL_FOUND)
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
# we do not support wayland for now
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
if(OpenGL_EGL_FOUND)
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
endif()
endif()
add_library(GLEW src/glew.c)

20
deps/GMP/GMP.cmake vendored
View File

@@ -22,10 +22,24 @@ else ()
if (APPLE)
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
set(_gmp_build_tgt aarch64)
set(_gmp_build_arch aarch64)
else ()
set(_gmp_build_arch ${CMAKE_SYSTEM_PROCESSOR})
endif()
if (IS_CROSS_COMPILE)
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
set(_gmp_host_arch aarch64)
set(_gmp_host_arch_flags "-arch arm64")
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
set(_gmp_host_arch x86_64)
set(_gmp_host_arch_flags "-arch x86_64")
endif()
set(_gmp_ccflags "${_gmp_ccflags} ${_gmp_host_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
set(_gmp_build_tgt --build=${_gmp_build_arch}-apple-darwin --host=${_gmp_host_arch}-apple-darwin)
else ()
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
set(_gmp_build_tgt "--build=${_gmp_build_arch}-apple-darwin")
endif()
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4

View File

@@ -12,8 +12,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
endif()
qidistudio_add_cmake_project(JPEG
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.0.1.zip
URL_HASH SHA256=d6d99e693366bc03897677650e8b2dfa76b5d6c54e2c9e70c03f0af821b0a52f
DEPENDS ${ZLIB_PKG}
CMAKE_ARGS
-DENABLE_SHARED=OFF

View File

@@ -218,4 +218,4 @@ index ab2d9b3c9f..cd701879b1 100644
+ const auto* aTags = &anOutline->tags[aStartIndex];
const short anEndIndex = anOutline->contours[aContour];
const short aPntsNb = (anEndIndex - aStartIndex) + 1;
aStartIndex = anEndIndex + 1;
aStartIndex = anEndIndex + 1;

View File

@@ -4,11 +4,14 @@ else()
set(library_build_type "Static")
endif()
if (BINARY_DIR_REL)
set(OCCT_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT)
endif ()
qidistudio_add_cmake_project(OCCT
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
PATCH_COMMAND git apply ${OCCT_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
#DEPENDS dep_Boost
#DEPENDS dep_FREETYPE
CMAKE_ARGS

24
deps/OpenCV/0002-clang19-macos.patch vendored Normal file
View File

@@ -0,0 +1,24 @@
diff --git a/3rdparty/libpng/pngpriv.h b/3rdparty/libpng/pngpriv.h
index 583c26f..83e0ab8 100644
--- a/3rdparty/libpng/pngpriv.h
+++ b/3rdparty/libpng/pngpriv.h
@@ -517,18 +517,7 @@
*/
# include <float.h>
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
- /* We need to check that <math.h> hasn't already been included earlier
- * as it seems it doesn't agree with <fp.h>, yet we should really use
- * <fp.h> if possible.
- */
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
-# include <fp.h>
-# endif
-# else
-# include <math.h>
-# endif
+# include <math.h>
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
* MATH=68881

View File

@@ -4,10 +4,14 @@ else ()
set(_use_IPP "-DWITH_IPP=OFF")
endif ()
if (BINARY_DIR_REL)
set(OpenCV_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV)
endif ()
qidistudio_add_cmake_project(OpenCV
URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
PATCH_COMMAND git apply ${OpenCV_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
CMAKE_ARGS
-DBUILD_SHARED_LIBS=0
-DBUILD_PERE_TESTS=OFF
@@ -49,6 +53,7 @@ qidistudio_add_cmake_project(OpenCV
-DWITH_OPENJPEG=OFF
-DWITH_QUIRC=OFF
-DWITH_VTK=OFF
-DWITH_JPEG=OFF
-DWITH_WEBP=OFF
-DENABLE_PRECOMPILED_HEADERS=OFF
-DINSTALL_TESTS=OFF

View File

@@ -1,3 +1,32 @@
if (APPLE AND IS_CROSS_COMPILE)
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND ${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
set(_openexr_arch arm64^^x86_64)
set(_openxr_list_sep LIST_SEPARATOR ^^)
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
else()
set(_openexr_arch ${CMAKE_OSX_ARCHITECTURES})
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
endif()
ExternalProject_Add(dep_OpenEXR
EXCLUDE_FROM_ALL ON
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
INSTALL_DIR ${DESTDIR}/usr/local
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
${_openxr_list_sep}
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
-DBUILD_SHARED_LIBS:BOOL=OFF
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DBUILD_TESTING=OFF
-DPYILMBASE_ENABLE:BOOL=OFF
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
-DOPENEXR_BUILD_UTILS:BOOL=OFF
-DCMAKE_OSX_DEPLOYMENT_TARGET=${DEP_OSX_TARGET}
${_cmake_openexr_arch}
)
else()
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch)
else()
@@ -18,7 +47,7 @@ qidistudio_add_cmake_project(OpenEXR
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
-DOPENEXR_BUILD_UTILS:BOOL=OFF
)
endif()
if (MSVC)
add_debug_dep(dep_OpenEXR)
endif ()

View File

@@ -19,7 +19,7 @@ if(WIN32)
set(_install_cmd nmake install_sw )
else()
if(APPLE)
set(_conf_cmd ./Configure )
set(_conf_cmd export MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} && ./Configure -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} )
else()
set(_conf_cmd "./config")
endif()
@@ -58,6 +58,7 @@ ExternalProject_Add(dep_OpenSSL
${_cross_comp_prefix_line}
no-shared
no-asm
no-tests
no-ssl3-method
no-dynamic-engine
BUILD_IN_SOURCE ON

31
deps/OpenVDB/0001-clang19.patch vendored Normal file
View File

@@ -0,0 +1,31 @@
diff --git a/openvdb/openvdb/tree/NodeManager.h b/openvdb/openvdb/tree/NodeManager.h
index 4d0d9b4..12dabaa 100644
--- a/openvdb/openvdb/tree/NodeManager.h
+++ b/openvdb/openvdb/tree/NodeManager.h
@@ -327,7 +327,7 @@ private:
void operator()(const NodeRange& range) const
{
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
- OpT::template eval(mNodeOp, it);
+ OpT::eval(mNodeOp, it);
}
}
const NodeOp mNodeOp;
@@ -347,7 +347,7 @@ private:
void operator()(const NodeRange& range) const
{
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
- OpT::template eval(mNodeOp, it);
+ OpT::eval(mNodeOp, it);
}
}
const NodeOp& mNodeOp;
@@ -372,7 +372,7 @@ private:
void operator()(const NodeRange& range)
{
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
- OpT::template eval(*mNodeOp, it);
+ OpT::eval(*mNodeOp, it);
}
}
void join(const NodeReducer& other)

View File

@@ -6,6 +6,10 @@ else()
set(_build_static ON)
endif()
if (BINARY_DIR_REL)
set(OPENVDB_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenVDB-prefix/src/dep_OpenVDB)
endif ()
set (_openvdb_vdbprint ON)
#if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
# Build fails on raspberry pi due to missing link directive to latomic
@@ -15,6 +19,7 @@ set (_openvdb_vdbprint ON)
qidistudio_add_cmake_project(OpenVDB
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip # 8.2 patched
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
PATCH_COMMAND git apply ${OPENVDB_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-clang19.patch
# URL https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v10.0.1.zip
# URL_HASH SHA256=48C2CFA9853B58FA86282DF1F83F0E99D07858CC03EB2BA8227DC447A830100A
DEPENDS dep_TBB dep_Blosc dep_OpenEXR ${BOOST_PKG}

29
deps/PNG/0002-clang19-macos.patch vendored Normal file
View File

@@ -0,0 +1,29 @@
--- a/pngpriv.h 2025-04-20 19:36:04.000000000
+++ b/pngpriv.h 2025-04-20 19:35:55.000000000
@@ -511,24 +511,14 @@
* DBL_DIG Maximum number of decimal digits (can be set to any constant)
* DBL_MIN Smallest normalized fp number (can be set to an arbitrary value)
* DBL_MAX Maximum floating point number (can be set to an arbitrary value)
*/
# include <float.h>
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
- /* We need to check that <math.h> hasn't already been included earlier
- * as it seems it doesn't agree with <fp.h>, yet we should really use
- * <fp.h> if possible.
- */
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
-# include <fp.h>
-# endif
-# else
-# include <math.h>
-# endif
+# include <math.h>
+
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
* MATH=68881
*/
# include <m68881.h>
# endif

53
deps/PNG/PNG.cmake vendored
View File

@@ -5,26 +5,43 @@ else ()
set(_disable_neon_extension "")
endif ()
if(APPLE AND IS_CROSS_COMPILE)
# TODO: check if it doesn't create problem when compiling from arm to x86_64
qidistudio_add_cmake_project(PNG
GIT_REPOSITORY https://github.com/glennrp/libpng.git
GIT_TAG v1.6.35
DEPENDS ${ZLIB_PKG}
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/macos-arm64.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
CMAKE_ARGS
-DPNG_SHARED=OFF
-DPNG_STATIC=ON
-DPNG_PREFIX=prusaslicer_
-DPNG_TESTS=OFF
-DDISABLE_DEPENDENCY_TRACKING=OFF
${_disable_neon_extension}
)
else ()
set(_patch_step "")
if (APPLE)
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
endif ()
qidistudio_add_cmake_project(PNG
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
# GIT_TAG v1.6.35
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
DEPENDS ${ZLIB_PKG}
"${_patch_step}"
CMAKE_ARGS
-DPNG_SHARED=OFF
-DPNG_STATIC=ON
-DPNG_PREFIX=prusaslicer_
-DPNG_TESTS=OFF
-DDISABLE_DEPENDENCY_TRACKING=OFF
${_disable_neon_extension}
if (APPLE)
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch)
endif ()
qidistudio_add_cmake_project(PNG
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
# GIT_TAG v1.6.35
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
DEPENDS ${ZLIB_PKG}
"${_patch_step}"
CMAKE_ARGS
-DPNG_SHARED=OFF
-DPNG_STATIC=ON
-DPNG_PREFIX=prusaslicer_
-DPNG_TESTS=OFF
-DDISABLE_DEPENDENCY_TRACKING=OFF
${_disable_neon_extension}
)
endif()
if (MSVC)
add_debug_dep(dep_PNG)

90
deps/PNG/macos-arm64.patch vendored Normal file
View File

@@ -0,0 +1,90 @@
Based on https://github.com/vespakoen/libpng to work around until
https://github.com/glennrp/libpng/pull/354 is resolved.
also added patch from PS2.4 (PNG.pach) in pngrutil.c
---
CMakeLists.txt | 28 ++++++++++++++++++++--------
pngrutil.c | 7 -------
2 files changed, 20 insertions(+), 15 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4db9bb87d..9099d1edf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -82,10 +82,22 @@ option(PNG_HARDWARE_OPTIMIZATIONS "Enable Hardware Optimizations" ON)
set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names")
set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings")
+# CMake currently sets CMAKE_SYSTEM_PROCESSOR to one of x86_64 or arm64 on macOS,
+# based upon the OS architecture, not the target architecture. As such, we need
+# to check CMAKE_OSX_ARCHITECTURES to identify which hardware-specific flags to
+# enable. Note that this will fail if you attempt to build a universal binary in
+# a single cmake invokation.
+if (APPLE AND CMAKE_OSX_ARCHITECTURES)
+ set(TARGET_ARCH ${CMAKE_OSX_ARCHITECTURES})
+else()
+ set(TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR})
+endif()
+
+
if(PNG_HARDWARE_OPTIMIZATIONS)
# set definitions and sources for arm
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
- CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
+if(TARGET_ARCH MATCHES "^arm" OR
+ TARGET_ARCH MATCHES "^aarch64")
set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations:
check: (default) use internal checking code;
@@ -114,8 +126,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
endif()
# set definitions and sources for powerpc
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
- CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*" )
+if(TARGET_ARCH MATCHES "^powerpc*" OR
+ TARGET_ARCH MATCHES "^ppc64*" )
set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
set(PNG_POWERPC_VSX "on" CACHE STRING "Enable POWERPC VSX optimizations:
off: disable the optimizations.")
@@ -138,8 +150,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
endif()
# set definitions and sources for intel
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
- CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*" )
+if(TARGET_ARCH MATCHES "^i?86" OR
+ TARGET_ARCH MATCHES "^x86_64*" )
set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations:
off: disable the optimizations")
@@ -162,8 +174,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
endif()
# set definitions and sources for MIPS
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR
- CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*" )
+if(TARGET_ARCH MATCHES "mipsel*" OR
+ TARGET_ARCH MATCHES "mips64el*" )
set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
set(PNG_MIPS_MSA "on" CACHE STRING "Enable MIPS_MSA optimizations:
off: disable the optimizations")
diff --git a/pngrutil.c b/pngrutil.c
index 7001f1976..91930f1f2 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -422,13 +422,6 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
}
-#if ZLIB_VERNUM >= 0x1290 && \
- defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
- if (((png_ptr->options >> PNG_IGNORE_ADLER32) & 3) == PNG_OPTION_ON)
- /* Turn off validation of the ADLER32 checksum in IDAT chunks */
- ret = inflateValidate(&png_ptr->zstream, 0);
-#endif
-
if (ret == Z_OK)
png_ptr->zowner = owner;
--
2.33.0.windows.1

View File

@@ -1,8 +1,8 @@
find_package(OpenGL QUIET REQUIRED)
qidistudio_add_cmake_project(TIFF
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
URL https://download.osgeo.org/libtiff/tiff-4.1.0.zip
URL_HASH SHA256=6F3DBED9D2ECFED33C7192B5C01884078970657FA21B4AD28E3CDF3438EB2419
DEPENDS ${ZLIB_PKG} ${PNG_PKG} ${JPEG_PKG}
CMAKE_ARGS
-Dlzma:BOOL=OFF

View File

@@ -6,8 +6,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
endif ()
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
set(_wx_egl "-DwxUSE_GLCANVAS_EGL=OFF")
else ()
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=0")
set(_wx_egl "")
endif()
if (MSVC)
@@ -52,6 +53,7 @@ qidistudio_add_cmake_project(wxWidgets
-DwxUSE_LIBJPEG=sys
-DwxUSE_LIBTIFF=sys
-DwxUSE_EXPAT=sys
${_wx_egl}
)
if (MSVC)

View File

@@ -0,0 +1,19 @@
ARG VERSION="studio_dep_22"
FROM ${VERSION}:1.0 AS builder
COPY ./ /QIDIStudio
WORKDIR /QIDIStudio
RUN mkdir -p /QIDIStudio/deps/build
RUN mv /destdir /QIDIStudio/deps/build/
RUN ./BuildLinux.sh -s
ENV container=podman
RUN ./BuildLinux.sh -i
FROM scratch AS export-stage
COPY --from=builder /QIDIStudio/build/QIDIStudio_ubu64.AppImage /

View File

@@ -0,0 +1,39 @@
FROM docker.io/ubuntu:22.04
# Disable interactive package configuration
RUN apt-get update && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get update && apt-get install -y \
autoconf \
build-essential \
cmake \
curl \
xvfb \
extra-cmake-modules \
file \
git \
locales \
locales-all \
m4 \
pkgconf \
sudo \
wayland-protocols \
libwebkit2gtk-4.0-dev \
wget
COPY ./ /QIDIStudio
WORKDIR /QIDIStudio
# Allow password-less sudo for ALL users
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
RUN chmod 440 /etc/sudoers.d/999-passwordless
RUN ./BuildLinux.sh -u
RUN ./BuildLinux.sh -dfr
RUN cp -r deps/build/destdir /
RUN rm -rf /QIDIStudio

View File

@@ -0,0 +1,39 @@
FROM docker.io/ubuntu:24.04
# Disable interactive package configuration
RUN apt-get update && \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
RUN apt-get update && apt-get install -y \
autoconf \
build-essential \
cmake \
curl \
xvfb \
extra-cmake-modules \
file \
git \
locales \
locales-all \
m4 \
pkgconf \
sudo \
wayland-protocols \
libwebkit2gtk-4.1-dev \
wget
COPY ./ /QIDIStudio
WORKDIR /QIDIStudio
# Allow password-less sudo for ALL users
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
RUN chmod 440 /etc/sudoers.d/999-passwordless
RUN ./BuildLinux.sh -u
RUN ./BuildLinux.sh -dfr
RUN cp -r deps/build/destdir /
RUN rm -rf /QIDIStudio

View File

@@ -30,6 +30,7 @@ REQUIRED_DEV_PACKAGES=(
nasm
yasm
libx264-dev
libbz2-dev
)
if [[ -n "$UPDATE_LIB" ]]

View File

@@ -38,6 +38,7 @@ REQUIRED_DEV_PACKAGES=(
nasm
yasm
x264-devel
bzip2-devel
)
if [[ -n "$UPDATE_LIB" ]]

View File

@@ -138,11 +138,12 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
if (is_multi_nozzle) {
double expected_temp = nozzle_temperature[filament_id];
if (std::abs(check_nozzle_temp - expected_temp) > MULTI_NOZZLE_TEMP_THRESHOLD) {
std::cout << "Multi-nozzle: Invalid filament nozzle temperature! Expected: "
<< expected_temp
<< ", but got: " << check_nozzle_temp
<< " (Threshold: ±100)." << std::endl;
return GCodeCheckResult::ParseFailed;
// for two nozzle gcode, remove temp check temply
//std::cout << "Multi-nozzle: Invalid filament nozzle temperature! Expected: "
// << expected_temp
// << ", but got: " << check_nozzle_temp
// << " (Threshold: ±100)." << std::endl;
return GCodeCheckResult::Success;
}
}
else {
@@ -316,7 +317,7 @@ GCodeCheckResult GCodeChecker::parse_command(GCodeLine& gcode_line)
case 'T':{
int pt = ::atoi(&cmd[1]);
if (pt == 1000 || pt == 1100 || pt == 255 || pt == 1001 || pt == 65535 || pt == 65279) {
if (pt == 1000 || pt == 1100 || pt == 255 || pt == 1001 || pt == 65535 || pt == 65279 || pt == -1) {
break;
}

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

View File

@@ -1,4 +1,49 @@
src/libslic3r/PresetBundle.cpp
src/slic3r/GUI/DeviceCore/DevBed.cpp
src/slic3r/GUI/DeviceCore/DevBed.h
src/slic3r/GUI/DeviceCore/DevConfig.h
src/slic3r/GUI/DeviceCore/DevConfig.cpp
src/slic3r/GUI/DeviceCore/DevConfigUtil.h
src/slic3r/GUI/DeviceCore/DevConfigUtil.cpp
src/slic3r/GUI/DeviceCore/DevCtrl.h
src/slic3r/GUI/DeviceCore/DevCtrl.cpp
src/slic3r/GUI/DeviceCore/DevDefs.h
src/slic3r/GUI/DeviceCore/DevExtensionTool.h
src/slic3r/GUI/DeviceCore/DevExtensionTool.cpp
src/slic3r/GUI/DeviceCore/DevExtruderSystem.h
src/slic3r/GUI/DeviceCore/DevExtruderSystem.cpp
src/slic3r/GUI/DeviceCore/DevExtruderSystemCtrl.cpp
src/slic3r/GUI/DeviceCore/DevFan.cpp
src/slic3r/GUI/DeviceCore/DevFan.h
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.cpp
src/slic3r/GUI/DeviceCore/DevFilaBlackList.h
src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp
src/slic3r/GUI/DeviceCore/DevFilaSystem.h
src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp
src/slic3r/GUI/DeviceCore/DevFirmware.h
src/slic3r/GUI/DeviceCore/DevFirmware.cpp
src/slic3r/GUI/DeviceCore/DevPrintOptions.h
src/slic3r/GUI/DeviceCore/DevPrintOptions.cpp
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.h
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.cpp
src/slic3r/GUI/DeviceCore/DevHMS.h
src/slic3r/GUI/DeviceCore/DevHMS.cpp
src/slic3r/GUI/DeviceCore/DevStorage.h
src/slic3r/GUI/DeviceCore/DevStorage.cpp
src/slic3r/GUI/DeviceCore/DevInfo.h
src/slic3r/GUI/DeviceCore/DevInfo.cpp
src/slic3r/GUI/DeviceCore/DevLamp.h
src/slic3r/GUI/DeviceCore/DevLamp.cpp
src/slic3r/GUI/DeviceCore/DevLampCtrl.cpp
src/slic3r/GUI/DeviceCore/DevManager.h
src/slic3r/GUI/DeviceCore/DevManager.cpp
src/slic3r/GUI/DeviceCore/DevMapping.h
src/slic3r/GUI/DeviceCore/DevMapping.cpp
src/slic3r/GUI/DeviceCore/DevNozzleSystem.h
src/slic3r/GUI/DeviceCore/DevNozzleSystem.cpp
src/slic3r/GUI/DeviceCore/DevUtil.h
src/slic3r/GUI/DeviceCore/DevUtil.cpp
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.h
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp
src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.h
@@ -6,6 +51,7 @@ src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.cpp
src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp
src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp
src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
@@ -56,6 +102,8 @@ src/slic3r/GUI/Jobs/RotoptimizeJob.cpp
src/slic3r/GUI/Jobs/BindJob.cpp
src/slic3r/GUI/Jobs/PrintJob.cpp
src/slic3r/GUI/Jobs/SendJob.cpp
src/slic3r/GUI/ThermalPreconditioningDialog.cpp
src/slic3r/GUI/ThermalPreconditioningDialog.hpp
src/slic3r/GUI/Jobs/SLAImportJob.cpp
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
src/slic3r/GUI/AboutDialog.cpp
@@ -71,8 +119,12 @@ src/slic3r/GUI/BedShapeDialog.cpp
src/slic3r/GUI/BedShapeDialog.hpp
src/slic3r/GUI/ConfigManipulation.cpp
src/slic3r/GUI/DeviceManager.cpp
src/slic3r/GUI/DeviceErrorDialog.cpp
src/slic3r/GUI/ExtraRenderers.cpp
src/slic3r/GUI/Field.cpp
src/slic3r/GUI/GCodeRenderer/AdvancedRenderer.cpp
src/slic3r/GUI/GCodeRenderer/BaseRenderer.cpp
src/slic3r/GUI/GCodeRenderer/LegacyRenderer.cpp
src/slic3r/GUI/GCodeViewer.cpp
src/slic3r/GUI/GLCanvas3D.cpp
src/slic3r/GUI/Calibration.cpp
@@ -98,6 +150,7 @@ src/slic3r/GUI/ObjectDataViewModel.cpp
src/slic3r/GUI/OpenGLManager.cpp
src/slic3r/GUI/OptionsGroup.cpp
src/slic3r/GUI/PrintOptionsDialog.cpp
src/slic3r/GUI/SafetyOptionsDialog.cpp
src/slic3r/GUI/ParamsPanel.cpp
src/slic3r/GUI/PartPlate.cpp
src/slic3r/GUI/Plater.cpp
@@ -112,6 +165,7 @@ src/slic3r/GUI/SavePresetDialog.cpp
src/slic3r/GUI/Search.cpp
src/slic3r/GUI/Selection.cpp
src/slic3r/GUI/SelectMachine.cpp
src/slic3r/GUI/PrePrintChecker.cpp
src/slic3r/GUI/SendSystemInfoDialog.cpp
src/slic3r/GUI/SendToPrinter.cpp
src/slic3r/GUI/SlicingProgressNotification.cpp
@@ -132,6 +186,8 @@ src/slic3r/GUI/KBShortcutsDialog.hpp
src/slic3r/GUI/KBShortcutsDialog.cpp
src/slic3r/GUI/ReleaseNote.cpp
src/slic3r/GUI/ReleaseNote.hpp
src/slic3r/GUI/HelioReleaseNote.cpp
src/slic3r/GUI/HelioReleaseNote.hpp
src/slic3r/GUI/UpgradePanel.cpp
src/slic3r/Utils/FixModelByWin10.cpp
src/slic3r/Utils/PresetUpdater.cpp
@@ -168,6 +224,7 @@ src/slic3r/GUI/BonjourDialog.cpp
src/slic3r/GUI/calib_dlg.cpp
src/slic3r/GUI/PrintHostDialogs.cpp
src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp
src/slic3r/GUI/UIHelpers/MeshBooleanUI.cpp
src/slic3r/GUI/NetworkTestDialog.cpp
src/slic3r/GUI/CreatePresetsDialog.cpp
src/slic3r/GUI/DailyTips.cpp
@@ -180,11 +237,21 @@ src/slic3r/Utils/MKS.cpp
src/slic3r/Utils/OctoPrint.cpp
src/slic3r/Utils/Repetier.cpp
src/slic3r/Utils/ProfileDescription.hpp
src/slic3r/Utils/HelioDragon.cpp
src/slic3r/GUI/SendMultiMachinePage.cpp
src/slic3r/GUI/MultiMachinePage.cpp
src/slic3r/GUI/MultiMachineManagerPage.cpp
src/slic3r/GUI/MultiTaskManagerPage.cpp
src/slic3r/GUI/MultiMachine.cpp
src/slic3r/GUI/UserPresetsDialog.cpp
src/slic3r/GUI/FilamentMapDialog.cpp
src/slic3r/GUI/FilamentGroupPopup.cpp
src/slic3r/GUI/FilamentMapPanel.cpp
src/slic3r/GUI/PartSkipDialog.cpp
src/slic3r/GUI/PartSkipDialog.hpp
src/slic3r/GUI/SkipPartCanvas.cpp
src/slic3r/GUI/SkipPartCanvas.hpp
src/slic3r/GUI/FilamentBitmapUtils.cpp
src/slic3r/GUI/FilamentBitmapUtils.hpp
src/slic3r/GUI/FilamentPickerDialog.cpp
src/slic3r/GUI/FilamentPickerDialog.hpp

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.

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,92 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIUXtzR6tRiL/RHBRXOoyFU0+XrliowDQYJKoZIhvcNAQEL
BQAwRjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28u
IEx0ZDEUMBIGA1UEAwwLQkJMIENBMiBSU0EwIBcNMjUwNjE3MDEzODA4WhgPMjA1
MDA2MTcwMTM4MDhaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5v
bG9naWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG
9w0BAQEFAAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA
679rPaOdWsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLo
bOwf53FJuO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CV
bYg3Vvzua9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHok
wqh6tkI6Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBF
uHtkjrb5Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfm
q8t4IL/35hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHq
Y2nNkEN0+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/e
K21xgxJdzMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx51
5Vqzj3SVxhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiK
v/ZsXPgXLTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAU
lxUtQtMCAwEAAaNjMGEwHQYDVR0OBBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8G
A1UdIwQYMBaAFNVJgQad1sNTN0jxVkwbJ/XM1an1MA8GA1UdEwEB/wQFMAMBAf8w
DgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQBFZDKMJfp/N4gBeFHh
MiFehaUyMS6e9mzrTfMLJLJoj6Jopa9V9jIfcCEBGZuRThqFcATV+UdFHSINpUcH
upcCYnazTRC4dn1hnxnQ1ojQcHxdGp9xGw/YclAKD97d8bPShfBMT1to9zbMK7T5
L8zgqg01YIOKjQk0Hcd0+0iUr6m8zQ5P8Rl3QXqAyeWgqmYQrrjTWwPsgdfHNXKX
vDrx7/cqry5lKU802hUplKMBxelv4W8407Ytj1lfJOwvxqxxsFU5jSwcUG3zo2vk
QtjRs8m5BKup5K1OPYkkPu7Ld89X0XpU073/dNDG11uxb1eDKrtNP6vZuZjNE2Pq
8HCoI1EtP+ItyqtUMvHi6Z2zsmlA25broVioeUKxjlIecpQ9JR/FhDu9CWNF/nDW
LSORNaMMzgsMSzI+HCiUhqN+qMIvVP6rzGTJzwqz/lc5Lf+ZPCnGA9WJTT4uPIhf
ufbZmnUJ35WuWKHxovDsqBh88zQ9sZ+ei4Hi4vVzOhUgfG3aLoSQEYqRoqaboANh
wCwzyuW2Rv54u5QSBbd6Gx1OpvsWmLPWd2/iL2kISl5wfmLGVydvSJa+rbOfuAy7
ycVQacVDQCAnbhoVrQy7+454QsKSW3ZV6BcyRrorewCyCYgd7nyxflxHZTBEykXX
haGNe/KFNvJBMOIuIUzknRRmiQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIB8zCCAZmgAwIBAgIUe61jGQ4RzIC8k+sNuqbI/CaNqPIwCgYIKoZIzj0EAwIw
RjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28uIEx0
ZDEUMBIGA1UEAwwLQkJMIENBMiBFQ0MwIBcNMjUwNjE3MDEzODM1WhgPMjA1MDA2
MTcwMTM4MzVaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9n
aWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwY
APPHK7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwHQYDVR0OBBYEFKuRpsjY
REOyIKH7HwOE6jhGBd6NMB8GA1UdIwQYMBaAFKuRpsjYREOyIKH7HwOE6jhGBd6N
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gA
MEUCIErBiUm3VdtP3rz4kb8aLpI5p+BzL7M9vElBGWWJxpHMAiEA3r5tJWVGwuxi
YCrB1c40KYFRFyahGrhOJZAj/YhRdnU=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEeTCCA2GgAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45cwDQYJKoZIhvcNAQEL
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxMjdaFw0zNTA2MTUw
MjAxMjdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG9w0BAQEF
AAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA679rPaOd
WsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLobOwf53FJ
uO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CVbYg3Vvzu
a9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHokwqh6tkI6
Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBFuHtkjrb5
Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfmq8t4IL/3
5hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHqY2nNkEN0
+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/eK21xgxJd
zMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx515Vqzj3SV
xhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiKv/ZsXPgX
LTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAUlxUtQtMC
AwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
BBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8GA1UdIwQYMBaAFI80QmjcZ06PxCKe
xXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IBAQAvS8tyfagaGsFf9YncA2ko/Na5
9BVF+8TlUo+32oznwIVpS1AhSgLP6rNVekXNFKbuP5htudLQ17ZRBJI/UMVyYEDq
IN7xv7Zj+zJwF6W6haYrjb2Vk8igw1XvNULZfvVNNKIkvJUiVqEslWrC+k74crk/
Wv8ChVf+zqvfIN6LV3esaGRL02J3AprQGb7DDhR1EefQMScDkNpGJMUmvCmfknrl
iK8qgvQN1SWO7JRf6fNKHsN1ZQvyP0pgLWxpT3V0/0/WttqX3cMGuJF+jVUzm/Nh
xYhFewG8vc3KzTjnwQApMA6CW554FOJWFyOD2jn5yJLT3Vue+aYDQRp4bKMx
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIICrjCCAZagAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45gwDQYJKoZIhvcNAQEL
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxNDdaFw0zNTA2MTUw
MjAxNDdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYIKoZI
zj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwYAPPH
K7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAO
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFKuRpsjYREOyIKH7HwOE6jhGBd6NMB8G
A1UdIwQYMBaAFI80QmjcZ06PxCKexXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IB
AQCg6PjUSSZV+4bvejcVMvgXmKzfD95osWn0ctnoMBxPDa+m+Gg+BcLT2IlFAe3E
KYMvu4T295WQc92rjKYqW6cirFppng9uEFW2mZLimxaSmutsTftE3sbMVMJ/SLYN
PV7TFv6mcBSIFWXwmBOIpbh4BUcVfONTvdSfIqfyAVxsq4xzc2nc6hPBpAm21Ayj
ToC1ev/TbDJ8VllFZiEVmWWlIP3aNzAm8S2mOpxPB2WnanaZHSrvXLFhstyzwrjD
yO1/isOZ7wtr7rcuTJdEvvvCimOZlkfRhaDoTew9tQ0E2FVpzzSinw02qmQ1xIE9
5/H5ZzJSPkpeAHWEPnKkxg0v
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDZTCCAk2gAwIBAgIUV1FckwXElyek1onFnQ9kL7Bk4N8wDQYJKoZIhvcNAQEL
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yMjA0MDQwMzQyMTFaFw0zMjA0MDEw
@@ -18,4 +106,4 @@ BdOoo96iX89rRPoxeed1cpq5hZwbeka3+CJGV76itWp35Up5rmmUqrlyQOr/Wax6
itosIzG0MfhgUzU51A2P/hSnD3NDMXv+wUY/AvqgIL7u7fbDKnku1GzEKIkfH8hm
Rs6d8SCU89xyrwzQ0PR853irHas3WrHVqab3P+qNwR0YirL0Qk7Xt/q3O1griNg2
Blbjg3obpHo9
-----END CERTIFICATE-----
-----END CERTIFICATE-----

View File

@@ -0,0 +1,79 @@
[hint: Single-Material Only]
text = Single-Material Only\nHelio currently simulates one material and one nozzle per job. Multi-material or multi-extruder G-code adds long pauses that break thermal continuity, so results wouldnt be meaningful.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio0.png
[hint: One Plate per Job]
text = One Plate per Job\nUpload G-code with a single build plate—multi-plate projects arent yet supported, so only the first plate would run.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio1.png
[hint: What is the Thermal Quality Index?]
text = What is the Thermal Quality Index?\nThe Thermal Quality Index (scale 100 to +100) shows how hot or cold each region prints—green (≈ 0) is the “just right” zone for strong, warp-free parts. Keep most of the part green for best results.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio2.png
[hint: Voxel-Level Accuracy]
text = Voxel-Level Accuracy\nWe predict temperature in every voxel at every time-step, and for standard jobs the forecast is typically within ±510 °C. Pauses, custom firmware or odd cooling can widen that margin.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio3.png
[hint: Fan & Airflow Model]
text = Fan & Airflow Model\nA simplified fan-and-room model shows how cooling settings change part temps without slow CFD maths—great for day-to-day tuning. Chamber vortices arent yet simulated so runs stay fast.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio0.png
[hint: TQI Limits Explained]
text = TQI Limits Explained\n-100 → too cold: tensile strength is ~50 % lower than parts printed at the ideal 0 (ASTM D638 dog-bone tests). +100 → too hot: layers stay molten and may sag or collapse. Keep regions near 0 for peak strength and accuracy.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio1.png
[hint: What Drives Runtime?]
text = What Drives Runtime?\nExtra layers, dense infill, lots of tiny arcs (small mesh elements) or very slow printing speeds all extend simulation time because the solver must step through more seconds. Multi-core CPUs or CUDA GPUs speed things up.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio2.png
[hint: Nozzle Temp Range]
text = Nozzle Temp Range\nSupported set-points are 190 320 °C; anything outside is clamped to keep physics realistic.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio3.png
[hint: Debugging Flowchart]
text = Debugging Flowchart\nNot sure why a result looks off? Follow our step-by-step debugging flowchart to trace settings, G-code and material issues in minutes.
documentation_link = https://wiki.helioadditive.com/en/flowchart
image = images/dailytips_helio0.png
[hint: Why Cooling Varies]
text = Why Cooling Varies\nOuter walls and bridges cool fastest while thick interiors stay warmer—geometry, airflow and tool-path all play a part, and the simulation visualises these differences.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio1.png
[hint: Extrusion Temp Model]
text = Extrusion Temp Model\nMaterial properties shape the melt curve, but printer geometry decides how much heat the filament actually gains, so the model is material-specific and printer-calibrated.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio2.png
[hint: Nozzle setting of 190 °C vs 320 °C?]
text = Nozzle setting of 190 °C vs 320 °C?\nA 100 °C nozzle change only nudges the thermal index because extrusion temp, flow rate and post-deposition cooling dominate the parts heat history.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio3.png
[hint: Bed Temperature influence]
text = Bed Temperature influence\nOnly the first-layer bed temp feeds the model right now; later bed changes arent yet captured.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio0.png
[hint: Actual Tool-Path]
text = Actual Tool-Path\nYes—your exact G-code path, speeds and fan commands are simulated.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio1.png
[hint: Mesh Resolution]
text = Mesh Resolution\nThe voxel grid is finer than the G-code line spacing, capturing layer-by-layer detail without wasting compute.
documentation_link = https://wiki.helioadditive.com/en/FAQ
image = images/dailytips_helio2.png
[hint: Shrinkage, Warping & Stress]
text = Shrinkage, Warping & Stress\nBy controlling the thermal index you can remove the heat-driven causes of warp and stress.
documentation_link = https://wiki.helioadditive.com/en/flowchart
image = images/dailytips_helio3.png

View File

@@ -1,94 +1,329 @@
colors
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0A2989 #FF6A13 #0086D6 #F7E6DE #00AE42
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0086D6 #F7E6DE #00AE42 #5E43B7 #482960 #0056B8 #FEC600 #EC008C #F5547C #6F5034 #FF9016 #00B1B7 #BECF00
src dst flush
#000000 #FFFFFF 900
#000000 #545454 330
#000000 #8E9089 570
#000000 #C12E1F 660
#000000 #545454 270
#000000 #C12E1F 900
#000000 #F4EE2A 900
#000000 #0A2989 480
#000000 #FF6A13 900
#000000 #0086D6 630
#000000 #0086D6 900
#000000 #F7E6DE 900
#000000 #00AE42 660
#FFFFFF #000000 90
#FFFFFF #545454 120
#FFFFFF #F4EE2A 120
#FFFFFF #0A2989 150
#FFFFFF #FF6A13 120
#000000 #00AE42 900
#000000 #5E43B7 900
#000000 #482960 360
#000000 #0056B8 660
#000000 #FEC600 900
#000000 #EC008C 900
#000000 #F5547C 900
#000000 #6F5034 510
#000000 #FF9016 900
#000000 #BECF00 900
#FFFFFF #000000 120
#FFFFFF #545454 150
#FFFFFF #8E9089 120
#FFFFFF #C12E1F 120
#FFFFFF #F4EE2A 150
#FFFFFF #0086D6 90
#FFFFFF #F7E6DE 120
#FFFFFF #00AE42 120
#545454 #000000 90
#545454 #FFFFFF 780
#FFFFFF #5E43B7 150
#FFFFFF #482960 120
#FFFFFF #0056B8 150
#FFFFFF #FEC600 120
#FFFFFF #EC008C 150
#FFFFFF #F5547C 120
#FFFFFF #6F5034 150
#FFFFFF #FF9016 120
#FFFFFF #00B1B7 90
#FFFFFF #BECF00 120
#545454 #000000 150
#545454 #FFFFFF 480
#545454 #8E9089 210
#545454 #C12E1F 270
#545454 #F4EE2A 390
#545454 #0A2989 120
#545454 #FF6A13 360
#545454 #0086D6 300
#545454 #F7E6DE 780
#545454 #0086D6 240
#545454 #F7E6DE 360
#545454 #00AE42 330
#8E9089 #000000 210
#8E9089 #FFFFFF 450
#545454 #5E43B7 180
#545454 #482960 150
#545454 #0056B8 180
#545454 #FEC600 300
#545454 #EC008C 240
#545454 #F5547C 330
#545454 #6F5034 120
#545454 #FF9016 330
#545454 #00B1B7 270
#545454 #BECF00 330
#8E9089 #000000 180
#8E9089 #FFFFFF 330
#8E9089 #545454 180
#8E9089 #C12E1F 180
#8E9089 #F4EE2A 360
#8E9089 #0A2989 210
#8E9089 #FF6A13 300
#8E9089 #F7E6DE 450
#8E9089 #00AE42 210
#C12E1F #000000 120
#C12E1F #FFFFFF 720
#C12E1F #545454 270
#C12E1F #8E9089 480
#C12E1F #F4EE2A 540
#C12E1F #0A2989 300
#C12E1F #FF6A13 330
#C12E1F #F7E6DE 690
#C12E1F #00AE42 600
#8E9089 #0086D6 180
#8E9089 #F7E6DE 360
#8E9089 #00AE42 120
#8E9089 #5E43B7 240
#8E9089 #482960 240
#8E9089 #0056B8 150
#8E9089 #FEC600 330
#8E9089 #EC008C 270
#8E9089 #F5547C 240
#8E9089 #6F5034 300
#8E9089 #FF9016 300
#8E9089 #00B1B7 180
#8E9089 #BECF00 300
#C12E1F #000000 150
#C12E1F #FFFFFF 600
#C12E1F #545454 570
#C12E1F #8E9089 390
#C12E1F #F4EE2A 900
#C12E1F #0086D6 900
#C12E1F #F7E6DE 900
#C12E1F #00AE42 540
#C12E1F #5E43B7 570
#C12E1F #482960 210
#C12E1F #0056B8 630
#C12E1F #FEC600 420
#C12E1F #EC008C 270
#C12E1F #F5547C 300
#C12E1F #6F5034 300
#C12E1F #FF9016 390
#C12E1F #00B1B7 600
#C12E1F #BECF00 660
#F4EE2A #000000 150
#F4EE2A #FFFFFF 870
#F4EE2A #545454 330
#F4EE2A #0A2989 330
#F4EE2A #FF6A13 150
#F4EE2A #0086D6 420
#F4EE2A #F7E6DE 870
#0A2989 #000000 90
#0A2989 #FFFFFF 630
#0A2989 #545454 150
#0A2989 #8E9089 390
#0A2989 #C12E1F 450
#0A2989 #F4EE2A 510
#0A2989 #FF6A13 480
#0A2989 #0086D6 300
#0A2989 #F7E6DE 630
#0A2989 #00AE42 660
#FF6A13 #000000 90
#FF6A13 #FFFFFF 570
#FF6A13 #545454 180
#FF6A13 #F4EE2A 390
#FF6A13 #0A2989 270
#FF6A13 #0086D6 360
#FF6A13 #F7E6DE 330
#FF6A13 #00AE42 300
#F4EE2A #FFFFFF 660
#F4EE2A #545454 420
#F4EE2A #8E9089 300
#F4EE2A #C12E1F 180
#F4EE2A #0086D6 900
#F4EE2A #F7E6DE 900
#F4EE2A #00AE42 180
#F4EE2A #5E43B7 690
#F4EE2A #0056B8 360
#F4EE2A #FEC600 120
#F4EE2A #EC008C 600
#F4EE2A #F5547C 240
#F4EE2A #6F5034 270
#F4EE2A #FF9016 120
#F4EE2A #00B1B7 630
#F4EE2A #BECF00 120
#0086D6 #000000 120
#0086D6 #FFFFFF 600
#0086D6 #FFFFFF 510
#0086D6 #545454 150
#0086D6 #8E9089 390
#0086D6 #C12E1F 420
#0086D6 #F4EE2A 480
#0086D6 #0A2989 120
#0086D6 #FF6A13 330
#0086D6 #F7E6DE 450
#0086D6 #00AE42 180
#F7E6DE #000000 90
#0086D6 #8E9089 180
#0086D6 #C12E1F 300
#0086D6 #F4EE2A 360
#0086D6 #F7E6DE 480
#0086D6 #00AE42 120
#0086D6 #5E43B7 210
#0086D6 #482960 120
#0086D6 #0056B8 150
#0086D6 #FEC600 330
#0086D6 #EC008C 330
#0086D6 #F5547C 330
#0086D6 #6F5034 150
#0086D6 #FF9016 300
#0086D6 #00B1B7 120
#0086D6 #BECF00 360
#F7E6DE #000000 150
#F7E6DE #FFFFFF 150
#F7E6DE #545454 120
#F7E6DE #8E9089 150
#F7E6DE #C12E1F 150
#F7E6DE #F4EE2A 120
#F7E6DE #0A2989 150
#F7E6DE #FF6A13 120
#F7E6DE #00AE42 120
#00AE42 #000000 90
#00AE42 #FFFFFF 630
#00AE42 #545454 210
#00AE42 #F4EE2A 360
#00AE42 #0A2989 210
#00AE42 #0086D6 360
#00AE42 #F7E6DE 630
#F7E6DE #0086D6 180
#F7E6DE #00AE42 150
#F7E6DE #5E43B7 210
#F7E6DE #482960 150
#F7E6DE #0056B8 150
#F7E6DE #FEC600 120
#F7E6DE #EC008C 150
#F7E6DE #F5547C 150
#F7E6DE #6F5034 150
#F7E6DE #FF9016 120
#F7E6DE #00B1B7 120
#F7E6DE #BECF00 120
#00AE42 #000000 120
#00AE42 #FFFFFF 690
#00AE42 #545454 330
#00AE42 #8E9089 330
#00AE42 #C12E1F 270
#00AE42 #F4EE2A 480
#00AE42 #0086D6 750
#00AE42 #F7E6DE 900
#00AE42 #5E43B7 450
#00AE42 #482960 210
#00AE42 #0056B8 240
#00AE42 #FEC600 420
#00AE42 #F5547C 390
#00AE42 #6F5034 210
#00AE42 #FF9016 420
#00AE42 #00B1B7 390
#00AE42 #BECF00 300
#5E43B7 #000000 150
#5E43B7 #FFFFFF 360
#5E43B7 #545454 150
#5E43B7 #8E9089 180
#5E43B7 #C12E1F 270
#5E43B7 #F4EE2A 570
#5E43B7 #0086D6 240
#5E43B7 #F7E6DE 660
#5E43B7 #00AE42 240
#5E43B7 #482960 240
#5E43B7 #0056B8 150
#5E43B7 #FEC600 390
#5E43B7 #EC008C 330
#5E43B7 #F5547C 270
#5E43B7 #6F5034 150
#5E43B7 #FF9016 300
#5E43B7 #00B1B7 270
#5E43B7 #BECF00 390
#482960 #000000 120
#482960 #FFFFFF 570
#482960 #545454 240
#482960 #8E9089 330
#482960 #C12E1F 480
#482960 #F4EE2A 780
#482960 #0086D6 420
#482960 #F7E6DE 900
#482960 #00AE42 510
#482960 #5E43B7 270
#482960 #0056B8 420
#482960 #FEC600 540
#482960 #EC008C 480
#482960 #F5547C 390
#482960 #6F5034 270
#482960 #FF9016 510
#482960 #00B1B7 480
#482960 #BECF00 540
#0056B8 #000000 120
#0056B8 #FFFFFF 900
#0056B8 #545454 240
#0056B8 #8E9089 330
#0056B8 #C12E1F 570
#0056B8 #F4EE2A 900
#0056B8 #0086D6 210
#0056B8 #F7E6DE 780
#0056B8 #00AE42 300
#0056B8 #5E43B7 210
#0056B8 #482960 270
#0056B8 #FEC600 630
#0056B8 #EC008C 540
#0056B8 #F5547C 660
#0056B8 #6F5034 300
#0056B8 #FF9016 690
#0056B8 #00B1B7 240
#0056B8 #BECF00 540
#FEC600 #000000 120
#FEC600 #FFFFFF 630
#FEC600 #545454 540
#FEC600 #8E9089 480
#FEC600 #C12E1F 180
#FEC600 #F4EE2A 180
#FEC600 #0086D6 900
#FEC600 #F7E6DE 720
#FEC600 #00AE42 210
#FEC600 #5E43B7 900
#FEC600 #482960 330
#FEC600 #0056B8 900
#FEC600 #EC008C 660
#FEC600 #F5547C 390
#FEC600 #6F5034 330
#FEC600 #FF9016 270
#FEC600 #00B1B7 630
#FEC600 #BECF00 210
#EC008C #000000 120
#EC008C #FFFFFF 540
#EC008C #545454 270
#EC008C #8E9089 330
#EC008C #C12E1F 120
#EC008C #F4EE2A 900
#EC008C #0086D6 330
#EC008C #00AE42 450
#EC008C #5E43B7 210
#EC008C #482960 180
#EC008C #0056B8 300
#EC008C #FEC600 360
#EC008C #F5547C 210
#EC008C #6F5034 240
#EC008C #FF9016 240
#EC008C #00B1B7 450
#EC008C #BECF00 510
#F5547C #000000 120
#F5547C #FFFFFF 570
#F5547C #545454 210
#F5547C #8E9089 240
#F5547C #C12E1F 150
#F5547C #F4EE2A 750
#F5547C #0086D6 270
#F5547C #F7E6DE 900
#F5547C #00AE42 540
#F5547C #5E43B7 150
#F5547C #482960 180
#F5547C #0056B8 150
#F5547C #FEC600 330
#F5547C #EC008C 150
#F5547C #6F5034 180
#F5547C #FF9016 270
#F5547C #00B1B7 390
#F5547C #BECF00 360
#6F5034 #000000 150
#6F5034 #FFFFFF 600
#6F5034 #545454 150
#6F5034 #8E9089 270
#6F5034 #C12E1F 180
#6F5034 #F4EE2A 360
#6F5034 #0086D6 360
#6F5034 #F7E6DE 390
#6F5034 #00AE42 330
#6F5034 #5E43B7 240
#6F5034 #482960 180
#6F5034 #0056B8 300
#6F5034 #FEC600 300
#6F5034 #EC008C 270
#6F5034 #F5547C 240
#6F5034 #FF9016 270
#6F5034 #00B1B7 270
#6F5034 #BECF00 390
#FF9016 #000000 120
#FF9016 #FFFFFF 450
#FF9016 #545454 240
#FF9016 #8E9089 300
#FF9016 #C12E1F 150
#FF9016 #F4EE2A 480
#FF9016 #0086D6 660
#FF9016 #F7E6DE 690
#FF9016 #00AE42 360
#FF9016 #5E43B7 360
#FF9016 #482960 210
#FF9016 #0056B8 330
#FF9016 #FEC600 210
#FF9016 #EC008C 240
#FF9016 #F5547C 210
#FF9016 #6F5034 270
#FF9016 #00B1B7 390
#FF9016 #BECF00 330
#00B1B7 #FFFFFF 630
#00B1B7 #8E9089 240
#00B1B7 #F4EE2A 390
#00B1B7 #EC008C 240
#00B1B7 #6F5034 360
#00B1B7 #FF9016 300
#00B1B7 #00B1B7 390
#00B1B7 #BECF00 300
#BECF00 #000000 150
#BECF00 #FFFFFF 630
#BECF00 #8E9089 300
#BECF00 #C12E1F 150
#BECF00 #F4EE2A 150
#BECF00 #0086D6 270
#BECF00 #F7E6DE 540
#BECF00 #00AE42 150
#BECF00 #5E43B7 270
#BECF00 #482960 210
#BECF00 #0056B8 240
#BECF00 #FEC600 120
#BECF00 #EC008C 270
#BECF00 #F5547C 270
#BECF00 #6F5034 150
#BECF00 #FF9016 120
#BECF00 #00B1B7 330

View File

@@ -1,99 +1,338 @@
colors
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0A2989 #FF6A13 #0086D6 #F7E6DE #00AE42
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0086D6 #F7E6DE #00AE42 #5E43B7 #482960 #0056B8 #FEC600 #EC008C #F5547C #6F5034 #FF9016 #00B1B7 #BECF00
src dst flush
#000000 #FFFFFF 900
#000000 #545454 270
#000000 #8E9089 510
#000000 #C12E1F 900
#000000 #545454 450
#000000 #8E9089 540
#000000 #C12E1F 600
#000000 #F4EE2A 900
#000000 #0A2989 360
#000000 #FF6A13 900
#000000 #0086D6 630
#000000 #0086D6 570
#000000 #F7E6DE 900
#000000 #00AE42 780
#000000 #00AE42 810
#000000 #5E43B7 480
#000000 #482960 270
#000000 #0056B8 540
#000000 #FEC600 900
#000000 #EC008C 900
#000000 #F5547C 900
#000000 #FF9016 900
#000000 #00B1B7 630
#000000 #BECF00 900
#FFFFFF #000000 90
#FFFFFF #545454 90
#FFFFFF #8E9089 180
#FFFFFF #F4EE2A 150
#FFFFFF #0A2989 60
#FFFFFF #FF6A13 150
#FFFFFF #00AE42 150
#FFFFFF #545454 240
#FFFFFF #8E9089 120
#FFFFFF #C12E1F 90
#FFFFFF #F4EE2A 90
#FFFFFF #0086D6 90
#FFFFFF #F7E6DE 90
#FFFFFF #00AE42 120
#FFFFFF #5E43B7 90
#FFFFFF #0056B8 90
#FFFFFF #FEC600 150
#FFFFFF #EC008C 150
#FFFFFF #F5547C 120
#FFFFFF #6F5034 120
#FFFFFF #FF9016 120
#FFFFFF #00B1B7 120
#FFFFFF #BECF00 90
#545454 #000000 90
#545454 #8E9089 240
#545454 #C12E1F 360
#545454 #F4EE2A 390
#545454 #0A2989 180
#545454 #FF6A13 300
#545454 #FFFFFF 360
#545454 #8E9089 120
#545454 #C12E1F 270
#545454 #F4EE2A 330
#545454 #0086D6 270
#545454 #F7E6DE 330
#545454 #00AE42 390
#8E9089 #000000 210
#8E9089 #FFFFFF 390
#8E9089 #545454 150
#8E9089 #F4EE2A 330
#8E9089 #0A2989 330
#545454 #F7E6DE 390
#545454 #00AE42 270
#545454 #5E43B7 120
#545454 #482960 150
#545454 #0056B8 180
#545454 #FEC600 300
#545454 #EC008C 240
#545454 #F5547C 300
#545454 #6F5034 120
#545454 #FF9016 240
#545454 #00B1B7 270
#545454 #BECF00 300
#8E9089 #000000 270
#8E9089 #FFFFFF 330
#8E9089 #545454 300
#8E9089 #C12E1F 240
#8E9089 #F4EE2A 240
#8E9089 #0086D6 240
#8E9089 #F7E6DE 390
#8E9089 #00AE42 240
#C12E1F #000000 90
#C12E1F #FFFFFF 780
#C12E1F #545454 360
#C12E1F #8E9089 510
#C12E1F #F4EE2A 600
#C12E1F #0A2989 420
#C12E1F #FF6A13 390
#C12E1F #0086D6 450
#C12E1F #F7E6DE 600
#C12E1F #00AE42 510
#F4EE2A #000000 90
#F4EE2A #FFFFFF 690
#8E9089 #00AE42 210
#8E9089 #5E43B7 270
#8E9089 #482960 300
#8E9089 #0056B8 180
#8E9089 #FEC600 240
#8E9089 #EC008C 240
#8E9089 #F5547C 240
#8E9089 #6F5034 210
#8E9089 #FF9016 240
#8E9089 #00B1B7 210
#8E9089 #BECF00 270
#C12E1F #000000 150
#C12E1F #FFFFFF 900
#C12E1F #545454 300
#C12E1F #8E9089 570
#C12E1F #F4EE2A 450
#C12E1F #0086D6 390
#C12E1F #F7E6DE 630
#C12E1F #00AE42 420
#C12E1F #5E43B7 330
#C12E1F #482960 210
#C12E1F #0056B8 300
#C12E1F #FEC600 660
#C12E1F #EC008C 240
#C12E1F #F5547C 180
#C12E1F #6F5034 210
#C12E1F #FF9016 270
#C12E1F #00B1B7 540
#C12E1F #BECF00 360
#F4EE2A #000000 150
#F4EE2A #FFFFFF 900
#F4EE2A #545454 390
#F4EE2A #8E9089 480
#F4EE2A #0A2989 390
#F4EE2A #FF6A13 180
#F4EE2A #0086D6 450
#F4EE2A #F7E6DE 690
#0A2989 #000000 90
#0A2989 #FFFFFF 630
#0A2989 #545454 300
#0A2989 #8E9089 450
#0A2989 #C12E1F 450
#0A2989 #F4EE2A 510
#0A2989 #FF6A13 420
#0A2989 #0086D6 330
#0A2989 #F7E6DE 630
#0A2989 #00AE42 390
#FF6A13 #000000 90
#FF6A13 #FFFFFF 420
#FF6A13 #545454 90
#FF6A13 #8E9089 360
#FF6A13 #C12E1F 180
#FF6A13 #F4EE2A 180
#FF6A13 #0A2989 210
#FF6A13 #0086D6 360
#FF6A13 #F7E6DE 420
#FF6A13 #00AE42 240
#0086D6 #000000 90
#0086D6 #FFFFFF 510
#0086D6 #545454 150
#0086D6 #8E9089 420
#0086D6 #C12E1F 420
#0086D6 #F4EE2A 420
#0086D6 #0A2989 120
#0086D6 #FF6A13 390
#0086D6 #F7E6DE 510
#0086D6 #00AE42 300
#F4EE2A #8E9089 450
#F4EE2A #C12E1F 180
#F4EE2A #0086D6 270
#F4EE2A #F7E6DE 570
#F4EE2A #00AE42 120
#F4EE2A #5E43B7 330
#F4EE2A #482960 330
#F4EE2A #0056B8 240
#F4EE2A #FEC600 90
#F4EE2A #EC008C 330
#F4EE2A #F5547C 420
#F4EE2A #6F5034 240
#F4EE2A #FF9016 150
#F4EE2A #00B1B7 360
#F4EE2A #BECF00 240
#0086D6 #000000 150
#0086D6 #FFFFFF 420
#0086D6 #545454 120
#0086D6 #8E9089 480
#0086D6 #C12E1F 240
#0086D6 #F4EE2A 360
#0086D6 #F7E6DE 390
#0086D6 #00AE42 120
#0086D6 #5E43B7 150
#0086D6 #482960 150
#0086D6 #0056B8 120
#0086D6 #EC008C 330
#0086D6 #F5547C 330
#0086D6 #6F5034 150
#0086D6 #FF9016 300
#0086D6 #00B1B7 150
#0086D6 #BECF00 270
#F7E6DE #000000 90
#F7E6DE #545454 90
#F7E6DE #8E9089 180
#F7E6DE #F4EE2A 150
#F7E6DE #0A2989 60
#F7E6DE #FF6A13 150
#F7E6DE #00AE42 150
#00AE42 #FFFFFF 570
#00AE42 #545454 270
#00AE42 #8E9089 480
#00AE42 #F4EE2A 450
#00AE42 #0A2989 270
#00AE42 #FF6A13 300
#00AE42 #0086D6 390
#00AE42 #F7E6DE 570
#F7E6DE #FFFFFF 90
#F7E6DE #545454 120
#F7E6DE #8E9089 120
#F7E6DE #C12E1F 90
#F7E6DE #F4EE2A 60
#F7E6DE #0086D6 90
#F7E6DE #00AE42 90
#F7E6DE #5E43B7 90
#F7E6DE #482960 120
#F7E6DE #0056B8 120
#F7E6DE #FEC600 120
#F7E6DE #EC008C 150
#F7E6DE #F5547C 120
#F7E6DE #6F5034 150
#F7E6DE #FF9016 120
#F7E6DE #00B1B7 90
#F7E6DE #BECF00 120
#00AE42 #000000 150
#00AE42 #FFFFFF 900
#00AE42 #545454 240
#00AE42 #8E9089 330
#00AE42 #C12E1F 210
#00AE42 #F4EE2A 270
#00AE42 #F7E6DE 360
#00AE42 #5E43B7 180
#00AE42 #482960 180
#00AE42 #0056B8 240
#00AE42 #FEC600 300
#00AE42 #EC008C 300
#00AE42 #F5547C 390
#00AE42 #6F5034 180
#00AE42 #FF9016 300
#00AE42 #00B1B7 360
#00AE42 #BECF00 270
#5E43B7 #000000 90
#5E43B7 #FFFFFF 630
#5E43B7 #545454 150
#5E43B7 #8E9089 210
#5E43B7 #C12E1F 210
#5E43B7 #F4EE2A 330
#5E43B7 #0086D6 180
#5E43B7 #F7E6DE 510
#5E43B7 #00AE42 240
#5E43B7 #482960 150
#5E43B7 #0056B8 120
#5E43B7 #FEC600 540
#5E43B7 #EC008C 270
#5E43B7 #F5547C 420
#5E43B7 #6F5034 150
#5E43B7 #FF9016 330
#5E43B7 #00B1B7 270
#5E43B7 #BECF00 330
#482960 #000000 90
#482960 #FFFFFF 900
#482960 #545454 240
#482960 #8E9089 510
#482960 #C12E1F 360
#482960 #F4EE2A 420
#482960 #0086D6 330
#482960 #F7E6DE 510
#482960 #00AE42 390
#482960 #5E43B7 270
#482960 #0056B8 300
#482960 #FEC600 660
#482960 #EC008C 360
#482960 #F5547C 510
#482960 #6F5034 180
#482960 #FF9016 540
#482960 #00B1B7 450
#482960 #BECF00 600
#0056B8 #000000 90
#0056B8 #FFFFFF 780
#0056B8 #545454 270
#0056B8 #8E9089 270
#0056B8 #C12E1F 330
#0056B8 #F4EE2A 630
#0056B8 #0086D6 180
#0056B8 #F7E6DE 840
#0056B8 #00AE42 270
#0056B8 #5E43B7 270
#0056B8 #482960 150
#0056B8 #FEC600 630
#0056B8 #EC008C 450
#0056B8 #6F5034 240
#0056B8 #FF9016 510
#0056B8 #00B1B7 240
#0056B8 #BECF00 510
#FEC600 #000000 90
#FEC600 #FFFFFF 900
#FEC600 #545454 390
#FEC600 #8E9089 600
#FEC600 #C12E1F 180
#FEC600 #F4EE2A 150
#FEC600 #0086D6 330
#FEC600 #F7E6DE 600
#FEC600 #00AE42 180
#FEC600 #5E43B7 270
#FEC600 #482960 330
#FEC600 #0056B8 300
#FEC600 #EC008C 390
#FEC600 #F5547C 570
#FEC600 #6F5034 240
#FEC600 #FF9016 150
#FEC600 #00B1B7 510
#FEC600 #BECF00 300
#EC008C #000000 90
#EC008C #FFFFFF 900
#EC008C #545454 240
#EC008C #8E9089 270
#EC008C #C12E1F 120
#EC008C #F4EE2A 360
#EC008C #0086D6 270
#EC008C #F7E6DE 660
#EC008C #00AE42 330
#EC008C #5E43B7 270
#EC008C #482960 270
#EC008C #0056B8 210
#EC008C #FEC600 510
#EC008C #F5547C 120
#EC008C #6F5034 180
#EC008C #00B1B7 360
#EC008C #BECF00 570
#F5547C #000000 90
#F5547C #FFFFFF 900
#F5547C #545454 180
#F5547C #8E9089 180
#F5547C #C12E1F 150
#F5547C #F4EE2A 270
#F5547C #0086D6 270
#F5547C #F7E6DE 540
#F5547C #00AE42 300
#F5547C #5E43B7 210
#F5547C #482960 240
#F5547C #0056B8 210
#F5547C #FEC600 330
#F5547C #EC008C 120
#F5547C #6F5034 180
#F5547C #FF9016 150
#F5547C #00B1B7 300
#F5547C #BECF00 330
#6F5034 #000000 180
#6F5034 #FFFFFF 660
#6F5034 #545454 180
#6F5034 #8E9089 240
#6F5034 #C12E1F 240
#6F5034 #F4EE2A 390
#6F5034 #0086D6 330
#6F5034 #F7E6DE 420
#6F5034 #00AE42 300
#6F5034 #5E43B7 300
#6F5034 #482960 180
#6F5034 #0056B8 300
#6F5034 #FEC600 270
#6F5034 #EC008C 210
#6F5034 #F5547C 240
#6F5034 #FF9016 240
#6F5034 #00B1B7 270
#6F5034 #BECF00 360
#FF9016 #FFFFFF 900
#FF9016 #545454 240
#FF9016 #8E9089 270
#FF9016 #C12E1F 150
#FF9016 #F4EE2A 330
#FF9016 #0086D6 240
#FF9016 #F7E6DE 390
#FF9016 #00AE42 240
#FF9016 #5E43B7 270
#FF9016 #482960 180
#FF9016 #0056B8 240
#FF9016 #FEC600 210
#FF9016 #EC008C 210
#FF9016 #F5547C 210
#FF9016 #6F5034 180
#FF9016 #00B1B7 300
#FF9016 #BECF00 270
#00B1B7 #000000 210
#00B1B7 #FFFFFF 480
#00B1B7 #545454 300
#00B1B7 #8E9089 180
#00B1B7 #C12E1F 300
#00B1B7 #F4EE2A 300
#00B1B7 #0086D6 150
#00B1B7 #F7E6DE 390
#00B1B7 #00AE42 120
#00B1B7 #5E43B7 270
#00B1B7 #482960 270
#00B1B7 #0056B8 150
#00B1B7 #FEC600 330
#00B1B7 #EC008C 270
#00B1B7 #F5547C 270
#00B1B7 #6F5034 210
#00B1B7 #FF9016 270
#00B1B7 #BECF00 240
#BECF00 #000000 270
#BECF00 #FFFFFF 450
#BECF00 #545454 270
#BECF00 #8E9089 270
#BECF00 #C12E1F 150
#BECF00 #F4EE2A 90
#BECF00 #0086D6 300
#BECF00 #F7E6DE 300
#BECF00 #00AE42 180
#BECF00 #5E43B7 270
#BECF00 #482960 210
#BECF00 #0056B8 240
#BECF00 #FEC600 210
#BECF00 #EC008C 240
#BECF00 #F5547C 150
#BECF00 #6F5034 150
#BECF00 #FF9016 150
#BECF00 #00B1B7 270

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.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

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="M.5,13.5V3.5a1,1,0,0,1,1-1h10a1,1,0,0,1,1,1v10a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm13-1a1,1,0,0,0,1-1V1.5a1,1,0,0,0-1-1H3.5a1,1,0,0,0-1,1m0,7h3m2,0h3m-4,4v-8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>

After

Width:  |  Height:  |  Size: 346 B

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7124 5.11094V7.01094C12.7124 7.40578 12.3947 7.72344 11.9999 7.72344C11.6051 7.72344 11.2874 7.40578 11.2874 7.01094V5.11094C11.2874 4.71609 11.6051 4.39844 11.9999 4.39844C12.3947 4.39844 12.7124 4.71609 12.7124 5.11094ZM17.3733 7.63141L16.0285 8.97625C15.7494 9.25531 15.2982 9.25531 15.0221 8.97625C14.746 8.69719 14.743 8.24594 15.0221 7.96984L16.3669 6.625C16.646 6.34594 17.0972 6.34594 17.3733 6.625C17.6494 6.90406 17.6524 7.35531 17.3733 7.63141ZM7.63287 6.625L8.97771 7.96984C9.25678 8.24891 9.25678 8.70016 8.97771 8.97625C8.69865 9.25234 8.2474 9.25531 7.97131 8.97625L6.62646 7.63141C6.3474 7.35234 6.3474 6.90109 6.62646 6.625C6.90553 6.34891 7.35678 6.34594 7.63287 6.625ZM5.1124 11.2859H7.0124C7.40725 11.2859 7.7249 11.6036 7.7249 11.9984C7.7249 12.3933 7.40725 12.7109 7.0124 12.7109H5.1124C4.71756 12.7109 4.3999 12.3933 4.3999 11.9984C4.3999 11.6036 4.71756 11.2859 5.1124 11.2859ZM16.9874 11.2859H18.8874C19.2822 11.2859 19.5999 11.6036 19.5999 11.9984C19.5999 12.3933 19.2822 12.7109 18.8874 12.7109H16.9874C16.5926 12.7109 16.2749 12.3933 16.2749 11.9984C16.2749 11.6036 16.5926 11.2859 16.9874 11.2859ZM8.97771 16.03L7.63287 17.3719C7.35381 17.6509 6.90256 17.6509 6.62646 17.3719C6.35037 17.0928 6.3474 16.6416 6.62646 16.3655L7.97131 15.0206C8.25037 14.7416 8.70162 14.7416 8.97771 15.0206C9.25381 15.2997 9.25678 15.7509 8.97771 16.027V16.03ZM16.0315 15.0236L17.3733 16.3655C17.6524 16.6445 17.6524 17.0958 17.3733 17.3719C17.0943 17.648 16.643 17.6509 16.3669 17.3719L15.0221 16.027C14.743 15.748 14.743 15.2967 15.0221 15.0206C15.3012 14.7445 15.7524 14.7416 16.0285 15.0206L16.0315 15.0236ZM12.7124 16.9859V18.8859C12.7124 19.2808 12.3947 19.5984 11.9999 19.5984C11.6051 19.5984 11.2874 19.2808 11.2874 18.8859V16.9859C11.2874 16.5911 11.6051 16.2734 11.9999 16.2734C12.3947 16.2734 12.7124 16.5911 12.7124 16.9859ZM13.8999 11.9984C13.8999 11.4945 13.6997 11.0113 13.3434 10.6549C12.9871 10.2986 12.5038 10.0984 11.9999 10.0984C11.496 10.0984 11.0127 10.2986 10.6564 10.6549C10.3001 11.0113 10.0999 11.4945 10.0999 11.9984C10.0999 12.5023 10.3001 12.9856 10.6564 13.3419C11.0127 13.6983 11.496 13.8984 11.9999 13.8984C12.5038 13.8984 12.9871 13.6983 13.3434 13.3419C13.6997 12.9856 13.8999 12.5023 13.8999 11.9984ZM8.6749 11.9984C8.6749 11.1166 9.02521 10.2709 9.64877 9.64731C10.2723 9.02375 11.1181 8.67344 11.9999 8.67344C12.8817 8.67344 13.7275 9.02375 14.351 9.64731C14.9746 10.2709 15.3249 11.1166 15.3249 11.9984C15.3249 12.8803 14.9746 13.726 14.351 14.3496C13.7275 14.9731 12.8817 15.3234 11.9999 15.3234C11.1181 15.3234 10.2723 14.9731 9.64877 14.3496C9.02521 13.726 8.6749 12.8803 8.6749 11.9984Z" fill="#1F1F1F"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12.7124 5.11094V7.01094C12.7124 7.40578 12.3947 7.72344 11.9999 7.72344C11.6051 7.72344 11.2874 7.40578 11.2874 7.01094V5.11094C11.2874 4.71609 11.6051 4.39844 11.9999 4.39844C12.3947 4.39844 12.7124 4.71609 12.7124 5.11094ZM17.3733 7.63141L16.0285 8.97625C15.7494 9.25531 15.2982 9.25531 15.0221 8.97625C14.746 8.69719 14.743 8.24594 15.0221 7.96984L16.3669 6.625C16.646 6.34594 17.0972 6.34594 17.3733 6.625C17.6494 6.90406 17.6524 7.35531 17.3733 7.63141ZM7.63287 6.625L8.97771 7.96984C9.25678 8.24891 9.25678 8.70016 8.97771 8.97625C8.69865 9.25234 8.2474 9.25531 7.97131 8.97625L6.62646 7.63141C6.3474 7.35234 6.3474 6.90109 6.62646 6.625C6.90553 6.34891 7.35678 6.34594 7.63287 6.625ZM5.1124 11.2859H7.0124C7.40725 11.2859 7.7249 11.6036 7.7249 11.9984C7.7249 12.3933 7.40725 12.7109 7.0124 12.7109H5.1124C4.71756 12.7109 4.3999 12.3933 4.3999 11.9984C4.3999 11.6036 4.71756 11.2859 5.1124 11.2859ZM16.9874 11.2859H18.8874C19.2822 11.2859 19.5999 11.6036 19.5999 11.9984C19.5999 12.3933 19.2822 12.7109 18.8874 12.7109H16.9874C16.5926 12.7109 16.2749 12.3933 16.2749 11.9984C16.2749 11.6036 16.5926 11.2859 16.9874 11.2859ZM8.97771 16.03L7.63287 17.3719C7.35381 17.6509 6.90256 17.6509 6.62646 17.3719C6.35037 17.0928 6.3474 16.6416 6.62646 16.3655L7.97131 15.0206C8.25037 14.7416 8.70162 14.7416 8.97771 15.0206C9.25381 15.2997 9.25678 15.7509 8.97771 16.027V16.03ZM16.0315 15.0236L17.3733 16.3655C17.6524 16.6445 17.6524 17.0958 17.3733 17.3719C17.0943 17.648 16.643 17.6509 16.3669 17.3719L15.0221 16.027C14.743 15.748 14.743 15.2967 15.0221 15.0206C15.3012 14.7445 15.7524 14.7416 16.0285 15.0206L16.0315 15.0236ZM12.7124 16.9859V18.8859C12.7124 19.2808 12.3947 19.5984 11.9999 19.5984C11.6051 19.5984 11.2874 19.2808 11.2874 18.8859V16.9859C11.2874 16.5911 11.6051 16.2734 11.9999 16.2734C12.3947 16.2734 12.7124 16.5911 12.7124 16.9859ZM13.8999 11.9984C13.8999 11.4945 13.6997 11.0113 13.3434 10.6549C12.9871 10.2986 12.5038 10.0984 11.9999 10.0984C11.496 10.0984 11.0127 10.2986 10.6564 10.6549C10.3001 11.0113 10.0999 11.4945 10.0999 11.9984C10.0999 12.5023 10.3001 12.9856 10.6564 13.3419C11.0127 13.6983 11.496 13.8984 11.9999 13.8984C12.5038 13.8984 12.9871 13.6983 13.3434 13.3419C13.6997 12.9856 13.8999 12.5023 13.8999 11.9984ZM8.6749 11.9984C8.6749 11.1166 9.02521 10.2709 9.64877 9.64731C10.2723 9.02375 11.1181 8.67344 11.9999 8.67344C12.8817 8.67344 13.7275 9.02375 14.351 9.64731C14.9746 10.2709 15.3249 11.1166 15.3249 11.9984C15.3249 12.8803 14.9746 13.726 14.351 14.3496C13.7275 14.9731 12.8817 15.3234 11.9999 15.3234C11.1181 15.3234 10.2723 14.9731 9.64877 14.3496C9.02521 13.726 8.6749 12.8803 8.6749 11.9984Z" fill="#F09A17"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 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_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

@@ -2,7 +2,7 @@
<g>
<title>Layer 1</title>
<path fill-rule="evenodd" fill="#20e86a" d="m90.53,44.88c-0.4,-11.48 -5.07,-22.4 -13.09,-30.55c-8.4,-8.54 -19.79,-13.33 -31.66,-13.33s-23.27,4.79 -31.67,13.33c-5.02,5.11 -8.72,11.3 -10.89,18.04l3.9,0.32c2.02,-5.82 5.3,-11.18 9.67,-15.63c7.68,-7.81 18.11,-12.19 28.97,-12.19s21.29,4.39 28.97,12.19c7.31,7.43 11.57,17.37 11.97,27.82l-3.51,0l5.4,7.12l5.4,-7.12l-3.47,0l0.01,0z" class="cls-1" id="path2"/>
<path fill-rule="evenodd" fill="#20e86a" d="m87.87,59.31c-2.02,5.82 -5.3,11.18 -9.67,15.63c-7.68,7.81 -18.11,12.19 -28.97,12.19s-21.29,-4.39 -28.97,-12.19c-7.31,-7.43 -11.57,-17.37 -11.97,-27.82l3.51,0l-5.4,-7.12l-5.4,7.12l3.47,0c0.4,11.48 5.07,22.4 13.09,30.55c8.4,8.53 19.79,13.33 31.66,13.33s23.26,-4.79 31.66,-13.33c5.02,-5.11 8.72,-11.3 10.89,-18.04l-3.9,-0.32z" class="cls-1" id="path1"/>
<path fill-rule="evenodd" fill="#4479FB" d="m90.53,44.88c-0.4,-11.48 -5.07,-22.4 -13.09,-30.55c-8.4,-8.54 -19.79,-13.33 -31.66,-13.33s-23.27,4.79 -31.67,13.33c-5.02,5.11 -8.72,11.3 -10.89,18.04l3.9,0.32c2.02,-5.82 5.3,-11.18 9.67,-15.63c7.68,-7.81 18.11,-12.19 28.97,-12.19s21.29,4.39 28.97,12.19c7.31,7.43 11.57,17.37 11.97,27.82l-3.51,0l5.4,7.12l5.4,-7.12l-3.47,0l0.01,0z" class="cls-1" id="path2"/>
<path fill-rule="evenodd" fill="#4479FB" d="m87.87,59.31c-2.02,5.82 -5.3,11.18 -9.67,15.63c-7.68,7.81 -18.11,12.19 -28.97,12.19s-21.29,-4.39 -28.97,-12.19c-7.31,-7.43 -11.57,-17.37 -11.97,-27.82l3.51,0l-5.4,-7.12l-5.4,7.12l3.47,0c0.4,11.48 5.07,22.4 13.09,30.55c8.4,8.53 19.79,13.33 31.66,13.33s23.26,-4.79 31.66,-13.33c5.02,-5.11 8.72,-11.3 10.89,-18.04l-3.9,-0.32z" class="cls-1" id="path1"/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 929 B

After

Width:  |  Height:  |  Size: 929 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

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