Merge branch 'master' of github.com:Ultimaker/Cura

This commit is contained in:
Jaime van Kessel 2016-11-24 14:52:10 +01:00
commit f3d0ad2292
42 changed files with 47 additions and 11 deletions

View file

@ -413,7 +413,7 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
for entry in settings: for entry in settings:
key = entry.get("key") key = entry.get("key")
if key in self.__material_property_setting_map: if key in self.__material_property_setting_map:
self.setProperty(self.__material_property_setting_map[key], "value", entry.text, self._definition) self.setProperty(self.__material_property_setting_map[key], "value", entry.text)
global_setting_values[self.__material_property_setting_map[key]] = entry.text global_setting_values[self.__material_property_setting_map[key]] = entry.text
elif key in self.__unmapped_settings: elif key in self.__unmapped_settings:
if key == "hardware compatible": if key == "hardware compatible":
@ -463,10 +463,10 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
new_material.getMetaData()["compatible"] = machine_compatibility new_material.getMetaData()["compatible"] = machine_compatibility
for key, value in global_setting_values.items(): for key, value in global_setting_values.items():
new_material.setProperty(key, "value", value, definition) new_material.setProperty(key, "value", value)
for key, value in machine_setting_values.items(): for key, value in machine_setting_values.items():
new_material.setProperty(key, "value", value, definition) new_material.setProperty(key, "value", value)
new_material._dirty = False new_material._dirty = False
@ -510,13 +510,13 @@ class XmlMaterialProfile(UM.Settings.InstanceContainer):
new_hotend_material.getMetaData()["compatible"] = hotend_compatibility new_hotend_material.getMetaData()["compatible"] = hotend_compatibility
for key, value in global_setting_values.items(): for key, value in global_setting_values.items():
new_hotend_material.setProperty(key, "value", value, definition) new_hotend_material.setProperty(key, "value", value)
for key, value in machine_setting_values.items(): for key, value in machine_setting_values.items():
new_hotend_material.setProperty(key, "value", value, definition) new_hotend_material.setProperty(key, "value", value)
for key, value in hotend_setting_values.items(): for key, value in hotend_setting_values.items():
new_hotend_material.setProperty(key, "value", value, definition) new_hotend_material.setProperty(key, "value", value)
new_hotend_material._dirty = False new_hotend_material._dirty = False
UM.Settings.ContainerRegistry.getInstance().addContainer(new_hotend_material) UM.Settings.ContainerRegistry.getInstance().addContainer(new_hotend_material)

View file

@ -1696,6 +1696,7 @@
"unit": "mm/s", "unit": "mm/s",
"type": "float", "type": "float",
"default_value": 30, "default_value": 30,
"value": "speed_print * 30 / 60",
"minimum_value": "0.1", "minimum_value": "0.1",
"maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)", "maximum_value": "math.sqrt(machine_max_feedrate_x ** 2 + machine_max_feedrate_y ** 2)",
"maximum_value_warning": "300", "maximum_value_warning": "300",

View file

@ -15,5 +15,6 @@ wall_thickness = 0.88
top_bottom_thickness = 0.72 top_bottom_thickness = 0.72
infill_sparse_density = 22 infill_sparse_density = 22
speed_print = 30 speed_print = 30
speed_layer_0 = =round(speed_print * 30 / 30)
cool_min_layer_time = 5 cool_min_layer_time = 5
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,9 +15,9 @@ wall_thickness = 0.7
top_bottom_thickness = 0.75 top_bottom_thickness = 0.75
infill_sparse_density = 18 infill_sparse_density = 18
speed_print = 60 speed_print = 60
speed_layer_0 = =round(speed_print * 30 / 60)
speed_wall = 50 speed_wall = 50
speed_topbottom = 30 speed_topbottom = 30
speed_travel = 150 speed_travel = 150
speed_layer_0 = 30
cool_min_layer_time = 5 cool_min_layer_time = 5
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,6 +15,7 @@ wall_thickness = 1.05
top_bottom_thickness = 0.72 top_bottom_thickness = 0.72
infill_sparse_density = 22 infill_sparse_density = 22
speed_print = 50 speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20 speed_topbottom = 20
cool_min_layer_time = 5 cool_min_layer_time = 5
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,6 +15,7 @@ wall_thickness = 1.05
top_bottom_thickness = 0.8 top_bottom_thickness = 0.8
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 50 speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = 20 speed_topbottom = 20
cool_min_layer_time = 5 cool_min_layer_time = 5
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,6 +15,7 @@ wall_thickness = 1.59
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 55 speed_print = 55
speed_layer_0 = =round(speed_print * 30 / 55)
speed_wall = 40 speed_wall = 40
speed_wall_0 = 25 speed_wall_0 = 25
speed_topbottom = 20 speed_topbottom = 20

