mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-07 06:57:28 -06:00
Filter materials by the (approximate) material diameter of the printer
If a machine defines material diameter of 2.85mm, there is no use to show the 1.75mm materials and vice-versa
This commit is contained in:
parent
e0b927b53c
commit
e92aaca7b6
3 changed files with 22 additions and 2 deletions
|
@ -118,6 +118,7 @@ class XmlMaterialProfile(InstanceContainer):
|
||||||
metadata.pop("variant", "")
|
metadata.pop("variant", "")
|
||||||
metadata.pop("type", "")
|
metadata.pop("type", "")
|
||||||
metadata.pop("base_file", "")
|
metadata.pop("base_file", "")
|
||||||
|
metadata.pop("approximate_diameter", "")
|
||||||
|
|
||||||
## Begin Name Block
|
## Begin Name Block
|
||||||
builder.start("name")
|
builder.start("name")
|
||||||
|
@ -437,6 +438,7 @@ class XmlMaterialProfile(InstanceContainer):
|
||||||
Logger.log("d", "Unsupported material setting %s", key)
|
Logger.log("d", "Unsupported material setting %s", key)
|
||||||
self._cached_values = global_setting_values
|
self._cached_values = global_setting_values
|
||||||
|
|
||||||
|
meta_data["approximate_diameter"] = round(diameter)
|
||||||
meta_data["compatible"] = global_compatibility
|
meta_data["compatible"] = global_compatibility
|
||||||
self.setMetaData(meta_data)
|
self.setMetaData(meta_data)
|
||||||
self._dirty = False
|
self._dirty = False
|
||||||
|
|
|
@ -15,6 +15,15 @@ Menu
|
||||||
property int extruderIndex: 0
|
property int extruderIndex: 0
|
||||||
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
|
property bool printerConnected: Cura.MachineManager.printerOutputDevices.length != 0
|
||||||
|
|
||||||
|
UM.SettingPropertyProvider
|
||||||
|
{
|
||||||
|
id: materialDiameterProvider
|
||||||
|
|
||||||
|
containerStackId: Cura.MachineManager.activeMachineId
|
||||||
|
key: "material_diameter"
|
||||||
|
watchedProperties: [ "value" ]
|
||||||
|
}
|
||||||
|
|
||||||
MenuItem
|
MenuItem
|
||||||
{
|
{
|
||||||
id: automaticMaterial
|
id: automaticMaterial
|
||||||
|
@ -141,7 +150,7 @@ Menu
|
||||||
|
|
||||||
function materialFilter()
|
function materialFilter()
|
||||||
{
|
{
|
||||||
var result = { "type": "material" };
|
var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value) };
|
||||||
if(Cura.MachineManager.filterMaterialsByMachine)
|
if(Cura.MachineManager.filterMaterialsByMachine)
|
||||||
{
|
{
|
||||||
result.definition = Cura.MachineManager.activeQualityDefinitionId;
|
result.definition = Cura.MachineManager.activeQualityDefinitionId;
|
||||||
|
|
|
@ -18,7 +18,7 @@ UM.ManagementPage
|
||||||
{
|
{
|
||||||
filter:
|
filter:
|
||||||
{
|
{
|
||||||
var result = { "type": "material" }
|
var result = { "type": "material", "approximate_diameter": Math.round(materialDiameterProvider.properties.value) }
|
||||||
if(Cura.MachineManager.filterMaterialsByMachine)
|
if(Cura.MachineManager.filterMaterialsByMachine)
|
||||||
{
|
{
|
||||||
result.definition = Cura.MachineManager.activeQualityDefinitionId;
|
result.definition = Cura.MachineManager.activeQualityDefinitionId;
|
||||||
|
@ -327,6 +327,15 @@ UM.ManagementPage
|
||||||
id: messageDialog
|
id: messageDialog
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UM.SettingPropertyProvider
|
||||||
|
{
|
||||||
|
id: materialDiameterProvider
|
||||||
|
|
||||||
|
containerStackId: Cura.MachineManager.activeMachineId
|
||||||
|
key: "material_diameter"
|
||||||
|
watchedProperties: [ "value" ]
|
||||||
|
}
|
||||||
|
|
||||||
UM.I18nCatalog { id: catalog; name: "cura"; }
|
UM.I18nCatalog { id: catalog; name: "cura"; }
|
||||||
SystemPalette { id: palette }
|
SystemPalette { id: palette }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue