Merge branch 'et_opengl_3' of https://github.com/prusa3d/PrusaSlicer into et_opengl_es

This commit is contained in:
enricoturri1966 2022-03-31 13:57:12 +02:00
commit c89a95f5ef
27 changed files with 1468 additions and 18 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

View File

@ -0,0 +1,2 @@
min_slic3r_version = 2.4.1
1.0.0 Initial version

View File

@ -0,0 +1,744 @@
# Zonestar print profiles
# based on https://github.com/slic3r/slic3r-profiles/pull/19 by @ZONESTAR3D
[vendor]
# Vendor name will be shown by the Config Wizard.
name = Zonestar
# Configuration version of this file. Config file will only be installed, if the config_version differs.
# This means, the server may force the PrusaSlicer configuration to be downgraded.
config_version = 1.0.0
# Where to get the updates from?
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Zonestar/
# The printer models will be shown by the Configuration Wizard in this order,
# also the first model installed & the first nozzle installed will be activated after install.
# Printer model name will be shown by the installation wizard.
[printer_model:Z5]
name = Zonestar Z5
variants = 0.4
technology = FFF
bed_model = bed_220.stl
bed_texture = 220_texture.svg
default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
[printer_model:Z6]
name = Zonestar Z6
variants = 0.4
technology = FFF
bed_model = bed_150.stl
bed_texture = 150_texture.svg
default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
[printer_model:Z5X]
name = Zonestar Z5X
variants = 0.4
technology = FFF
bed_model = bed_310.stl
bed_texture = 310_texture.svg
default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
[printer_model:Z8]
name = Zonestar Z8
variants = 0.4
technology = FFF
bed_model = bed_310.stl
bed_texture = 310_texture.svg
default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
[printer_model:Z9]
name = Zonestar Z9
variants = 0.4
technology = FFF
bed_model = bed_310.stl
bed_texture = 310_texture.svg
default_materials = Generic PLA @Zonestar; Generic ABS @Zonestar; Generic PETG @Zonestar; Generic TPU @Zonestar
###################
#### print ####
###################
[print:*common*]
avoid_crossing_perimeters = 0
avoid_crossing_perimeters_max_detour = 0
bottom_fill_pattern = monotonic
bottom_solid_layers = 4
bottom_solid_min_thickness = 0
bridge_acceleration = 0
bridge_angle = 0
bridge_flow_ratio = 1
bridge_speed = 60
brim_separation = 0
brim_type = outer_only
brim_width = 4
clip_multipart_objects = 1
complete_objects = 0
default_acceleration = 0
dont_support_bridges = 1
draft_shield = disabled
elefant_foot_compensation = 0
ensure_vertical_shell_thickness = 1
external_perimeter_extrusion_width = 0.45
external_perimeter_speed = 50%
external_perimeters_first = 0
extra_perimeters = 0
extruder_clearance_height = 20
extruder_clearance_radius = 20
extrusion_width = 0.45
fill_angle = 45
fill_density = 20%
fill_pattern = grid
first_layer_acceleration = 0
first_layer_acceleration_over_raft = 0
first_layer_extrusion_width = 0.45
first_layer_height = 0.3
first_layer_speed = 25
first_layer_speed_over_raft = 30
fuzzy_skin = none
fuzzy_skin_point_dist = 0.8
fuzzy_skin_thickness = 0.3
gap_fill_enabled = 1
gap_fill_speed = 20
gcode_comments = 0
gcode_label_objects = 0
gcode_resolution = 0.0125
gcode_substitutions =
infill_acceleration = 0
infill_anchor = 600%
infill_anchor_max = 50
infill_every_layers = 1
infill_extruder = 1
infill_extrusion_width = 0.45
infill_first = 0
infill_only_where_needed = 0
infill_overlap = 25%
infill_speed = 60
inherits =
interface_shells = 0
ironing = 0
ironing_flowrate = 15%
ironing_spacing = 0.1
ironing_speed = 15
ironing_type = top
layer_height = 0.2
max_print_speed = 80
max_volumetric_speed = 0
min_skirt_length = 0
mmu_segmented_region_max_width = 0
notes =
only_retract_when_crossing_perimeters = 0
ooze_prevention = 0
output_filename_format = {printer_model}_{input_filename_base}.gcode
overhangs = 1
perimeter_acceleration = 0
perimeter_extruder = 1
perimeter_extrusion_width = 0.45
perimeter_speed = 50
perimeters = 3
post_process =
print_settings_id =
raft_contact_distance = 0.1
raft_expansion = 1.5
raft_first_layer_density = 90%
raft_first_layer_expansion = 3
raft_layers = 0
resolution = 0
seam_position = aligned
single_extruder_multi_material_priming = 0
skirt_distance = 6
skirt_height = 1
skirts = 0
slice_closing_radius = 0.049
slicing_mode = regular
small_perimeter_speed = 15
solid_infill_below_area = 0
solid_infill_every_layers = 0
solid_infill_extruder = 1
solid_infill_extrusion_width = 0.45
solid_infill_speed = 20
spiral_vase = 0
standby_temperature_delta = -5
support_material = 0
support_material_angle = 0
support_material_auto = 1
support_material_bottom_contact_distance = 0
support_material_bottom_interface_layers = -1
support_material_buildplate_only = 0
support_material_closing_radius = 2
support_material_contact_distance = 0.2
support_material_enforce_layers = 0
support_material_extruder = 1
support_material_extrusion_width = 0.35
support_material_interface_contact_loops = 0
support_material_interface_extruder = 1
support_material_interface_layers = 3
support_material_interface_pattern = rectilinear
support_material_interface_spacing = 0
support_material_interface_speed = 100%
support_material_pattern = rectilinear
support_material_spacing = 2.5
support_material_speed = 60
support_material_style = grid
support_material_synchronize_layers = 0
support_material_threshold = 0
support_material_with_sheath = 1
support_material_xy_spacing = 50%
thick_bridges = 1
thin_walls = 0
threads = 4
top_fill_pattern = monotonic
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 15
top_solid_layers = 5
top_solid_min_thickness = 0
travel_speed = 100
travel_speed_z = 0
wipe_tower = 0
xy_size_compensation = 0
compatible_printers_condition = nozzle_diameter[0]==0.4 and num_extruders==1
[print:0.20mm @Zonestar MULTI]
inherits = *common*
wipe_tower = 1
wipe_tower_x = 125
wipe_tower_y = 195
compatible_printers_condition = nozzle_diameter[0]==0.4 and num_extruders>1
[print:0.20mm @Zonestar SINGLE]
inherits = *common*
###################
#### filament ####
###################
[filament:Generic ABS @Zonestar]
bed_temperature = 100
bridge_fan_speed = 30
cooling = 1
disable_fan_first_layers = 3
extrusion_multiplier = 1
fan_always_on = 0
fan_below_layer_time = 60
filament_colour = #29B2B2
filament_cooling_final_speed = 3.4
filament_cooling_initial_speed = 2.2
filament_cooling_moves = 4
filament_cost = 0
filament_density = 0
filament_diameter = 1.75
filament_load_time = 0
filament_loading_speed = 28
filament_loading_speed_start = 3
filament_minimal_purge_on_wipe_tower = 50
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
filament_type = ABS
filament_unloading_speed = 40
filament_unloading_speed_start = 60
filament_vendor = Generic
first_layer_bed_temperature = 100
first_layer_temperature = 245
max_fan_speed = 0
min_fan_speed = 0
min_print_speed = 15
slowdown_below_layer_time = 25
temperature = 245
[filament:Generic PETG @Zonestar]
bed_temperature = 70
bridge_fan_speed = 100
cooling = 1
disable_fan_first_layers = 3
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
extrusion_multiplier = 1
fan_always_on = 1
fan_below_layer_time = 60
filament_colour = #29B2B2
filament_cooling_final_speed = 3.4
filament_cooling_initial_speed = 2.2
filament_cooling_moves = 4
filament_diameter = 1.75
filament_loading_speed = 28
filament_loading_speed_start = 3
filament_max_volumetric_speed = 0
filament_minimal_purge_on_wipe_tower = 50
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
filament_spool_weight = 0
filament_toolchange_delay = 0
filament_type = PETG
filament_unloading_speed = 40
filament_unloading_speed_start = 60
filament_vendor = Generic
first_layer_bed_temperature = 70
first_layer_temperature = 210
full_fan_speed_layer = 0
max_fan_speed = 50
min_fan_speed = 25
min_print_speed = 10
slowdown_below_layer_time = 5
start_filament_gcode = "; Filament gcode\n"
temperature = 210
[filament:Generic PLA @Zonestar]
bed_temperature = 60
bridge_fan_speed = 100
cooling = 1
disable_fan_first_layers = 3
extrusion_multiplier = 1
fan_always_on = 1
fan_below_layer_time = 60
filament_colour = #29B2B2
filament_cooling_final_speed = 3.4
filament_cooling_initial_speed = 2.2
filament_cooling_moves = 4
filament_cost = 0
filament_density = 0
filament_diameter = 1.75
filament_loading_speed = 28
filament_loading_speed_start = 3
filament_max_volumetric_speed = 0
filament_minimal_purge_on_wipe_tower = 50
filament_notes = ""
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
filament_toolchange_delay = 0
filament_type = PLA
filament_unloading_speed = 40
filament_unloading_speed_start = 60
filament_vendor = Generic
filament_wipe = nil
first_layer_bed_temperature = 60
first_layer_temperature = 200
full_fan_speed_layer = 5
max_fan_speed = 100
min_fan_speed = 50
min_print_speed = 10
slowdown_below_layer_time = 5
temperature = 200
[filament:Generic TPU @Zonestar]
bed_temperature = 50
bridge_fan_speed = 100
cooling = 1
disable_fan_first_layers = 3
extrusion_multiplier = 1
fan_always_on = 0
fan_below_layer_time = 60
filament_colour = #29B2B2
filament_cooling_final_speed = 3.4
filament_cooling_initial_speed = 2.2
filament_cooling_moves = 4
filament_diameter = 1.75
filament_loading_speed = 28
filament_loading_speed_start = 3
filament_max_volumetric_speed = 3
filament_minimal_purge_on_wipe_tower = 50
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
filament_toolchange_delay = 0
filament_type = FLEX
filament_unloading_speed = 30
filament_unloading_speed_start = 30
filament_vendor = Generic
first_layer_bed_temperature = 50
first_layer_temperature = 225
full_fan_speed_layer = 0
max_fan_speed = 100
min_fan_speed = 50
min_print_speed = 10
slowdown_below_layer_time = 5
temperature = 225
###################
#### printer ####
###################
[printer:*common*]
printer_technology = FFF
before_layer_gcode =
between_objects_gcode =
color_change_gcode = M600
cooling_tube_retraction = 35
default_filament_profile =
default_print_profile =
deretract_speed =
end_gcode =
extra_loading_move = -2
gcode_flavor = marlin2
high_current_on_filament_swap = 0
host_type = octoprint
layer_gcode =
machine_limits_usage = ignore
machine_max_acceleration_e = 10000
machine_max_acceleration_extruding = 1500
machine_max_acceleration_retracting = 1500
machine_max_acceleration_travel = 1500
machine_max_acceleration_x = 9000
machine_max_acceleration_y = 9000
machine_max_acceleration_z = 500
machine_max_feedrate_e = 120
machine_max_feedrate_x = 500
machine_max_feedrate_y = 500
machine_max_feedrate_z = 12
machine_max_jerk_e = 2.5
machine_max_jerk_x = 10
machine_max_jerk_y = 10
machine_max_jerk_z = 0.2
machine_min_extruding_rate = 0
machine_min_travel_rate = 0
max_layer_height = 0.3
min_layer_height = 0.1
nozzle_diameter = 0.4
pause_print_gcode =
remaining_times = 0
retract_speed = 40
silent_mode = 0
single_extruder_multi_material = 0
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_firmware_retraction = 0
use_relative_e_distances = 1
use_volumetric_e = 0
variable_layer_height = 0
wipe = 0
z_offset = 0
[printer:Zonestar Z5+M2 HOTEND]
inherits = *common*
printer_model = Z5
printer_variant = 0.4
bed_shape = 0x0,220x0,220x220,0x220
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar MULTI
deretract_speed = 30,30
before_layer_gcode = G92 E0
end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #FF0000;#00FF00
extruder_offset = 0x0,0x0
max_layer_height = 0.3,0.3
max_print_height = 220
min_layer_height = 0.15,0.15
nozzle_diameter = 0.4,0.4
retract_before_travel = 2,2
retract_before_wipe = 0%
retract_layer_change = 0
retract_length = 10,10
retract_length_toolchange = 0,0
retract_lift = 0,0
retract_lift_above = 0,0
retract_lift_below = 0,0
retract_restart_extra = 0,0
retract_restart_extra_toolchange = 0,0
retract_speed = 35,35
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 1
wipe = 0,0
[printer:Zonestar Z6]
inherits = *common*
printer_model = Z6
printer_variant = 0.4
bed_shape = 0x0,150x0,150x150,0x150
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar SINGLE
deretract_speed = 30
end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #00FF00
extruder_offset = 0x0
min_layer_height = 0.1
max_layer_height = 0.3
max_print_height = 150
nozzle_diameter = 0.4
retract_before_travel = 2
retract_before_wipe = 0%
retract_layer_change = 0
retract_length = 6.5
retract_length_toolchange = 0
retract_lift = 0
retract_lift_above = 0
retract_lift_below = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 40
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000; lift nozzle\nG1 X5 Y5 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y100 E8 F600 ; prime nozzle\nG1 Y50 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 0
[printer:Zonestar Z5X]
inherits = *common*
printer_model = Z5X
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar SINGLE
deretract_speed = 30
end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #00FF00
extruder_offset = 0x0
min_layer_height = 0.1
max_layer_height = 0.3
max_print_height = 400
nozzle_diameter = 0.4
retract_before_travel = 2
retract_before_wipe = 0%
retract_layer_change = 0
retract_length = 6.5
retract_length_toolchange = 0
retract_lift = 0
retract_lift_above = 0
retract_lift_below = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 40
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000; lift nozzle\nG1 X5 Y5 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y50 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 0
#Z8 with different types of hotend
[printer:Zonestar Z8+M3 HOTEND]
inherits = *common*
printer_model = Z8
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar MULTI
deretract_speed = 30,30,30
before_layer_gcode = G92 E0
end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #FF0000;#00FF00;#0000FF
extruder_offset = 0x0,0x0,0x0
max_layer_height = 0.3,0.3,0.3
max_print_height = 400
min_layer_height = 0.15,0.15,0.15
nozzle_diameter = 0.4,0.4,0.4
retract_before_travel = 2,2,2
retract_before_wipe = 0%,0%,0%
retract_layer_change = 0,0,0
retract_length = 10,10,10
retract_length_toolchange = 0,0,0
retract_lift = 0,0,0
retract_lift_above = 0,0,0
retract_lift_below = 0,0,0
retract_restart_extra = 0,0,0
retract_restart_extra_toolchange = 0,0,0
retract_speed = 35,35,35
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 1
wipe = 0,0,0
layer_gcode = G92 E0
[printer:Zonestar Z8+M4 HOTEND]
inherits = *common*
printer_model = Z8
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar MULTI
deretract_speed = 30,30,30,30
before_layer_gcode = G92 E0
end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
extruder_offset = 0x0,0x0,0x0,0x0
max_layer_height = 0.3,0.3,0.3,0.3
max_print_height = 400
min_layer_height = 0.15,0.15,0.15,0.15
nozzle_diameter = 0.4,0.4,0.4,0.4
retract_before_travel = 2,2,2,2
retract_before_wipe = 0%,0%,0%,0%
retract_layer_change = 0,0,0,0
retract_length = 10,10,10,10
retract_length_toolchange = 0,0,0,0
retract_lift = 0,0,0,0
retract_lift_above = 0,0,0,0
retract_lift_below = 0,0,0,0
retract_restart_extra = 0,0,0,0
retract_restart_extra_toolchange = 0,0,0,0
retract_speed = 35,35,35,35
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 1
wipe = 0,0,0,0
layer_gcode = G92 E0
[printer:Zonestar Z8+E4 HOTEND]
inherits = *common*
printer_model = Z8
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar MULTI
deretract_speed = 30,30,30,30
before_layer_gcode = G92 E0
end_gcode = G1 E-30 F2100 ;pull out filament\nG28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
extruder_offset = 0x0,0x0,0x0,0x0
max_layer_height = 0.3,0.3,0.3,0.3
max_print_height = 400
min_layer_height = 0.1,0.1,0.1,0.1
nozzle_diameter = 0.4,0.4,0.4,0.4
retract_before_travel = 2,2,2,2
retract_before_wipe = 0%,0%,0%,0%
retract_layer_change = 0,0,0,0
retract_length = 8,8,8,8
retract_length_toolchange = 0,0,0,0
retract_lift = 0,0,0,0
retract_lift_above = 0,0,0,0
retract_lift_below = 0,0,0,0
retract_restart_extra = 0,0,0,0
retract_restart_extra_toolchange = 0,0,0,0
retract_speed = 35,35,35,35
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
toolchange_gcode = G92 E0\nG1 E-30 F1200;pull filament\nG92 E0\nT[next_extruder];Change extruder\nG92 E0\nG1 E15 F1800; push filament-1\nG1 E25 F900; pushfilament-2\nG1 E29 F1200; push filament-3\nG92 E0
use_relative_e_distances = 1
wipe = 0,0,0,0
layer_gcode = G92 E0
[printer:Zonestar Z8+DDE]
inherits = *common*
printer_model = Z8
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic TPU @Zonestar
default_print_profile = 0.20mm @Zonestar SINGLE
deretract_speed = 30
end_gcode = G28 X\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #00FF00
extruder_offset = 0x0
max_layer_height = 0.3
max_print_height = 400
min_layer_height = 0.1
nozzle_diameter = 0.4
retract_before_travel = 2
retract_before_wipe = 0%
retract_layer_change = 0
retract_length = 6.5
retract_length_toolchange = 0
retract_lift = 0
retract_lift_above = 0
retract_lift_below = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 40
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 0
#Z9 with different types of hotend
[printer:Zonestar Z9+M3 HOTEND]
inherits = *common*
printer_model = Z9
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar MULTI
deretract_speed = 30,30,30
before_layer_gcode = G92 E0
end_gcode = G28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #FF0000;#00FF00;#0000FF
extruder_offset = 0x0,0x0,0x0
max_layer_height = 0.3,0.3,0.3
max_print_height = 400
min_layer_height = 0.15,0.15,0.15
nozzle_diameter = 0.4,0.4,0.4
retract_before_travel = 2,2,2
retract_before_wipe = 0%,0%,0%
retract_layer_change = 0,0,0
retract_length = 10,10,10
retract_length_toolchange = 0,0,0
retract_lift = 0,0,0
retract_lift_above = 0,0,0
retract_lift_below = 0,0,0
retract_restart_extra = 0,0,0
retract_restart_extra_toolchange = 0,0,0
retract_speed = 35,35,35
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 1
wipe = 0,0,0
layer_gcode = G92 E0
[printer:Zonestar Z9+M4 HOTEND]
inherits = *common*
printer_model = Z9
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar MULTI
deretract_speed = 30,30,30,30
before_layer_gcode = G92 E0
end_gcode = G28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
extruder_offset = 0x0,0x0,0x0,0x0
max_layer_height = 0.3,0.3,0.3,0.3
max_print_height = 400
min_layer_height = 0.15,0.15,0.15,0.15
nozzle_diameter = 0.4,0.4,0.4,0.4
retract_before_travel = 2,2,2,2
retract_before_wipe = 0%,0%,0%,0%
retract_layer_change = 0,0,0,0
retract_length = 10,10,10,10
retract_length_toolchange = 0,0,0,0
retract_lift = 0,0,0,0
retract_lift_above = 0,0,0,0
retract_lift_below = 0,0,0,0
retract_restart_extra = 0,0,0,0
retract_restart_extra_toolchange = 0,0,0,0
retract_speed = 35,35,35,35
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 1
wipe = 0,0,0,0
layer_gcode = G92 E0
[printer:Zonestar Z9+E4 HOTEND]
inherits = *common*
printer_model = Z9
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic PLA @Zonestar
default_print_profile = 0.20mm @Zonestar MULTI
deretract_speed = 30,30,30,30
before_layer_gcode = G92 E0
end_gcode = G1 E-30 F2100 ;pull out filament\nG28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #E0E0E0;#FF0000;#00FF00;#0000FF
extruder_offset = 0x0,0x0,0x0,0x0
max_layer_height = 0.3,0.3,0.3,0.3
max_print_height = 400
min_layer_height = 0.1,0.1,0.1,0.1
nozzle_diameter = 0.4,0.4,0.4,0.4
retract_before_travel = 2,2,2,2
retract_before_wipe = 0%,0%,0%,0%
retract_layer_change = 0,0,0,0
retract_length = 8,8,8,8
retract_length_toolchange = 0,0,0,0
retract_lift = 0,0,0,0
retract_lift_above = 0,0,0,0
retract_lift_below = 0,0,0,0
retract_restart_extra = 0,0,0,0
retract_restart_extra_toolchange = 0,0,0,0
retract_speed = 35,35,35,35
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nT[initial_tool]\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
toolchange_gcode = G92 E0\nG1 E-30 F1200;pull filament\nG92 E0\nT[next_extruder];Change extruder\nG92 E0\nG1 E15 F1800; push filament-1\nG1 E25 F900; pushfilament-2\nG1 E29 F1200; push filament-3\nG92 E0
use_relative_e_distances = 1
wipe = 0,0,0,0
layer_gcode = G92 E0
[printer:Zonestar Z9+DDE]
inherits = *common*
printer_model = Z9
printer_variant = 0.4
bed_shape = 0x0,310x0,310x310,0x310
default_filament_profile = Generic TPU @Zonestar
default_print_profile = 0.20mm @Zonestar SINGLE
deretract_speed = 30
end_gcode = G28 XY\nM106 S0 ; turn off FAN\nM104 S0 ; turn off extruder\nM140 S0 ; turn off bed\nM84 ; disable motors
extruder_colour = #00FF00
extruder_offset = 0x0
max_layer_height = 0.3
max_print_height = 400
min_layer_height = 0.1
nozzle_diameter = 0.4
retract_before_travel = 2
retract_before_wipe = 0%
retract_layer_change = 0
retract_length = 6.5
retract_length_toolchange = 0
retract_lift = 0
retract_lift_above = 0
retract_lift_below = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 40
start_gcode = M104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all axes\nG1 Z5 F3000 ; lift nozzle\nG1 X5 Y10 F1500 ; move to prime\nG1 Z0.2 F3000 ; get ready to prime\nG92 E0 ; reset extrusion distance\nG1 Y200 E15 F600 ; prime nozzle\nG1 Y100 F5000 ; quick wipe\nG92 E0
use_relative_e_distances = 0

View File

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="150mm"
height="150mm"
viewBox="0 0 150 150"
version="1.1"
id="svg8">
<defs
id="defs2" />
<metadata
id="metadata5">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 89.999999,0 v 150 0 0"
id="path867" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 100,150 V 0"
id="path869" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 110,0 V 150"
id="path871" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 120,150 V 0"
id="path873" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130,0 V 150"
id="path875" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 140,150 V 0"
id="path877" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 79.999998,0 V 150"
id="path879" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 69.999999,150 V 0"
id="path881" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 59.999998,0 V 150"
id="path883" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 50,150 V 0"
id="path885" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 39.999999,0 V 150"
id="path887" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 30,150 V 0"
id="path889" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 20,0 V 150"
id="path891" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 10,150 V 0"
id="path893" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,10 H 150"
id="path895" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,20 H 0"
id="path897" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,30 H 150"
id="path899" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,39.999999 H 0"
id="path901" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,50 H 150"
id="path903" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,59.999998 H 0"
id="path905" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,69.999999 H 150"
id="path907" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,79.999998 H 0"
id="path909" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,89.999999 H 150"
id="path911" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,100 H 0"
id="path913" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,110 H 150"
id="path915" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,120 H 0"
id="path917" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,130 H 150"
id="path919" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,140 H 0"
id="path921" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="220mm"
height="220mm"
viewBox="0 0 220 220"
version="1.1"
id="svg929">
<defs
id="defs923" />
<metadata
id="metadata926">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 10,0 V 220"
id="path1494" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 20,220 V 0"
id="path1496" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 30,0 V 220"
id="path1498" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 39.999999,220 V 0"
id="path1500" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 50,0 V 220"
id="path1502" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 59.999998,220 V 0"
id="path1504" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 69.999999,0 V 220"
id="path1506" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 79.999998,220 V 0"
id="path1508" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 89.999999,0 V 220"
id="path1510" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 100,220 V 0"
id="path1512" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 110,0 V 220"
id="path1514" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 120,220 V 0"
id="path1516" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130,0 V 220"
id="path1518" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 140,220 V 0"
id="path1520" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,0 V 220"
id="path1522" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 160,220 V 0"
id="path1524" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 170,0 V 220"
id="path1526" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 180,220 V 0"
id="path1528" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 190,0 V 220"
id="path1530" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 200,220 V 0"
id="path1532" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 210,0 V 220"
id="path1534" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,210 H 0"
id="path1536" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,200 H 0"
id="path1538" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,190 H 220"
id="path1540" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,180 H 0"
id="path1542" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,170 H 220"
id="path1544" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,160 H 0"
id="path1546" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,150 H 220"
id="path1548" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,140 H 0"
id="path1550" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,130 H 220"
id="path1552" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,120 H 0"
id="path1554" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,110 H 220"
id="path1556" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,100 H 0"
id="path1558" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,89.999999 H 220"
id="path1560" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,79.999998 H 0"
id="path1562" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,69.999999 H 220"
id="path1564" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,59.999998 H 0"
id="path1566" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,50 H 220"
id="path1568" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,39.999999 H 0"
id="path1570" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,30 H 220"
id="path1572" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,20 H 0"
id="path1574" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,10 H 220"
id="path1576" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,270 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
width="310mm"
height="310mm"
viewBox="0 0 310 310"
version="1.1"
id="svg1584">
<defs
id="defs1578" />
<metadata
id="metadata1581">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
id="layer1">
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 10,0 V 309.99998"
id="path2149" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 20,309.99998 V 0"
id="path2151" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 30,0 V 309.99998"
id="path2153" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 39.999999,309.99998 V 0"
id="path2155" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 50,0 V 309.99998"
id="path2157" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 59.999998,309.99998 V 0 0 0"
id="path2159" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 69.999999,0 V 309.99998"
id="path2161" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 79.999998,309.99998 V 0"
id="path2163" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 89.999999,0 V 309.99998"
id="path2165" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 100,309.99998 V 0"
id="path2167" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 110,0 V 309.99998"
id="path2169" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 120,309.99998 V 0"
id="path2171" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 130,0 V 309.99998"
id="path2173" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 140,309.99998 V 0"
id="path2175" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 150,0 V 309.99998"
id="path2177" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 160,309.99998 V 0"
id="path2179" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 170,0 V 309.99998"
id="path2181" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 180,309.99998 V 0"
id="path2183" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 190,0 V 309.99998"
id="path2185" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 200,309.99998 V 0"
id="path2187" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 210,0 V 309.99998"
id="path2189" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 220,309.99998 V 0"
id="path2191" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 230,0 V 309.99998"
id="path2193" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 240,309.99998 V 0"
id="path2195" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 250,0 V 309.99998"
id="path2197" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 260,309.99998 V 0"
id="path2199" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 269.99999,0 V 309.99998"
id="path2201" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 279.99999,309.99998 V 0"
id="path2203" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 290,0 V 309.99998"
id="path2205" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 300,309.99998 V 0"
id="path2207" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,10 H 309.99998"
id="path2209" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,20 H 0"
id="path2211" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,30 H 309.99998"
id="path2213" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,39.999999 H 0"
id="path2215" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,50 H 309.99998"
id="path2217" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,59.999998 H 0"
id="path2219" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,69.999999 H 309.99998"
id="path2221" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,79.999998 H 0"
id="path2223" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,89.999999 H 309.99998"
id="path2225" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,100 H 0"
id="path2227" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,110 H 309.99998"
id="path2229" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,120 H 0"
id="path2231" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,130 H 309.99998"
id="path2233" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,140 H 0"
id="path2235" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,150 H 309.99998"
id="path2237" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,160 H 0"
id="path2239" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,170 H 309.99998"
id="path2241" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,180 H 0"
id="path2243" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,190 H 309.99998"
id="path2245" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,200 H 0"
id="path2247" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,210 H 309.99998"
id="path2249" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,220 H 0"
id="path2251" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,230 H 309.99998"
id="path2253" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,240 H 0"
id="path2255" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,250 H 309.99998"
id="path2257" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,260 H 0"
id="path2259" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,269.99999 H 309.99998"
id="path2261" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,279.99999 H 0"
id="path2263" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 0,290 H 309.99998"
id="path2265" />
<path
style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 309.99998,300 H 0"
id="path2267" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
#version 110
const vec3 ZERO = vec3(0.0, 0.0, 0.0);
uniform vec4 uniform_color;
varying vec3 clipping_planes_dots;
void main()
{
if (any(lessThan(clipping_planes_dots, ZERO)))
discard;
gl_FragColor = uniform_color;
}