View file

@ -15,6 +15,7 @@ wall_thickness = 2.1
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 40 speed_print = 40
speed_layer_0 = =round(speed_print * 30 / 40)
speed_wall_0 = 25 speed_wall_0 = 25
cool_min_layer_time = 5 cool_min_layer_time = 5
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,6 +15,7 @@ wall_thickness = 0.88
top_bottom_thickness = 0.72 top_bottom_thickness = 0.72
infill_sparse_density = 22 infill_sparse_density = 22
speed_print = 30 speed_print = 30
speed_layer_0 = =round(speed_print * 30 / 30)
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 20 cool_fan_speed_min = 20
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,10 +15,10 @@ wall_thickness = 0.7
top_bottom_thickness = 0.75 top_bottom_thickness = 0.75
infill_sparse_density = 18 infill_sparse_density = 18
speed_print = 55 speed_print = 55
speed_layer_0 = =round(speed_print * 30 / 55)
speed_wall = 40 speed_wall = 40
speed_topbottom = 30 speed_topbottom = 30
speed_travel = 150 speed_travel = 150
speed_layer_0 = 30
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 20 cool_fan_speed_min = 20
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,6 +15,7 @@ wall_thickness = 1.05
top_bottom_thickness = 0.72 top_bottom_thickness = 0.72
infill_sparse_density = 22 infill_sparse_density = 22
speed_print = 45 speed_print = 45
speed_layer_0 = =round(speed_print * 30 / 45)
speed_wall = 30 speed_wall = 30
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 20 cool_fan_speed_min = 20

View file

@ -15,6 +15,7 @@ wall_thickness = 1.05
top_bottom_thickness = 0.8 top_bottom_thickness = 0.8
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 45 speed_print = 45
speed_layer_0 = =round(speed_print * 30 / 45)
speed_wall = 30 speed_wall = 30
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 20 cool_fan_speed_min = 20

View file

@ -15,6 +15,7 @@ wall_thickness = 1.59
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 40 speed_print = 40
speed_layer_0 = =round(speed_print * 30 / 40)
speed_infill = 55 speed_infill = 55
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 50 cool_fan_speed_min = 50

View file

@ -15,6 +15,7 @@ wall_thickness = 2.1
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 40 speed_print = 40
speed_layer_0 = =round(speed_print * 30 / 40)
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 50 cool_fan_speed_min = 50
cool_min_speed = 15 cool_min_speed = 15

View file

@ -15,6 +15,7 @@ wall_thickness = 0.88
top_bottom_thickness = 0.72 top_bottom_thickness = 0.72
infill_sparse_density = 22 infill_sparse_density = 22
speed_print = 30 speed_print = 30
speed_layer_0 = =round(speed_print * 30 / 30)
cool_min_layer_time = 2 cool_min_layer_time = 2
cool_fan_speed_min = 20 cool_fan_speed_min = 20
cool_min_speed = 15 cool_min_speed = 15

View file

@ -15,9 +15,9 @@ wall_thickness = 0.7
top_bottom_thickness = 0.75 top_bottom_thickness = 0.75
infill_sparse_density = 18 infill_sparse_density = 18
speed_print = 45 speed_print = 45
speed_layer_0 = =round(speed_print * 30 / 45)
speed_wall = 40 speed_wall = 40
speed_travel = 150 speed_travel = 150
speed_layer_0 = 30
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 80 cool_fan_speed_min = 80
cool_min_speed = 10 cool_min_speed = 10

