mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-05 14:40:43 +08:00
Merge branch '5.5'
This commit is contained in:
commit
1e8a5d85b8
@ -2,6 +2,7 @@ checks:
|
||||
diagnostic-mesh-file-extension: true
|
||||
diagnostic-mesh-file-size: true
|
||||
diagnostic-definition-redundant-override: true
|
||||
diagnostic-resources-macos-app-directory-name: true
|
||||
fixes:
|
||||
diagnostic-definition-redundant-override: true
|
||||
format:
|
||||
|
@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "printerlinter"
|
||||
description = "Cura UltiMaker printer linting tool"
|
||||
version = "0.1.0"
|
||||
version = "0.1.1"
|
||||
authors = [
|
||||
{ name = "UltiMaker", email = "cura@ultimaker.com" }
|
||||
]
|
||||
|
@ -1,26 +1,27 @@
|
||||
from pathlib import Path
|
||||
from typing import Optional
|
||||
from typing import Optional, List
|
||||
|
||||
from .linters.profile import Profile
|
||||
from .linters.defintion import Definition
|
||||
from .linters.linter import Linter
|
||||
from .linters.meshes import Meshes
|
||||
from .linters.directory import Directory
|
||||
|
||||
|
||||
def getLinter(file: Path, settings: dict) -> Optional[Linter]:
|
||||
def getLinter(file: Path, settings: dict) -> Optional[List[Linter]]:
|
||||
""" Returns a Linter depending on the file format """
|
||||
if not file.exists():
|
||||
return None
|
||||
|
||||
if ".inst" in file.suffixes and ".cfg" in file.suffixes:
|
||||
return Profile(file, settings)
|
||||
return [Directory(file, settings), Profile(file, settings)]
|
||||
|
||||
if ".def" in file.suffixes and ".json" in file.suffixes:
|
||||
if file.stem in ("fdmprinter.def", "fdmextruder.def"):
|
||||
return None
|
||||
return Definition(file, settings)
|
||||
return [Directory(file, settings), Definition(file, settings)]
|
||||
|
||||
if file.parent.stem == "meshes":
|
||||
return Meshes(file, settings)
|
||||
return [Meshes(file, settings)]
|
||||
|
||||
return None
|
||||
return [Directory(file, settings)]
|
||||
|
31
printer-linter/src/printerlinter/linters/directory.py
Normal file
31
printer-linter/src/printerlinter/linters/directory.py
Normal file
@ -0,0 +1,31 @@
|
||||
from pathlib import Path
|
||||
from typing import Iterator
|
||||
|
||||
from ..diagnostic import Diagnostic
|
||||
from .linter import Linter
|
||||
|
||||
|
||||
class Directory(Linter):
|
||||
def __init__(self, file: Path, settings: dict) -> None:
|
||||
""" Finds issues in the parent directory"""
|
||||
super().__init__(file, settings)
|
||||
|
||||
def check(self) -> Iterator[Diagnostic]:
|
||||
if self._settings["checks"].get("diagnostic-resources-macos-app-directory-name", False):
|
||||
for check in self.checkForDotInDirName():
|
||||
yield check
|
||||
|
||||
yield
|
||||
|
||||
def checkForDotInDirName(self) -> Iterator[Diagnostic]:
|
||||
""" Check if there is a dot in the directory name, MacOS has trouble signing and notarizing otherwise """
|
||||
if any("." in p for p in self._file.parent.parts):
|
||||
yield Diagnostic(
|
||||
file = self._file,
|
||||
diagnostic_name = "diagnostic-resources-macos-app-directory-name",
|
||||
message = f"Directory name containing a `.` not allowed {self._file.suffix}, rename directory containing this file e.q: `_`",
|
||||
level = "Error",
|
||||
offset = 1
|
||||
)
|
||||
yield
|
||||
|
@ -71,12 +71,16 @@ def main() -> None:
|
||||
|
||||
def diagnoseIssuesWithFile(file: Path, settings: dict) -> List[Diagnostic]:
|
||||
""" For file, runs all diagnostic checks in settings and returns a list of diagnostics """
|
||||
linter = factory.getLinter(file, settings)
|
||||
linters = factory.getLinter(file, settings)
|
||||
|
||||
if not linter:
|
||||
if not linters:
|
||||
return []
|
||||
|
||||
return list(filter(lambda d: d is not None, linter.check()))
|
||||
linter_results = []
|
||||
for linter in linters:
|
||||
linter_results.extend(list(filter(lambda d: d is not None, linter.check())))
|
||||
|
||||
return linter_results
|
||||
|
||||
|
||||
def applyFixesToFile(file, settings, full_body_check) -> None:
|
||||
|
@ -2453,7 +2453,7 @@
|
||||
"material_print_temperature_layer_0":
|
||||
{
|
||||
"label": "Printing Temperature Initial Layer",
|
||||
"description": "The temperature used for printing the first layer. Set at 0 to disable special handling of the initial layer.",
|
||||
"description": "The temperature used for printing the first layer.",
|
||||
"unit": "\u00b0C",
|
||||
"type": "float",
|
||||
"default_value": 215,
|
||||
@ -8125,6 +8125,14 @@
|
||||
"resolve": "max(extruderValues('raft_base_wall_count'))",
|
||||
"settable_per_mesh": false,
|
||||
"settable_per_extruder": false
|
||||
},
|
||||
"group_outer_walls":
|
||||
{
|
||||
"label": "Group Outer Walls",
|
||||
"description": "Outer walls of different islands in the same layer are printed in sequence. When enabled the amount of flow changes is limited because walls are printed one type at a time, when disabled the number of travels between islands is reduced because walls in the same islands are grouped.",
|
||||
"type": "bool",
|
||||
"default_value": true,
|
||||
"settable_per_mesh": true
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -5,7 +5,6 @@ version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 22
|
||||
@ -23,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -5,7 +5,6 @@ version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 22
|
||||
@ -23,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -5,7 +5,6 @@ version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 22
|
||||
@ -23,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -22,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -5,7 +5,6 @@ version = 4
|
||||
|
||||
[metadata]
|
||||
intent_category = quick
|
||||
is_experimental = True
|
||||
material = ultimaker_tough_pla
|
||||
quality_type = verydraft
|
||||
setting_version = 22
|
||||
@ -23,6 +22,6 @@ jerk_wall_0 = 30
|
||||
speed_print = 150
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =2 * line_width
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -21,6 +21,6 @@ jerk_print = 30
|
||||
jerk_wall_0 = 30
|
||||
speed_wall = =speed_print
|
||||
speed_wall_0 = 40
|
||||
top_bottom_thickness = = 4 * layer_height
|
||||
top_bottom_thickness = =4 * layer_height
|
||||
wall_thickness = =wall_line_width_0
|
||||
|
||||
|
@ -39,7 +39,7 @@ Flickable
|
||||
padding: UM.Theme.getSize("default_margin").width
|
||||
spacing: UM.Theme.getSize("default_margin").height
|
||||
|
||||
width: recommendedPrintSetup.width - 2 * padding - (scroll.visible ? scroll.width : 0)
|
||||
width: recommendedPrintSetup.width - 2 * padding - UM.Theme.getSize("thin_margin").width
|
||||
|
||||
// TODO
|
||||
property real firstColumnWidth: Math.round(width / 3)
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user