Merge remote-tracking branch 'upstream/master'

This commit is contained in:
NilsRo 2022-01-23 21:17:33 +01:00
commit 0fe39017b1
10 changed files with 39 additions and 29 deletions

3
.gitignore vendored
View File

@ -10,6 +10,8 @@ resources/i18n/en_7S
resources/i18n/x-test
resources/firmware
resources/materials
resources/images/whats_new
resources/texts/whats_new
CuraEngine.exe
LC_MESSAGES
.cache
@ -37,6 +39,7 @@ cura.desktop
#Externally located plug-ins commonly installed by our devs.
plugins/cura-big-flame-graph
plugins/cura-camera-position
plugins/cura-god-mode-plugin
plugins/cura-siemensnx-plugin
plugins/CuraBlenderPlugin

View File

@ -40,7 +40,7 @@ def findNodePlacement(nodes_to_arrange: List["SceneNode"], build_volume: "BuildV
machine_width = build_volume.getWidth()
machine_depth = build_volume.getDepth()
build_plate_bounding_box = Box(machine_width * factor, machine_depth * factor)
build_plate_bounding_box = Box(int(machine_width * factor), int(machine_depth * factor))
if fixed_nodes is None:
fixed_nodes = []

View File

@ -1,8 +1,7 @@
# Copyright (c) 2020 Ultimaker B.V.
# Copyright (c) 2021 Ultimaker B.V.
# Cura is released under the terms of the LGPLv3 or higher.
from PyQt5.QtCore import QTimer
from shapely.errors import TopologicalError # To capture errors if Shapely messes up.
from UM.Application import Application
from UM.Logger import Logger
@ -138,11 +137,7 @@ class PlatformPhysics:
own_convex_hull = node.callDecoration("getConvexHull")
other_convex_hull = other_node.callDecoration("getConvexHull")
if own_convex_hull and other_convex_hull:
try:
overlap = own_convex_hull.translate(move_vector.x, move_vector.z).intersectsPolygon(other_convex_hull)
except TopologicalError as e: # Can happen if the convex hull is degenerate?
Logger.warning("Got a topological error when calculating convex hull intersection: {err}".format(err = str(e)))
overlap = False
overlap = own_convex_hull.translate(move_vector.x, move_vector.z).intersectsPolygon(other_convex_hull)
if overlap: # Moving ensured that overlap was still there. Try anew!
temp_move_vector = move_vector.set(x = move_vector.x + overlap[0] * self._move_factor,
z = move_vector.z + overlap[1] * self._move_factor)

View File

@ -7,9 +7,9 @@ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
PROJECT_DIR="$( cd "${SCRIPT_DIR}/.." && pwd )"
# Make sure that environment variables are set properly
source /opt/rh/devtoolset-8/enable
export PATH="${CURA_BUILD_ENV_PATH}/bin:${PATH}"
export PKG_CONFIG_PATH="${CURA_BUILD_ENV_PATH}/lib/pkgconfig:${PKG_CONFIG_PATH}"
export LD_LIBRARY_PATH="${CURA_BUILD_ENV_PATH}/lib:${LD_LIBRARY_PATH}"
cd "${PROJECT_DIR}"
@ -60,7 +60,7 @@ export PYTHONPATH="${PROJECT_DIR}/Uranium:.:${PYTHONPATH}"
mkdir build
cd build
cmake3 \
cmake \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_PREFIX_PATH="${CURA_BUILD_ENV_PATH}" \
-DURANIUM_DIR="${PROJECT_DIR}/Uranium" \

View File

@ -1,3 +1,3 @@
#!/usr/bin/env bash
cd build
ctest3 -j4 --output-on-failure -T Test
ctest -j4 --output-on-failure -T Test

View File

@ -650,7 +650,6 @@ class XmlMaterialProfile(InstanceContainer):
machine_id_list = product_id_map.get(identifier.get("product"), [])
if not machine_id_list:
machine_id_list = self.getPossibleDefinitionIDsFromName(identifier.get("product"))
for machine_id in machine_id_list:
definitions = ContainerRegistry.getInstance().findDefinitionContainersMetadata(id = machine_id)
if not definitions:
@ -1068,6 +1067,8 @@ class XmlMaterialProfile(InstanceContainer):
id_list = {name.lower().replace(" ", ""), # simply removing all spaces
name.lower().replace(" ", "_"), # simply replacing all spaces with underscores
"_".join(merged_name_parts),
name.replace(" ", ""),
name.replace(" ", "_")
}
id_list = list(id_list)
return id_list

View File

@ -3,35 +3,33 @@ certifi==2019.11.28
cffi==1.14.1
chardet==3.0.4
colorlog
comtypes==1.1.7
cryptography==3.4.8
decorator==4.4.0
idna==2.8
importlib-metadata==3.7.2
importlib-metadata==4.10.0
keyring==23.0.1
lxml==4.6.3
lxml==4.7.1
mypy==0.740
netifaces==0.10.9
networkx==2.6.2
numpy==1.20.2
numpy==1.21.5
numpy-stl==2.10.1
packaging==18.0
pyclipper==1.3.0.post2
pycollada==0.6
pycparser==2.20
pyparsing==2.4.2
PyQt5==5.15.2
PyQt5-sip==12.8.1
PyQt5==5.15.6
PyQt5-sip==12.9.0
pyserial==3.4
pytest
python-dateutil==2.8.0
python-utils==2.3.0
pywin32==301
requests==2.22.0
scipy==1.6.2
pywin32==303
scipy==1.8.0rc2
sentry-sdk==0.13.5
shapely[vectorized]==1.8.0
six==1.12.0
trimesh==3.2.33
trimesh==3.9.36
twisted==21.2.0
typing
urllib3==1.25.9

Binary file not shown.

Before

Width:  |  Height:  |  Size: 872 KiB

View File

@ -145,13 +145,13 @@ UM.Dialog
projectsModel.append({ name: "SciPy", description: catalog.i18nc("@label", "Support library for scientific computing"), license: "BSD-new", url: "https://www.scipy.org/" });
projectsModel.append({ name: "NumPy", description: catalog.i18nc("@label", "Support library for faster math"), license: "BSD", url: "http://www.numpy.org/" });
projectsModel.append({ name: "NumPy-STL", description: catalog.i18nc("@label", "Support library for handling STL files"), license: "BSD", url: "https://github.com/WoLpH/numpy-stl" });
projectsModel.append({ name: "Shapely", description: catalog.i18nc("@label", "Support library for handling planar objects"), license: "BSD", url: "https://github.com/Toblerity/Shapely" });
projectsModel.append({ name: "Trimesh", description: catalog.i18nc("@label", "Support library for handling triangular meshes"), license: "MIT", url: "https://trimsh.org" });
projectsModel.append({ name: "libSavitar", description: catalog.i18nc("@label", "Support library for handling 3MF files"), license: "LGPLv3", url: "https://github.com/ultimaker/libsavitar" });
projectsModel.append({ name: "libCharon", description: catalog.i18nc("@label", "Support library for file metadata and streaming"), license: "LGPLv3", url: "https://github.com/ultimaker/libcharon" });
projectsModel.append({ name: "PySerial", description: catalog.i18nc("@label", "Serial communication library"), license: "Python", url: "http://pyserial.sourceforge.net/" });
projectsModel.append({ name: "python-zeroconf", description: catalog.i18nc("@label", "ZeroConf discovery library"), license: "LGPL", url: "https://github.com/jstasiak/python-zeroconf" });
projectsModel.append({ name: "Clipper", description: catalog.i18nc("@label", "Polygon clipping library"), license: "Boost", url: "http://www.angusj.com/delphi/clipper.php" });
projectsModel.append({ name: "Pyclipper", description: catalog.i18nc("@label", "Python bindings for Clipper"), license: "MIT", url: "https://github.com/fonttools/pyclipper" });
projectsModel.append({ name: "mypy", description: catalog.i18nc("@Label", "Static type checker for Python"), license: "MIT", url: "http://mypy-lang.org/" });
projectsModel.append({ name: "certifi", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "MPL", url: "https://github.com/certifi/python-certifi" });
projectsModel.append({ name: "cryptography", description: catalog.i18nc("@Label", "Root Certificates for validating SSL trustworthiness"), license: "APACHE and BSD", url: "https://cryptography.io/" });

View File

@ -167,13 +167,11 @@ UM.PreferencesPage
append({ text: "Čeština", code: "cs_CZ" })
append({ text: "Deutsch", code: "de_DE" })
append({ text: "Español", code: "es_ES" })
//Finnish is disabled for being incomplete: append({ text: "Suomi", code: "fi_FI" })
append({ text: "Français", code: "fr_FR" })
append({ text: "Italiano", code: "it_IT" })
append({ text: "日本語", code: "ja_JP" })
append({ text: "한국어", code: "ko_KR" })
append({ text: "Nederlands", code: "nl_NL" })
//Polish is disabled for being incomplete: append({ text: "Polski", code: "pl_PL" })
append({ text: "Português do Brasil", code: "pt_BR" })
append({ text: "Português", code: "pt_PT" })
append({ text: "Русский", code: "ru_RU" })
@ -186,6 +184,12 @@ UM.PreferencesPage
{
append({ text: "Pirate", code: "en_7S" })
}
// incomplete and/or abandoned
append({ text: catalog.i18nc("@heading", "-- incomplete --"), code: "" })
append({ text: "Magyar", code: "hu_HU" })
append({ text: "Suomi", code: "fi_FI" })
append({ text: "Polski", code: "pl_PL" })
}
}
@ -197,8 +201,7 @@ UM.PreferencesPage
model: languageList
Layout.fillWidth: true
currentIndex:
{
function setCurrentIndex() {
var code = UM.Preferences.getValue("general/language");
for(var i = 0; i < languageList.count; ++i)
{
@ -208,7 +211,17 @@ UM.PreferencesPage
}
}
}
onActivated: UM.Preferences.setValue("general/language", model.get(index).code)
currentIndex: setCurrentIndex()
onActivated: if (model.get(index).code != "")
{
UM.Preferences.setValue("general/language", model.get(index).code);
}
else
{
currentIndex = setCurrentIndex();
}
}
Label