View file

@ -15,6 +15,7 @@ wall_thickness = 1.05
top_bottom_thickness = 0.72 top_bottom_thickness = 0.72
infill_sparse_density = 22 infill_sparse_density = 22
speed_print = 45 speed_print = 45
speed_layer_0 = =round(speed_print * 30 / 45)
speed_wall = 30 speed_wall = 30
cool_min_layer_time = 2 cool_min_layer_time = 2
cool_fan_speed_min = 80 cool_fan_speed_min = 80

View file

@ -15,6 +15,7 @@ wall_thickness = 1.05
top_bottom_thickness = 0.8 top_bottom_thickness = 0.8
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 45 speed_print = 45
speed_layer_0 = =round(speed_print * 30 / 45)
speed_wall = 30 speed_wall = 30
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 80 cool_fan_speed_min = 80

View file

@ -15,6 +15,7 @@ wall_thickness = 1.59
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 40 speed_print = 40
speed_layer_0 = =round(speed_print * 30 / 40)
cool_min_layer_time = 5 cool_min_layer_time = 5
cool_fan_speed_min = 80 cool_fan_speed_min = 80
cool_min_speed = 8 cool_min_speed = 8

View file

@ -15,6 +15,7 @@ wall_thickness = 2.1
top_bottom_thickness = 1.2 top_bottom_thickness = 1.2
infill_sparse_density = 20 infill_sparse_density = 20
speed_print = 40 speed_print = 40
speed_layer_0 = =round(speed_print * 30 / 40)
cool_min_layer_time = 3 cool_min_layer_time = 3
cool_fan_speed_min = 80 cool_fan_speed_min = 80
cool_min_speed = 8 cool_min_speed = 8

View file

@ -20,7 +20,6 @@ raft_surface_thickness = 0.2
raft_surface_line_width = 0.57 raft_surface_line_width = 0.57
raft_interface_line_spacing = 1.4 raft_interface_line_spacing = 1.4
raft_margin = 15 raft_margin = 15
speed_layer_0 = 30
raft_airgap = 0.37 raft_airgap = 0.37
infill_overlap = 5 infill_overlap = 5
layer_height = 0.3 layer_height = 0.3
@ -40,6 +39,7 @@ line_width = 0.57
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
raft_base_line_width = 1.2 raft_base_line_width = 1.2
speed_print = 25 speed_print = 25
speed_layer_0 = =round(speed_print * 30 / 50)
support_line_distance = 2.85 support_line_distance = 2.85
support_angle = 45 support_angle = 45
cool_min_layer_time = 3 cool_min_layer_time = 3

View file

@ -33,6 +33,7 @@ infill_sparse_density = 40
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
raft_base_line_width = 1.6 raft_base_line_width = 1.6
speed_print = 25 speed_print = 25
speed_layer_0 = =round(speed_print * 30 / 25)
speed_wall_0 = 20 speed_wall_0 = 20
support_angle = 45 support_angle = 45
cool_min_layer_time = 3 cool_min_layer_time = 3

View file

@ -33,6 +33,7 @@ infill_sparse_density = 40
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
raft_base_line_width = 1.6 raft_base_line_width = 1.6
speed_print = 30 speed_print = 30
speed_layer_0 = =round(speed_print * 30 / 30)
speed_wall_0 = 20 speed_wall_0 = 20
support_angle = 45 support_angle = 45
cool_min_layer_time = 3 cool_min_layer_time = 3

View file

@ -20,7 +20,6 @@ support_top_distance = 0.5
raft_surface_thickness = 0.2 raft_surface_thickness = 0.2
wall_thickness = 2.4 wall_thickness = 2.4
raft_margin = 15 raft_margin = 15
speed_layer_0 = 30
raft_airgap = 0.44 raft_airgap = 0.44
infill_overlap = 5 infill_overlap = 5
layer_height = 0.2 layer_height = 0.2
@ -41,6 +40,7 @@ infill_sparse_density = 40
layer_0_z_overlap = 0.25 layer_0_z_overlap = 0.25
raft_base_line_width = 1.6 raft_base_line_width = 1.6
speed_print = 55 speed_print = 55
speed_layer_0 = =round(speed_print * 30 / 55)
support_angle = 45 support_angle = 45
raft_interface_line_spacing = 1.8 raft_interface_line_spacing = 1.8

