This commit is contained in:
Jaime van Kessel 2015-08-13 11:25:45 +02:00
commit 0989c8345e
12 changed files with 485 additions and 227 deletions

View file

@ -9,8 +9,18 @@ import QtQuick.Window 2.1
import UM 1.0 as UM
UM.Wizard{
id: base
// This part checks whether there is a printer -> if not some of the functions (delete for example) are disabled
// This part is optional
property bool printer: true
file: "ultimaker2.json"
firstRun: printer ? false : true
//: Add Printer dialog title
wizardTitle: qsTr("Add Printer")
wizardPages: [
{
title: "Add Printer",
page: "AddMachine.qml"
}
]
}

View file

@ -5,6 +5,7 @@ import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import QtQuick.Window 2.1
import QtQuick.Controls.Styles 1.1
import UM 1.0 as UM
import ".."
@ -12,94 +13,240 @@ import ".."
ColumnLayout {
id: wizardPage
property string title
signal openFile(string fileName)
property int pageWidth
property int pageHeight
property var manufacturers: wizardPage.lineManufacturers()
property int manufacturerIndex: 0
SystemPalette{id: palette}
signal reloadModel(var newModel)
signal closeWizard()
width: wizardPage.pageWidth
height: wizardPage.pageHeight
Connections {
target: rootElement
target: elementRoot
onFinalClicked: {//You can add functions here that get triggered when the final button is clicked in the wizard-element
saveMachine()
}
onResize: {
wizardPage.width = pageWidth
wizardPage.height = pageHeight
}
}
function lineManufacturers(manufacturer){
var manufacturers = []
for (var i = 0; i < UM.Models.availableMachinesModel.rowCount(); i++) {
if (UM.Models.availableMachinesModel.getItem(i).manufacturer != manufacturers[manufacturers.length - 1]){
manufacturers.push(UM.Models.availableMachinesModel.getItem(i).manufacturer)
}
}
return manufacturers
}
Label {
id: title
anchors.left: parent.left
anchors.top: parent.top
text: parent.title
font.pointSize: 18;
}
Label {
id: subTitle
anchors.left: parent.left
anchors.top: title.bottom
//: Add Printer wizard page description
text: qsTr("Please select the type of printer:");
}
ScrollView {
ListView {
id: machineList;
model: UM.Models.availableMachinesModel
delegate: RadioButton {
id:machine_button
exclusiveGroup: printerGroup;
checked: ListView.view.currentIndex == index ? true : false
text: model.name;
onClicked: {
ListView.view.currentIndex = index;
id: machinesHolder
anchors.left: parent.left
anchors.top: subTitle.bottom
implicitWidth: wizardPage.width- UM.Theme.sizes.default_margin.width
implicitHeight: wizardPage.height - subTitle.height - title.height - (machineNameHolder.height * 2)
Component {
id: machineDelegate
ColumnLayout {
id: machineLayout
spacing: 0
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.standard_list_lineheight.width
function showManufacturer(){
if (model.manufacturer == UM.Models.availableMachinesModel.getItem(index - 1).manufacturer){
return false
}
else{
return true
}
}
height: {
if (machineLayout.showManufacturer() & wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer)
return UM.Theme.sizes.standard_list_lineheight.height * 2
if (wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer | machineLayout.showManufacturer())
return UM.Theme.sizes.standard_list_lineheight.height * 1
else
return 0
}
Behavior on height{
NumberAnimation { target: machineLayout; property: "height"; duration: 200}
}
Button {
id: manufacturer
property color backgroundColor: "transparent"
height: UM.Theme.sizes.standard_list_lineheight.height
visible: machineLayout.showManufacturer()
anchors.top: machineLayout.top
anchors.topMargin: 0
text: {
if (wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer)
return model.manufacturer + " ▼"
else
return model.manufacturer + " ►"
}
style: ButtonStyle {
background: Rectangle {
id: manufacturerBackground
opacity: 0.3
border.width: 0
color: manufacturer.backgroundColor
height: UM.Theme.sizes.standard_list_lineheight.height
}
label: Text {
renderType: Text.NativeRendering
horizontalAlignment: Text.AlignLeft
text: control.text
color: palette.windowText
font.bold: true
}
}
MouseArea {
id: mousearea
hoverEnabled: true
anchors.fill: parent
onEntered: manufacturer.backgroundColor = palette.light
onExited: manufacturer.backgroundColor = "transparent"
onClicked: {
wizardPage.manufacturerIndex = wizardPage.manufacturers.indexOf(model.manufacturer)
machineList.currentIndex = index
}
}
}
RadioButton {
id: machineButton
opacity: wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer ? 1 : 0
height: wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer ? UM.Theme.sizes.standard_list_lineheight.height : 0
anchors.top: parent.top
anchors.topMargin: machineLayout.showManufacturer() ? manufacturer.height - 5 : 0
anchors.left: parent.left
anchors.leftMargin: UM.Theme.sizes.standard_list_lineheight.width
checked: machineList.currentIndex == index ? true : false
exclusiveGroup: printerGroup;
text: model.name
onClicked: machineList.currentIndex = index;
function getAnimationTime(time){
if (machineButton.opacity == 0)
return time
else
return 0
}
Label {
id: author
visible: model.author != "Ultimaker" ? true : false
height: wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer ? UM.Theme.sizes.standard_list_lineheight.height : 0
//: Printer profile caption meaning: this profile is supported by the community
text: qsTr("community supported profile");
opacity: wizardPage.manufacturers[wizardPage.manufacturerIndex] == model.manufacturer ? 1 : 0
anchors.left: machineButton.right
anchors.leftMargin: UM.Theme.sizes.standard_list_lineheight.height/2
anchors.verticalCenter: machineButton.verticalCenter
anchors.verticalCenterOffset: UM.Theme.sizes.standard_list_lineheight.height / 4
font: UM.Theme.fonts.caption;
color: palette.mid
}
Behavior on opacity {
SequentialAnimation {
PauseAnimation { duration: machineButton.getAnimationTime(100) }
NumberAnimation { properties:"opacity"; duration: machineButton.getAnimationTime(200) }
}
}
}
}
}
ListView {
id: machineList
property int currentIndex: 0
property int otherMachinesIndex: {
for (var i = 0; i < UM.Models.availableMachinesModel.rowCount(); i++) {
if (UM.Models.availableMachinesModel.getItem(i).manufacturer != "Ultimaker"){
return i
}
}
}
anchors.fill: parent
model: UM.Models.availableMachinesModel
delegate: machineDelegate
focus: true
}
}
Label {
text: qsTr("Variation:");
Item{
id: machineNameHolder
height: childrenRect.height
anchors.top: machinesHolder.bottom
Label {
id: insertNameLabel
//: Add Printer wizard field label
text: qsTr("Printer Name:");
}
ScrollView {
ListView {
id: variations_list
model: machineList.model.getItem(machineList.currentIndex).variations
delegate: RadioButton {
id: variation_radio_button
checked: ListView.view.currentIndex == index ? true : false
exclusiveGroup: variationGroup;
text: model.name;
onClicked: ListView.view.currentIndex = index;
}
TextField {
id: machineName;
anchors.top: insertNameLabel.bottom
text: machineList.model.getItem(machineList.currentIndex).name
implicitWidth: UM.Theme.sizes.standard_list_input.width
}
}
Label {
//: Add Printer wizard field label
text: qsTr("Printer Name:");
}
TextField { id: machineName; Layout.fillWidth: true; text: machineList.model.getItem(machineList.currentIndex).name }
Item { Layout.fillWidth: true; Layout.fillHeight: true; }
ExclusiveGroup { id: printerGroup; }
ExclusiveGroup { id: variationGroup; }
function getSpecialMachineType(machineId){
for (var i = 0; i < UM.Models.addMachinesModel.rowCount(); i++) {
if (UM.Models.addMachinesModel.getItem(i).name == machineId){
return UM.Models.addMachinesModel.getItem(i).name
}
}
}
function saveMachine(){
if(machineList.currentIndex != -1) {
UM.Models.availableMachinesModel.createMachine(machineList.currentIndex, variations_list.currentIndex, machineName.text)
UM.Models.availableMachinesModel.createMachine(machineList.currentIndex, machineName.text)
var chosenMachine = UM.Models.availableMachinesModel.getItem(machineList.currentIndex).name
var originalString = "Ultimaker Original"
var originalPlusString = "Ultimaker Original+"
var originalMachineType = getSpecialMachineType(originalString)
if (UM.Models.availableMachinesModel.getItem(machineList.currentIndex).name == originalMachineType){
var variation = UM.Models.availableMachinesModel.getItem(machineList.currentIndex).variations.getItem(variations_list.currentIndex).name
if (variation == originalString || variation == originalPlusString){
console.log(UM.Models.availableMachinesModel.getItem(machineList.currentIndex).variations.getItem(variations_list.currentIndex).type)
wizardPage.openFile(UM.Models.availableMachinesModel.getItem(machineList.currentIndex).variations.getItem(variations_list.currentIndex).type)
}
if (chosenMachine == originalString | chosenMachine == originalPlusString ){
wizardPage.reloadModel([
{
title: "Select Upgraded Parts",
page: "SelectUpgradedParts.qml"
},
{
title: "Upgrade Ultimaker Firmware",
page: "UpgradeFirmware.qml"
},
{
title: "Ultimaker Checkup",
page: "UltimakerCheckup.qml"
},
{
title: "Bedleveling Wizard",
page: "Bedleveling.qml"
}
]
)
}
else {
wizardPage.closeWizard()
}

View file

@ -9,8 +9,25 @@ import QtQuick.Window 2.1
import UM 1.0 as UM
ColumnLayout {
id: wizardPage
property string title
anchors.fill: parent;
property int pageWidth
property int pageHeight
SystemPalette{id: palette}
//signal openFile(string fileName)
//signal closeWizard()
width: wizardPage.pageWidth
height: wizardPage.pageHeight
Connections {
target: elementRoot
onResize: {
wizardPage.width = pageWidth
wizardPage.height = pageHeight
}
}
Label {
text: parent.title

View file

@ -9,8 +9,25 @@ import QtQuick.Window 2.1
import UM 1.0 as UM
ColumnLayout {
id: wizardPage
property string title
anchors.fill: parent;
property int pageWidth
property int pageHeight
SystemPalette{id: palette}
//signal openFile(string fileName)
//signal closeWizard()
width: wizardPage.pageWidth
height: wizardPage.pageHeight
Connections {
target: elementRoot
onResize: {
wizardPage.width = pageWidth
wizardPage.height = pageHeight
}
}
Label {
text: parent.title
@ -18,23 +35,26 @@ ColumnLayout {
}
Label {
//: Add Printer wizard page description
text: qsTr("Please select the type of printer:");
//: Add UM Original wizard page description
width: 300
wrapMode: Text.WordWrap
text: qsTr("To assist you in having better default settings for your Ultimaker. Cura would like to know which upgrades you have in your machine:");
}
ScrollView {
Layout.fillWidth: true;
ListView {
id: machineList;
model: UM.Models.availableMachinesModel
delegate: RadioButton {
exclusiveGroup: printerGroup;
text: model.name;
onClicked: {
ListView.view.currentIndex = index;
}
Column {
CheckBox {
text: qsTr("Breakfast")
checked: true
}
CheckBox {
text: qsTr("Lunch")
}
CheckBox {
text: qsTr("Dinner")
checked: true
}
}
}
@ -44,7 +64,6 @@ ColumnLayout {
text: qsTr("Printer Name:");
}
TextField { id: machineName; Layout.fillWidth: true; text: machineList.model.getItem(machineList.currentIndex).name }
Item { Layout.fillWidth: true; Layout.fillHeight: true; }

View file

@ -9,7 +9,10 @@ import QtQuick.Window 2.1
import UM 1.0 as UM
ColumnLayout {
id: wizardPage
property string title
property int pageWidth
property int pageHeight
anchors.fill: parent;
Label {

View file

@ -9,9 +9,11 @@ import QtQuick.Window 2.1
import UM 1.0 as UM
ColumnLayout {
id: wizardPage
property string title
property int pageWidth
property int pageHeight
anchors.fill: parent;
signal openFile(string fileName)
Label {
text: parent.title

View file

@ -48,6 +48,7 @@
"default": 1
},
"machine_use_extruder_offset_to_offset_coords": { "default": false },
"extruder_nr": { "default": 0 },
"machine_nozzle_offset_x": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_nozzle_offset_y": { "default": 0, "SEE_machine_extruder_trains": true },
@ -55,18 +56,16 @@
"machine_nozzle_tip_outer_diameter": { "default": 1, "SEE_machine_extruder_trains": true },
"machine_nozzle_head_distance": { "default": 3, "SEE_machine_extruder_trains": true },
"machine_nozzle_expansion_angle": { "default": 45, "SEE_machine_extruder_trains": true },
"machine_heat_zone_length": { "default": 16, "SEE_machine_extruder_trains": true },
"machine_extruder_start_code": { "default": "", "SEE_machine_extruder_trains": true },
"machine_extruder_start_pos_abs": { "default": false, "SEE_machine_extruder_trains": true },
"machine_extruder_start_pos_x": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_start_pos_y": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_end_pos_abs": { "default": false, "SEE_machine_extruder_trains": true },
"machine_extruder_end_pos_x": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_end_pos_y": { "default": 0, "SEE_machine_extruder_trains": true },
"machine_extruder_end_code": { "default": "", "SEE_machine_extruder_trains": true },
"machine_switch_extruder_retraction_amount": { "default": 16, "SEE_machine_extruder_trains": true },
"machine_switch_extruder_retraction_speed": { "default": 20, "SEE_machine_extruder_trains": true },
"machine_switch_extruder_prime_speed": { "default": 20, "SEE_machine_extruder_trains": true },
"machine_nozzle_offset_x_1": {
"default": 0
},
"machine_nozzle_offset_y_1": {
"default": 0
},
"machine_gcode_flavor": {
"default": "RepRap"
},
@ -658,6 +657,180 @@
"min_value": 5,
"min_value_warning": 50,
"max_value_warning": 150
},
"retraction_enable": {
"label": "Enable Retraction",
"description": "Retract the filament when the nozzle is moving over a non-printed area. Details about the retraction can be configured in the advanced tab.",
"type": "boolean",
"default": true
},
"retraction_amount": {
"label": "Retraction Distance",
"description": "The amount of retraction: Set at 0 for no retraction at all. A value of 4.5mm seems to generate good results for 3mm filament in Bowden-tube fed printers.",
"unit": "mm",
"type": "float",
"default": 4.5,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_speed": {
"label": "Retraction Speed",
"description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.",
"unit": "mm/s",
"type": "float",
"default": 25,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
},
"children": {
"retraction_retract_speed": {
"label": "Retraction Retract Speed",
"description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.",
"unit": "mm/s",
"type": "float",
"default": 25,
"visible": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_prime_speed": {
"label": "Retraction Prime Speed",
"description": "The speed at which the filament is pushed back after retraction.",
"unit": "mm/s",
"type": "float",
"default": 25,
"visible": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
}
}
},
"retraction_extra_prime_amount": {
"label": "Retraction Extra Prime Amount",
"description": "The amount of material extruded after unretracting. During a retracted travel material might get lost and so we need to compensate for this.",
"unit": "mm",
"type": "float",
"default": 0,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_min_travel": {
"label": "Retraction Minimum Travel",
"description": "The minimum distance of travel needed for a retraction to happen at all. This helps ensure you do not get a lot of retractions in a small area.",
"unit": "mm",
"type": "float",
"default": 4.5,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_count_max": {
"label": "Maximal Retraction Count",
"description": "This settings limits the number of retractions occuring within the Minimal Extrusion Distance Window. Further retractions within this window will be ignored. This avoids retracting repeatedly on the same piece of filament as that can flatten the filament and cause grinding issues.",
"default": 6,
"type": "int",
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_extrusion_window": {
"label": "Minimal Extrusion Distance Window",
"description": "The window in which the Maximal Retraction Count is enforced. This window should be approximately the size of the Retraction distance, so that effectively the number of times a retraction passes the same patch of material is limited.",
"unit": "mm",
"type": "float",
"default": 4.5,
"visible": false,
"inherit_function": "retraction_amount",
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_hop": {
"label": "Z Hop when Retracting",
"description": "Whenever a retraction is done, the head is lifted by this amount to travel over the print. A value of 0.075 works well. This feature has a lot of positive effect on delta towers.",
"unit": "mm",
"type": "float",
"default": 0,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"machine_switch_extruder_retraction_amount": {
"label": "Nozzle Switch Retraction Distance",
"description": "The amount of retraction: Set at 0 for no retraction at all. This should generally be the same as the length of the heat zone.",
"unit": "mm",
"type": "float",
"default": 16,
"visible": false,
"inherit_function": "machine_heat_zone_length",
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"machine_switch_extruder_retraction_speed": {
"label": "Nozzle Switch Retraction Speed",
"description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.",
"unit": "mm/s",
"type": "float",
"default": 20,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
},
"children": {
"machine_switch_extruder_retraction_speed": {
"label": "Nozzle Switch Retract Speed",
"description": "The speed at which the filament is retracted during a nozzle switch retract. ",
"unit": "mm/s",
"type": "float",
"default": 20,
"visible": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"machine_switch_extruder_prime_speed": {
"label": "Nozzle Switch Prime Speed",
"description": "The speed at which the filament is pushed back after a nozzle switch retraction.",
"unit": "mm/s",
"type": "float",
"default": 20,
"visible": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
}
}
}
}
},
@ -830,139 +1003,6 @@
"visible": true,
"icon": "category_travel",
"settings": {
"retraction_enable": {
"label": "Enable Retraction",
"description": "Retract the filament when the nozzle is moving over a non-printed area. Details about the retraction can be configured in the advanced tab.",
"type": "boolean",
"default": true
},
"print_sequence": {
"label": "Print sequence",
"description": "TODO",
"type": "enum",
"options": [
"All at once",
"One at a time"
],
"default": "All at once",
"visible": true
},
"retraction_speed": {
"label": "Retraction Speed",
"description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.",
"unit": "mm/s",
"type": "float",
"default": 25,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
},
"children": {
"retraction_retract_speed": {
"label": "Retraction Retract Speed",
"description": "The speed at which the filament is retracted. A higher retraction speed works better, but a very high retraction speed can lead to filament grinding.",
"unit": "mm/s",
"type": "float",
"default": 25,
"visible": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_prime_speed": {
"label": "Retraction Prime Speed",
"description": "The speed at which the filament is pushed back after retraction.",
"unit": "mm/s",
"type": "float",
"default": 25,
"visible": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
}
}
},
"retraction_amount": {
"label": "Retraction Distance",
"description": "The amount of retraction: Set at 0 for no retraction at all. A value of 4.5mm seems to generate good results for 3mm filament in Bowden-tube fed printers.",
"unit": "mm",
"type": "float",
"default": 4.5,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_extra_prime_amount": {
"label": "Retraction Extra Prime Amount",
"description": "The amount of material extruded after unretracting. During a retracted travel material might get lost and so we need to compensate for this.",
"unit": "mm",
"type": "float",
"default": 0,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_min_travel": {
"label": "Retraction Minimum Travel",
"description": "The minimum distance of travel needed for a retraction to happen at all. This helps ensure you do not get a lot of retractions in a small area.",
"unit": "mm",
"type": "float",
"default": 4.5,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_count_max": {
"label": "Maximal Retraction Count",
"description": "This settings limits the number of retractions occuring within the Minimal Extrusion Distance Window. Further retractions within this window will be ignored. This avoids retracting repeatedly on the same piece of filament as that can flatten the filament and cause grinding issues.",
"default": 6,
"type": "int",
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_extrusion_window": {
"label": "Minimal Extrusion Distance Window",
"description": "The window in which the Maximal Retraction Count is enforced. This window should be approximately the size of the Retraction distance, so that effectively the number of times a retraction passes the same patch of material is limited.",
"unit": "mm",
"type": "float",
"default": 4.5,
"visible": false,
"inherit_function": "retraction_amount",
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_hop": {
"label": "Z Hop when Retracting",
"description": "Whenever a retraction is done, the head is lifted by this amount to travel over the print. A value of 0.075 works well. This feature has a lot of positive effect on delta towers.",
"unit": "mm",
"type": "float",
"default": 0,
"visible": false,
"inherit": false,
"active_if": {
"setting": "retraction_enable",
"value": true
}
},
"retraction_combing": {
"label": "Enable Combing",
"description": "Combing keeps the head within the interior of the print whenever possible when traveling from one part of the print to another, and does not use retraction. If combing is disabled the printer head moves straight from the start point to the end point and it will always retract.",
@ -1000,7 +1040,7 @@
"label": "Enable Coasting",
"description": "Coasting replaces the last part of an extrusion path with a travel path. The oozed material is used to lay down the last piece of the extrusion path in order to reduce stringing.",
"type": "boolean",
"default": true,
"default": false,
"visible": true
},
"coasting_volume": {
@ -1021,7 +1061,7 @@
"description": "The volume otherwise oozed in a travel move with retraction.",
"unit": "mm³",
"type": "float",
"default": 0.096,
"default": 0.064,
"visible": false,
"inherit": true,
"active_if": {
@ -1034,7 +1074,7 @@
"description": "The volume otherwise oozed in a travel move without retraction.",
"unit": "mm³",
"type": "float",
"default": 0.064,
"default": 0.096,
"visible": false,
"inherit": true,
"active_if": {
@ -1775,7 +1815,7 @@
"description": "The height of the steps of the stair-like bottom of support resting on the model. Small steps can cause the support to be hard to remove from the top of the model.",
"unit": "mm",
"type": "float",
"default": 1,
"default": 2,
"visible": false,
"active_if": {
"setting": "support_type",
@ -1969,6 +2009,17 @@
"visible": true,
"icon": "category_blackmagic",
"settings": {
"print_sequence": {
"label": "Print sequence",
"description": "Whether to print all objects one layer at a time or to wait for one object to finish, before moving on to the next. One at a time mode is only possible if all models are separated such that the whole print head can move between and all models are lower than the distance between the nozzle and the X/Y axles.",
"type": "enum",
"options": [
"All at once",
"One at a time"
],
"default": "All at once",
"visible": true
},
"magic_mesh_surface_mode": {
"label": "Surface Mode",
"description": "Print the surface instead of the volume. No infill, no top/bottom skin, just a single wall of which the middle coincides with the surface of the mesh.",

View file

@ -2,7 +2,7 @@
"id": "grr_neo",
"version": 1,
"name": "German RepRap Neo",
"manufacturer": "German RepRap",
"manufacturer": "Other",
"author": "other",
"icon": "icon_ultimaker.png",
"platform": "grr_neo_platform.stl",

View file

@ -1,18 +1,15 @@
{
"id": "maker_starter",
"name": "3DMaker Starter",
"icon": "icon_ultimaker2.png",
"platform": "makerstarter_platform.stl",
"version": 1,
"name": "3DMaker Starter",
"manufacturer": "Other",
"author": "Other",
"icon": "icon_ultimaker2.png",
"platform": "makerstarter_platform.stl",
"inherits": "fdmprinter.json",
"inherits": "fdmprinter.json",
"machine_settings": {
"machine_start_gcode": {
"default": "G21 ;metric values\nG90 ;absolute positioning\nM82 ;set extruder to absolute mode\nM107 ;start with the fan off\nG28 X0 Y0 ;move X/Y to min endstops\nG28 Z0 ;move Z to min endstops\nG1 Z15.0 F{travel_speed} ;move the platform down 15mm\nG92 E0 ;zero the extruded length\nG1 F200 E3 ;extrude 3mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 F{travel_speed}\n;Put printing message on LCD screen\nM117 Printing...\nM220 S50"
},
"machine_end_gcode": {
"default": "M104 S0 ;extruder heater off\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+0.5 E-5 X-20 Y-20 F{travel_speed} ;move Z up a bit and retract filament even more\nG28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way\nM84 ;steppers off\nG90 ;absolute positioning"
},
"machine_width": { "default": 210 },
"machine_depth": { "default": 185 },
"machine_height": { "default": 200 },
@ -35,6 +32,7 @@
"machine_nozzle_head_distance": { "default": 3.0 },
"machine_nozzle_expansion_angle": { "default": 45 }
},
"categories": {
"resolution": {
"label": "Quality",

View file

@ -22,6 +22,11 @@
"size": 0.5,
"family": "Roboto"
},
"caption": {
"size": 0.75,
"italic": true,
"family": "Roboto"
},
"sidebar_header": {
"size": 0.75,
"capitalize": true,
@ -120,7 +125,7 @@
"save_button_printtime_text": [12, 169, 227, 255],
"save_button_background": [249, 249, 249, 255],
"message": [205, 202, 201, 255],
"message": [160, 163, 171, 255],
"message_text": [35, 35, 35, 255],
"tool_panel_background": [255, 255, 255, 255]
@ -144,6 +149,9 @@
"setting_unit_margin": [0.5, 0.5],
"setting_text_maxwidth": [40.0, 0.0],
"standard_list_lineheight": [1.5, 1.5],
"standard_list_input": [20.0, 25.0],
"button": [4.25, 4.25],
"button_icon": [2.9, 2.9],
@ -171,6 +179,9 @@
"save_button_label_margin": [0.5, 0.5],
"save_button_save_to_button": [0.3, 2.7],
"modal_window_minimum": [30.0, 30.0],
"wizard_progress": [10.0, 0.0],
"message": [30.0, 5.0],
"message_close": [1.25, 1.25]
}