View File

@ -0,0 +1,23 @@
#version 110
uniform mat4 view_model_matrix;
uniform mat4 projection_matrix;
uniform mat4 volume_world_matrix;
// Clipping plane, x = min z, y = max z. Used by the FFF and SLA previews to clip with a top / bottom plane.
uniform vec2 z_range;
// Clipping plane - general orientation. Used by the SLA gizmo.
uniform vec4 clipping_plane;
attribute vec3 v_position;
varying vec3 clipping_planes_dots;
void main()
{
// Fill in the scalars for fragment shader clipping. Fragments with any of these components lower than zero are discarded.
vec4 world_pos = volume_world_matrix * vec4(v_position, 1.0);
clipping_planes_dots = vec3(dot(world_pos, clipping_plane), world_pos.z - z_range.x, z_range.y - world_pos.z);
gl_Position = projection_matrix * view_model_matrix * vec4(v_position, 1.0);
}

View File

@ -0,0 +1,17 @@
#version 140
const vec3 ZERO = vec3(0.0, 0.0, 0.0);
uniform vec4 uniform_color;
in vec3 clipping_planes_dots;
out vec4 out_color;
void main()
{
if (any(lessThan(clipping_planes_dots, ZERO)))
discard;
out_color = uniform_color;
}

View File