View file

@ -31,6 +31,7 @@ infill_sparse_density = 25
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
cool_min_layer_time = 2 cool_min_layer_time = 2
speed_print = 30 speed_print = 30
speed_layer_0 = =round(speed_print * 30 / 30)
raft_base_line_spacing = 1 raft_base_line_spacing = 1
raft_base_line_width = 0.5 raft_base_line_width = 0.5

View file

@ -31,6 +31,7 @@ infill_sparse_density = 25
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
cool_min_layer_time = 2 cool_min_layer_time = 2
speed_print = 30 speed_print = 30
speed_layer_0 = =round(speed_print * 30 / 30)
raft_base_line_spacing = 1 raft_base_line_spacing = 1
raft_base_line_width = 0.5 raft_base_line_width = 0.5

View file

@ -31,6 +31,7 @@ infill_sparse_density = 30
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
cool_min_layer_time = 3 cool_min_layer_time = 3
speed_print = 45 speed_print = 45
speed_layer_0 = =round(speed_print * 30 / 45)
support_angle = 45 support_angle = 45
raft_base_line_spacing = 1.6 raft_base_line_spacing = 1.6
raft_base_line_width = 0.8 raft_base_line_width = 0.8

View file

@ -31,6 +31,7 @@ infill_sparse_density = 30
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
cool_min_layer_time = 3 cool_min_layer_time = 3
speed_print = 45 speed_print = 45
speed_layer_0 = =round(speed_print * 30 / 45)
support_angle = 45 support_angle = 45
raft_base_line_spacing = 1.6 raft_base_line_spacing = 1.6
raft_base_line_width = 0.8 raft_base_line_width = 0.8

View file

@ -32,6 +32,7 @@ infill_sparse_density = 40
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
raft_base_line_width = 1.6 raft_base_line_width = 1.6
speed_print = 40 speed_print = 40
speed_layer_0 = =round(speed_print * 30 / 40)
support_angle = 45 support_angle = 45
cool_min_layer_time = 3 cool_min_layer_time = 3

View file

@ -32,6 +32,7 @@ infill_sparse_density = 40
layer_0_z_overlap = 0.22 layer_0_z_overlap = 0.22
raft_base_line_width = 1.6 raft_base_line_width = 1.6
speed_print = 40 speed_print = 40
speed_layer_0 = =round(speed_print * 30 / 40)
support_angle = 45 support_angle = 45
cool_min_layer_time = 3 cool_min_layer_time = 3

View file

@ -16,6 +16,7 @@ material_print_temperature = 240
prime_tower_size = 16 prime_tower_size = 16
skin_overlap = 20 skin_overlap = 20
speed_print = 60 speed_print = 60
speed_layer_0 = =round(speed_print * 30 / 60)
speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_topbottom = =math.ceil(speed_print * 35 / 60)
speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall = =math.ceil(speed_print * 45 / 60)
speed_wall_0 = =math.ceil(speed_wall * 35 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45)

View file

@ -17,6 +17,7 @@ material_print_temperature = 235
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_size = 16 prime_tower_size = 16
speed_print = 60 speed_print = 60
speed_layer_0 = =round(speed_print * 30 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall = =math.ceil(speed_print * 40 / 60)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 40)

View file

@ -16,6 +16,7 @@ machine_nozzle_heat_up_speed = 1.5
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_size = 16 prime_tower_size = 16
speed_print = 50 speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_wall = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 50)

View file

@ -16,6 +16,7 @@ material_print_temperature = 230
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_size = 16 prime_tower_size = 16
speed_print = 55 speed_print = 55
speed_layer_0 = =round(speed_print * 30 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_wall = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55)

View file

