mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-13 23:35:57 +08:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
0fe39017b1
3
.gitignore
vendored
3
.gitignore
vendored
@ -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
|
||||
|
@ -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 = []
|
||||
|
@ -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)
|
||||
|
@ -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" \
|
||||
|
@ -1,3 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
cd build
|
||||
ctest3 -j4 --output-on-failure -T Test
|
||||
ctest -j4 --output-on-failure -T Test
|
||||
|
@ -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
|
||||
|
@ -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 |
@ -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/" });
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user