@ -0,0 +1,23 @@
#version 140
uniform mat4 view_model_matrix;
uniform mat4 projection_matrix;
uniform mat4 volume_world_matrix;
// Clipping plane, x = min z, y = max z. Used by the FFF and SLA previews to clip with a top / bottom plane.
uniform vec2 z_range;
// Clipping plane - general orientation. Used by the SLA gizmo.
uniform vec4 clipping_plane;
in vec3 v_position;
out vec3 clipping_planes_dots;
void main()
{
// Fill in the scalars for fragment shader clipping. Fragments with any of these components lower than zero are discarded.
vec4 world_pos = volume_world_matrix * vec4(v_position, 1.0);
clipping_planes_dots = vec3(dot(world_pos, clipping_plane), world_pos.z - z_range.x, z_range.y - world_pos.z);
gl_Position = projection_matrix * view_model_matrix * vec4(v_position, 1.0);
}

View File

@ -1132,8 +1132,8 @@ void GLVolumeCollection::render(GLVolumeCollection::ERenderType type, bool disab
glsafe(::glEnableClientState(GL_NORMAL_ARRAY)); glsafe(::glEnableClientState(GL_NORMAL_ARRAY));
#endif // ENABLE_LEGACY_OPENGL_REMOVAL #endif // ENABLE_LEGACY_OPENGL_REMOVAL
shader->set_uniform("z_range", m_z_range, 2); shader->set_uniform("z_range", m_z_range);
shader->set_uniform("clipping_plane", m_clipping_plane, 4); shader->set_uniform("clipping_plane", m_clipping_plane);
shader->set_uniform("print_volume.type", static_cast<int>(m_print_volume.type)); shader->set_uniform("print_volume.type", static_cast<int>(m_print_volume.type));
shader->set_uniform("print_volume.xy_data", m_print_volume.data); shader->set_uniform("print_volume.xy_data", m_print_volume.data);
shader->set_uniform("print_volume.z_data", m_print_volume.zs); shader->set_uniform("print_volume.z_data", m_print_volume.zs);

View File

@ -591,10 +591,10 @@ private:
PrintVolume m_print_volume; PrintVolume m_print_volume;
// z range for clipping in shaders // z range for clipping in shaders
float m_z_range[2]; std::array<float, 2> m_z_range;
// plane coeffs for clipping in shaders // plane coeffs for clipping in shaders
float m_clipping_plane[4]; std::array<double, 4> m_clipping_plane;
struct Slope struct Slope
{ {
@ -707,7 +707,10 @@ public:
void set_print_volume(const PrintVolume& print_volume) { m_print_volume = print_volume; } void set_print_volume(const PrintVolume& print_volume) { m_print_volume = print_volume; }
void set_z_range(float min_z, float max_z) { m_z_range[0] = min_z; m_z_range[1] = max_z; } void set_z_range(float min_z, float max_z) { m_z_range[0] = min_z; m_z_range[1] = max_z; }
void set_clipping_plane(const double* coeffs) { m_clipping_plane[0] = coeffs[0]; m_clipping_plane[1] = coeffs[1]; m_clipping_plane[2] = coeffs[2]; m_clipping_plane[3] = coeffs[3]; } void set_clipping_plane(const std::array<double, 4>& coeffs) { m_clipping_plane = coeffs; }
const std::array<float, 2>& get_z_range() const { return m_z_range; }
const std::array<double, 4>& get_clipping_plane() const { return m_clipping_plane; }
bool is_slope_active() const { return m_slope.active; } bool is_slope_active() const { return m_slope.active; }
void set_slope_active(bool active) { m_slope.active = active; } void set_slope_active(bool active) { m_slope.active = active; }

View File

@ -5315,14 +5315,18 @@ void GLCanvas3D::_picking_pass()
glsafe(::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)); glsafe(::glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT));
#if !ENABLE_LEGACY_OPENGL_REMOVAL
m_camera_clipping_plane = m_gizmos.get_clipping_plane(); m_camera_clipping_plane = m_gizmos.get_clipping_plane();
if (m_camera_clipping_plane.is_active()) { if (m_camera_clipping_plane.is_active()) {
::glClipPlane(GL_CLIP_PLANE0, (GLdouble*)m_camera_clipping_plane.get_data()); ::glClipPlane(GL_CLIP_PLANE0, (GLdouble*)m_camera_clipping_plane.get_data());
::glEnable(GL_CLIP_PLANE0); ::glEnable(GL_CLIP_PLANE0);
} }
#endif // !ENABLE_LEGACY_OPENGL_REMOVAL
_render_volumes_for_picking(); _render_volumes_for_picking();
#if !ENABLE_LEGACY_OPENGL_REMOVAL
if (m_camera_clipping_plane.is_active()) if (m_camera_clipping_plane.is_active())
::glDisable(GL_CLIP_PLANE0); ::glDisable(GL_CLIP_PLANE0);
#endif !ENABLE_LEGACY_OPENGL_REMOVAL
#if ENABLE_LEGACY_OPENGL_REMOVAL #if ENABLE_LEGACY_OPENGL_REMOVAL
const Camera& camera = wxGetApp().plater()->get_camera(); const Camera& camera = wxGetApp().plater()->get_camera();
@ -5849,7 +5853,7 @@ void GLCanvas3D::_render_overlays()
void GLCanvas3D::_render_volumes_for_picking() const void GLCanvas3D::_render_volumes_for_picking() const
{ {
#if ENABLE_LEGACY_OPENGL_REMOVAL #if ENABLE_LEGACY_OPENGL_REMOVAL
GLShaderProgram* shader = wxGetApp().get_shader("flat"); GLShaderProgram* shader = wxGetApp().get_shader("flat_clip");
if (shader == nullptr) if (shader == nullptr)
return; return;
#endif // ENABLE_LEGACY_OPENGL_REMOVAL #endif // ENABLE_LEGACY_OPENGL_REMOVAL
@ -5877,6 +5881,9 @@ void GLCanvas3D::_render_volumes_for_picking() const
const Camera& camera = wxGetApp().plater()->get_camera(); const Camera& camera = wxGetApp().plater()->get_camera();
shader->set_uniform("view_model_matrix", camera.get_view_matrix() * volume.first->world_matrix()); shader->set_uniform("view_model_matrix", camera.get_view_matrix() * volume.first->world_matrix());
shader->set_uniform("projection_matrix", camera.get_projection_matrix()); shader->set_uniform("projection_matrix", camera.get_projection_matrix());
shader->set_uniform("volume_world_matrix", volume.first->world_matrix());
shader->set_uniform("z_range", m_volumes.get_z_range());
shader->set_uniform("clipping_plane", m_volumes.get_clipping_plane());
#else #else
glsafe(::glColor4fv(picking_decode(id).data())); glsafe(::glColor4fv(picking_decode(id).data()));
#endif // ENABLE_LEGACY_OPENGL_REMOVAL #endif // ENABLE_LEGACY_OPENGL_REMOVAL

View File

@ -264,6 +264,12 @@ void GLShaderProgram::set_uniform(int id, const std::array<float, 4>& value) con
glsafe(::glUniform4fv(id, 1, static_cast<const GLfloat*>(value.data()))); glsafe(::glUniform4fv(id, 1, static_cast<const GLfloat*>(value.data())));
} }
void GLShaderProgram::set_uniform(int id, const std::array<double, 4>& value) const
{
const std::array<float, 4> f_value = { float(value[0]), float(value[1]), float(value[2]), float(value[3]) };
set_uniform(id, f_value);
}
void GLShaderProgram::set_uniform(int id, const float* value, size_t size) const void GLShaderProgram::set_uniform(int id, const float* value, size_t size) const
{ {
if (id >= 0) { if (id >= 0) {

View File

@ -57,6 +57,7 @@ public:
void set_uniform(const char* name, const std::array<float, 2>& value) const { set_uniform(get_uniform_location(name), value); } void set_uniform(const char* name, const std::array<float, 2>& value) const { set_uniform(get_uniform_location(name), value); }
void set_uniform(const char* name, const std::array<float, 3>& value) const { set_uniform(get_uniform_location(name), value); } void set_uniform(const char* name, const std::array<float, 3>& value) const { set_uniform(get_uniform_location(name), value); }
void set_uniform(const char* name, const std::array<float, 4>& value) const { set_uniform(get_uniform_location(name), value); } void set_uniform(const char* name, const std::array<float, 4>& value) const { set_uniform(get_uniform_location(name), value); }
void set_uniform(const char* name, const std::array<double, 4>& value) const { set_uniform(get_uniform_location(name), value); }
void set_uniform(const char* name, const float* value, size_t size) const { set_uniform(get_uniform_location(name), value, size); } void set_uniform(const char* name, const float* value, size_t size) const { set_uniform(get_uniform_location(name), value, size); }
void set_uniform(const char* name, const Transform3f& value) const { set_uniform(get_uniform_location(name), value); } void set_uniform(const char* name, const Transform3f& value) const { set_uniform(get_uniform_location(name), value); }
void set_uniform(const char* name, const Transform3d& value) const { set_uniform(get_uniform_location(name), value); } void set_uniform(const char* name, const Transform3d& value) const { set_uniform(get_uniform_location(name), value); }
@ -85,6 +86,7 @@ public:
void set_uniform(int id, const std::array<float, 2>& value) const; void set_uniform(int id, const std::array<float, 2>& value) const;
void set_uniform(int id, const std::array<float, 3>& value) const; void set_uniform(int id, const std::array<float, 3>& value) const;
void set_uniform(int id, const std::array<float, 4>& value) const; void set_uniform(int id, const std::array<float, 4>& value) const;
void set_uniform(int id, const std::array<double, 4>& value) const;
void set_uniform(int id, const float* value, size_t size) const; void set_uniform(int id, const float* value, size_t size) const;
void set_uniform(int id, const Transform3f& value) const; void set_uniform(int id, const Transform3f& value) const;
void set_uniform(int id, const Transform3d& value) const; void set_uniform(int id, const Transform3d& value) const;

View File

@ -39,6 +39,8 @@ std::pair<bool, std::string> GLShadersManager::init()
valid &= append_shader("imgui", { prefix + "imgui.vs", prefix + "imgui.fs" }); valid &= append_shader("imgui", { prefix + "imgui.vs", prefix + "imgui.fs" });
// basic shader, used to render all what was previously rendered using the immediate mode // basic shader, used to render all what was previously rendered using the immediate mode
valid &= append_shader("flat", { prefix + "flat.vs", prefix + "flat.fs" }); valid &= append_shader("flat", { prefix + "flat.vs", prefix + "flat.fs" });
// basic shader with plane clipping, used to render volumes in picking pass
valid &= append_shader("flat_clip", { prefix + "flat_clip.vs", prefix + "flat_clip.fs" });
// basic shader for textures, used to render textures // basic shader for textures, used to render textures
valid &= append_shader("flat_texture", { prefix + "flat_texture.vs", prefix + "flat_texture.fs" }); valid &= append_shader("flat_texture", { prefix + "flat_texture.vs", prefix + "flat_texture.fs" });
// used to render 3D scene background // used to render 3D scene background

View File

@ -555,10 +555,10 @@ void desktop_execute_get_result(wxString command, wxArrayString& output)
if (wxGetEnv("APPIMAGE", nullptr)) { if (wxGetEnv("APPIMAGE", nullptr)) {
// We're running from AppImage // We're running from AppImage
wxExecuteEnv exec_env = get_appimage_exec_env(); wxExecuteEnv exec_env = get_appimage_exec_env();
::wxExecute(command, output, 0, &exec_env); ::wxExecute(command, output, wxEXEC_SYNC | wxEXEC_NOEVENTS, &exec_env);
} else { } else {
// Looks like we're NOT running from AppImage, we'll make no changes to the environment. // Looks like we're NOT running from AppImage, we'll make no changes to the environment.
::wxExecute(command, output); ::wxExecute(command, output, wxEXEC_SYNC | wxEXEC_NOEVENTS);
} }
} }
#endif // __linux__ #endif // __linux__

View File

@ -25,16 +25,14 @@ struct Camera;
// lm_FIXME: Following class might possibly be replaced by Eigen::Hyperplane // lm_FIXME: Following class might possibly be replaced by Eigen::Hyperplane
class ClippingPlane class ClippingPlane
{ {
double m_data[4]; std::array<double, 4> m_data;
public: public:
ClippingPlane() ClippingPlane() {
{
*this = ClipsNothing(); *this = ClipsNothing();
} }
ClippingPlane(const Vec3d& direction, double offset) ClippingPlane(const Vec3d& direction, double offset) {
{
set_normal(direction); set_normal(direction);
set_offset(offset); set_offset(offset);
} }
@ -50,8 +48,7 @@ public:
} }
bool is_point_clipped(const Vec3d& point) const { return distance(point) < 0.; } bool is_point_clipped(const Vec3d& point) const { return distance(point) < 0.; }
void set_normal(const Vec3d& normal) void set_normal(const Vec3d& normal) {
{
const Vec3d norm_dir = normal.normalized(); const Vec3d norm_dir = normal.normalized();
m_data[0] = norm_dir.x(); m_data[0] = norm_dir.x();
m_data[1] = norm_dir.y(); m_data[1] = norm_dir.y();
@ -62,12 +59,11 @@ public:
Vec3d get_normal() const { return Vec3d(m_data[0], m_data[1], m_data[2]); } Vec3d get_normal() const { return Vec3d(m_data[0], m_data[1], m_data[2]); }
bool is_active() const { return m_data[3] != DBL_MAX; } bool is_active() const { return m_data[3] != DBL_MAX; }
static ClippingPlane ClipsNothing() { return ClippingPlane(Vec3d(0., 0., 1.), DBL_MAX); } static ClippingPlane ClipsNothing() { return ClippingPlane(Vec3d(0., 0., 1.), DBL_MAX); }
const double* get_data() const { return m_data; } const std::array<double, 4>& get_data() const { return m_data; }
// Serialization through cereal library // Serialization through cereal library
template <class Archive> template <class Archive>
void serialize( Archive & ar ) void serialize( Archive & ar ) {
{
ar( m_data[0], m_data[1], m_data[2], m_data[3] ); ar( m_data[0], m_data[1], m_data[2], m_data[3] );
} }
}; };