@ -15,6 +15,7 @@ material_standby_temperature = 100
prime_tower_size = 17 prime_tower_size = 17
skin_overlap = 20 skin_overlap = 20
speed_print = 60 speed_print = 60
speed_layer_0 = =round(speed_print * 30 / 60)
speed_topbottom = =math.ceil(speed_print * 35 / 60) speed_topbottom = =math.ceil(speed_print * 35 / 60)
speed_wall = =math.ceil(speed_print * 45 / 60) speed_wall = =math.ceil(speed_print * 45 / 60)
speed_wall_0 = =math.ceil(speed_wall * 35 / 45) speed_wall_0 = =math.ceil(speed_wall * 35 / 45)

View file

@ -15,6 +15,7 @@ material_print_temperature = 245
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_size = 17 prime_tower_size = 17
speed_print = 60 speed_print = 60
speed_layer_0 = =round(speed_print * 30 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 40 / 60) speed_wall = =math.ceil(speed_print * 40 / 60)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 40)

View file

@ -16,6 +16,7 @@ machine_nozzle_heat_up_speed = 1.5
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_size = 17 prime_tower_size = 17
speed_print = 50 speed_print = 50
speed_layer_0 = =round(speed_print * 30 / 50)
speed_topbottom = =math.ceil(speed_print * 30 / 50) speed_topbottom = =math.ceil(speed_print * 30 / 50)
speed_wall = =math.ceil(speed_print * 30 / 50) speed_wall = =math.ceil(speed_print * 30 / 50)

View file

@ -16,6 +16,7 @@ material_print_temperature = 240
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_size = 17 prime_tower_size = 17
speed_print = 55 speed_print = 55
speed_layer_0 = =round(speed_print * 30 / 55)
speed_topbottom = =math.ceil(speed_print * 30 / 55) speed_topbottom = =math.ceil(speed_print * 30 / 55)
speed_wall = =math.ceil(speed_print * 30 / 55) speed_wall = =math.ceil(speed_print * 30 / 55)

View file

@ -17,6 +17,7 @@ machine_nozzle_heat_up_speed = 1.6
material_standby_temperature = 100 material_standby_temperature = 100
prime_tower_enable = False prime_tower_enable = False
speed_print = 80 speed_print = 80
speed_layer_0 = =round(speed_print * 30 / 80)
speed_topbottom = =math.ceil(speed_print * 30 / 80) speed_topbottom = =math.ceil(speed_print * 30 / 80)
speed_wall = =math.ceil(speed_print * 40 / 80) speed_wall = =math.ceil(speed_print * 40 / 80)
speed_wall_0 = =math.ceil(speed_wall * 30 / 40) speed_wall_0 = =math.ceil(speed_wall * 30 / 40)

View file

@ -19,6 +19,7 @@ material_print_temperature = 195
material_standby_temperature = 100 material_standby_temperature = 100
skin_overlap = 10 skin_overlap = 10
speed_print = 60 speed_print = 60
speed_layer_0 = =round(speed_print * 30 / 60)
speed_topbottom = =math.ceil(speed_print * 30 / 60) speed_topbottom = =math.ceil(speed_print * 30 / 60)
speed_wall = =math.ceil(speed_print * 30 / 60) speed_wall = =math.ceil(speed_print * 30 / 60)
top_bottom_thickness = 1 top_bottom_thickness = 1

View file

@ -28,6 +28,7 @@ retraction_min_travel = =line_width * 2
retraction_prime_speed = =retraction_speed retraction_prime_speed = =retraction_speed
skin_overlap = 15 skin_overlap = 15
speed_print = 70 speed_print = 70
speed_layer_0 = =speed_print * 30 / 70
speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_topbottom = =math.ceil(speed_print * 30 / 70)
speed_wall = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70)
support_angle = 60 support_angle = 60

View file

@ -27,6 +27,7 @@ retraction_min_travel = 1.5
retraction_prime_speed = 25 retraction_prime_speed = 25
skin_overlap = 15 skin_overlap = 15
speed_print = 70 speed_print = 70
speed_layer_0 = =round(speed_print * 30 / 70)
speed_topbottom = =math.ceil(speed_print * 30 / 70) speed_topbottom = =math.ceil(speed_print * 30 / 70)
speed_wall = =math.ceil(speed_print * 30 / 70) speed_wall = =math.ceil(speed_print * 30 / 70)
support_angle = 60 support_angle = 60