This commit is contained in:
enricoturri1966 2021-12-17 11:47:07 +01:00
commit f7513b61e7
59 changed files with 100796 additions and 82230 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,5 @@
min_slic3r_version = 2.3.2-alpha0
0.0.12 Updated Anycubic i3 MEGA(S) profiles.
0.0.11 Added bed model and texture for i3 Mega, i3 Mega S.
min_slic3r_version = 2.3.1-beta
0.0.10 Various updates for Anycubic Mega. Added filament profiles.

View file

@ -5,7 +5,7 @@
name = Anycubic
# 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 = 0.0.11
config_version = 0.0.12
# Where to get the updates from?
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Anycubic/
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
@ -828,34 +828,35 @@ end_gcode = M117 Cooling down...\nM104 S0 ; turn off extruder\nM107 ; Fan off\nM
bottom_solid_min_thickness = 0.5
bridge_acceleration = 1000
bridge_flow_ratio = 0.95
bridge_speed = 30
bridge_speed = 25
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_ANYCUBIC.*/ and printer_notes=~/.*PRINTER_MODEL_I3_MEGA.*/ and nozzle_diameter[0]==0.4
default_acceleration = 1000
ensure_vertical_shell_thickness = 1
external_perimeter_extrusion_width = 0.45
external_perimeter_speed = 25
external_perimeter_speed = 40
extruder_clearance_height = 35
extruder_clearance_radius = 60
extrusion_width = 0.45
fill_density = 15%
fill_pattern = gyroid
first_layer_acceleration = 1000
first_layer_acceleration = 800
first_layer_extrusion_width = 0.42
first_layer_height = 0.2
first_layer_speed = 20
gap_fill_speed = 40
gcode_comments = 1
gcode_comments = 0
gcode_label_objects = 1
infill_acceleration = 1000
infill_anchor = 2.5
infill_anchor_max = 12
infill_extrusion_width = 0.45
max_print_speed = 200
max_print_speed = 100
min_skirt_length = 4
only_retract_when_crossing_perimeters = 0
output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode
perimeter_acceleration = 800
perimeter_extrusion_width = 0.45
perimeter_speed = 45
perimeter_speed = 50
perimeters = 2
seam_position = nearest
skirt_distance = 2
@ -864,25 +865,24 @@ skirts = 1
small_perimeter_speed = 25
solid_infill_below_area = 0
solid_infill_extrusion_width = 0.45
solid_infill_speed = 80
support_material_buildplate_only = 1
solid_infill_speed = 50
support_material = 0
support_material_buildplate_only = 0
support_material_contact_distance = 0.1
support_material_extrusion_width = 0.35
support_material_interface_layers = 2
support_material_interface_spacing = 0.2
support_material_interface_speed = 80%
support_material_spacing = 2
support_material_speed = 50
support_material_threshold = 55
support_material_threshold = 50
support_material_xy_spacing = 60%
thin_walls = 0
top_infill_extrusion_width = 0.4
top_solid_infill_speed = 40
top_solid_layers = 5
top_solid_min_thickness = 0.6
top_solid_min_thickness = 0.7
travel_speed = 180
[print:*supported_mega*]
support_material = 1
# XXXXXXXXXXXXXXXXXXXX
# XXX--- 0.15mm ---XXX
# XXXXXXXXXXXXXXXXXXXX
@ -890,15 +890,14 @@ support_material = 1
[print:*0.15mm_mega*]
inherits = *common_mega*
bottom_solid_layers = 5
bridge_flow_ratio = 1
infill_speed = 60
layer_height = 0.15
top_solid_layers = 7
[print:0.15mm QUALITY @MEGA]
inherits = *0.15mm_mega*
[print:0.15mm QUALITY SUPPORTED @MEGA]
inherits = *0.15mm_mega*;*supported_mega*
# XXXXXXXXXXXXXXXXXXXX
# XXX--- 0.20mm ---XXX
# XXXXXXXXXXXXXXXXXXXX
@ -906,15 +905,13 @@ inherits = *0.15mm_mega*;*supported_mega*
[print:*0.20mm_mega*]
inherits = *common_mega*
bottom_solid_layers = 4
infill_speed = 60
layer_height = 0.2
top_solid_layers = 5
[print:0.20mm QUALITY @MEGA]
inherits = *0.20mm_mega*
[print:0.20mm QUALITY SUPPORTED @MEGA]
inherits = *0.20mm_mega*;*supported_mega*
# XXXXXXXXXXXXXXXXXXXX
# XXX--- 0.30mm ---XXX
# XXXXXXXXXXXXXXXXXXXX
@ -925,12 +922,11 @@ bottom_solid_layers = 4
external_perimeter_extrusion_width = 0.6
external_perimeter_speed = 35
extrusion_width = 0.5
fill_pattern = grid
fill_pattern = cubic
infill_extrusion_width = 0.5
infill_speed = 85
layer_height = 0.3
perimeter_extrusion_width = 0.5
perimeter_speed = 50
small_perimeter_speed = 30
solid_infill_extrusion_width = 0.5
support_material_extrusion_width = 0.38
@ -940,9 +936,6 @@ top_solid_layers = 4
[print:0.30mm DRAFT @MEGA]
inherits = *0.30mm_mega*
[print:0.30mm DRAFT SUPPORTED @MEGA]
inherits = *0.30mm_mega*;*supported_mega*
# XXXXXXXXXXXXXXXXXXXXXX
# XXX--- filament ---XXX
# XXXXXXXXXXXXXXXXXXXXXX
@ -1092,6 +1085,14 @@ first_layer_temperature = 215
min_fan_speed = 100
temperature = 210
[filament:DAS FILAMENT PETG @MEGA]
inherits = *PETG_mega*
filament_vendor = DAS FILAMENT
bed_temperature = 75
first_layer_bed_temperature = 75
first_layer_temperature = 220
temperature = 225
[filament:*PLA_mega*]
inherits = *common_mega*
bed_temperature = 60
@ -1166,7 +1167,7 @@ bed_shape = 0x0,210x0,210x210,0x210
before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0.0\n;[layer_z]
default_filament_profile = Generic PLA @MEGA
default_print_profile = 0.15mm QUALITY @MEGA
deretract_speed = 40
deretract_speed = 50
end_gcode = G1 E-1.0 F2100 ; retract\nG92 E0.0\nG1{if max_layer_z < max_print_height} Z{z_offset+min(max_layer_z+30, max_print_height)}{endif} E-34.0 F720 ; move print head up & retract filament\nG4 ; wait\nM104 S0 ; turn off temperature\nM140 S0 ; turn off heatbed\nM107 ; turn off fan\nG1 X0 Y105 F3000 ; park print head\nM84 ; disable motors
extruder_colour = #808080
gcode_flavor = marlin
@ -1177,10 +1178,10 @@ remaining_times = 1
retract_before_travel = 1.5
retract_before_wipe = 60%
retract_layer_change = 1
retract_length = 3.2
retract_lift = 0.2
retract_length = 6
retract_lift = 0.075
retract_lift_below = 204
retract_speed = 70
retract_speed = 40
silent_mode = 0
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM204 S[machine_max_acceleration_extruding] T[machine_max_acceleration_retracting]\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nG28 ; home all\nG1 Y1.0 Z0.3 F1000 ; move print head up\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG92 E0.0\n; initial load\nG1 X205.0 E19 F1000\nG1 Y1.6\nG1 X5.0 E19 F1000\nG92 E0.0\n; intro line\nG1 Y2.0 Z0.2 F1000\nG1 X65.0 E9.0 F1000\nG1 X105.0 E12.5 F1000\nG92 E0.0
thumbnails = 16x16,220x124

View file

@ -1,3 +1,5 @@
min_slic3r_version = 2.4.0-rc
0.1.2 Added alpha Ender 3 S1 profiles.
min_slic3r_version = 2.4.0-beta4
0.1.1 Added Ender 2 Pro
min_slic3r_version = 2.3.2-alpha0

View file

@ -5,7 +5,7 @@
name = Creality
# 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 = 0.1.1
config_version = 0.1.2
# Where to get the updates from?
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/Creality/
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
@ -41,6 +41,15 @@ bed_model = ender3v2_bed.stl
bed_texture = ender3v2.svg
default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY
[printer_model:ENDER3S1]
name = Creality Ender-3 S1
variants = 0.4
technology = FFF
family = ENDER
bed_model = ender3v2_bed.stl
bed_texture = ender3v2.svg
default_materials = Generic PLA @CREALITY; Generic PETG @CREALITY; Generic ABS @CREALITY; Creality PLA @CREALITY; Prusament PLA @CREALITY; Prusament PETG @CREALITY; AzureFilm PLA @CREALITY; Devil Design PLA @CREALITY; Devil Design PLA Matt @CREALITY; Devil Design PLA Galaxy @CREALITY; Extrudr PLA NX2 @CREALITY; Real Filament PLA @CREALITY; Velleman PLA @CREALITY; 3DJAKE ecoPLA @CREALITY; 3DJAKE ecoPLA Matt @CREALITY; 3DJAKE ecoPLA Tough @CREALITY; 123-3D Jupiter PLA @CREALITY
[printer_model:ENDER3MAX]
name = Creality Ender-3 Max
variants = 0.4
@ -362,7 +371,7 @@ notes =
overhangs = 0
only_retract_when_crossing_perimeters = 0
ooze_prevention = 0
output_filename_format = {input_filename_base}_{print_time}_{layer_height}mm_{temperature[0]}C_{filament_type[0]}_{printer_model}.gcode
output_filename_format = {input_filename_base}_{print_time}_{digits(layer_height,1,2)}mm_{temperature[0]}C_{filament_type[0]}_{printer_model}.gcode
perimeters = 2
perimeter_extruder = 1
perimeter_extrusion_width = 0.45
@ -952,6 +961,14 @@ max_print_height = 250
printer_model = ENDER3V2
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_ENDER3V2\nPRINTER_HAS_BOWDEN
[printer:Creality Ender-3 S1]
inherits = *common*; *fastabl*
retract_length = 1
bed_shape = 5x0,215x0,215x220,5x220
max_print_height = 270
printer_model = ENDER3S1
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_ENDER3S1
[printer:Creality Ender-3 Max]
inherits = *common*
retract_length = 6
@ -1014,10 +1031,10 @@ printer_notes = Don't remove the following keywords! These keywords are used in
[printer:Creality Ender-2 Pro]
inherits = *common*
renamed_from = "Creality ENDER-2 Pro"
bed_shape = 0x0,165x0,165x165,0x165
bed_shape = 2.5x2.5,160x2.5,160x160,2.5x160
max_print_height = 180
printer_model = ENDER2PRO
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_ENDER2\nPRINTER_HAS_BOWDEN
printer_notes = Don't remove the following keywords! These keywords are used in the "compatible printer" condition of the print and filament profiles to link the particular print and filament profiles to this printer profile.\nPRINTER_VENDOR_CREALITY\nPRINTER_MODEL_ENDER2PRO\nPRINTER_HAS_BOWDEN
[printer:Creality CR-5 Pro]
inherits = *common*; *slowabl*; *descendingz*

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View file

@ -1,622 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
sodipodi:docname="ender2pro.svg"
inkscape:version="1.1.1 (c3084ef, 2021-09-22)"
id="svg1883"
version="1.1"
viewBox="0 0 166.02917 166.02917"
height="166.02917mm"
width="166.02917mm"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<defs
id="defs1877" />
<sodipodi:namedview
inkscape:snap-page="false"
inkscape:window-maximized="0"
inkscape:window-y="25"
inkscape:window-x="448"
inkscape:window-height="1227"
inkscape:window-width="1600"
borderlayer="false"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="mm"
inkscape:cy="273.25679"
inkscape:cx="270.34593"
inkscape:zoom="1.3741653"
inkscape:pageshadow="2"
inkscape:pageopacity="0"
borderopacity="1"
bordercolor="#f14bac"
pagecolor="#5d5d5d"
id="base"
inkscape:pagecheckerboard="0"
width="165mm">
<inkscape:grid
id="grid2446"
type="xygrid"
originx="0.52916899"
originy="0.52917032" />
</sodipodi:namedview>
<metadata
id="metadata1880">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 2"
id="layer2"
inkscape:groupmode="layer"
transform="translate(0.529169,0.52917033)"
style="display:inline">
<path
id="rect346"
style="display:inline;fill:#ffffff;fill-rule:evenodd;stroke-width:0.236623"
d="m 97.449555,145.09211 v 10.20042 h 55.800205 v -10.20042 z m 8.336955,1.83245 c 0.71438,0 1.36733,0.36191 1.77302,0.97927 0.41451,0.635 0.44959,1.3049 0.44959,2.08101 v 3.35173 h -1.83452 v -3.80132 c 0,-0.45861 -0.1058,-0.68781 -0.40566,-0.68781 -0.32632,0 -0.37052,0.26448 -0.37052,0.68781 v 3.80132 h -1.84278 v -3.35173 -0.17622 c 0,-0.47625 0.0176,-0.97906 0.26458,-1.56114 0.34396,-0.81139 1.11963,-1.32292 1.96629,-1.32292 z m 23.56859,0 c 1.3141,0 2.23139,0.97896 2.23139,2.11667 0,0.53798 -0.21188,0.9526 -0.47646,1.42885 l -0.59066,1.06712 h 1.05833 v 1.79937 h -4.10104 l 2.24896,-3.78375 c 0.0529,-0.097 0.0966,-0.24691 0.0966,-0.40566 0,-0.34396 -0.19392,-0.52038 -0.55552,-0.52038 -0.32632,0 -0.55552,0.22924 -0.55552,0.54674 0,0.17639 0.0619,0.29983 0.22066,0.40566 l -0.79375,1.36736 c -0.7232,-0.37042 -1.09399,-0.9616 -1.09399,-1.78181 0,-1.25236 0.95278,-2.24017 2.31097,-2.24017 z m 7.62124,0 c 1.33173,0 2.33732,1.01458 2.33732,2.2934 0,1.19063 -0.90833,1.98438 -2.13423,1.98438 -0.0882,0 -0.1943,3e-5 -0.3266,-0.009 v -1.56114 c 0.0441,0.009 0.0882,0.009 0.12351,0.009 0.33514,0 0.55604,-0.22052 0.55604,-0.52038 0,-0.28222 -0.23816,-0.5116 -0.52038,-0.5116 -0.42334,0 -0.52039,0.31761 -0.52039,0.89969 v 3.82767 h -1.87843 v -3.51038 -0.29972 c 0,-0.44097 0.0264,-0.88171 0.27337,-1.38441 0.37041,-0.75847 1.13729,-1.2175 2.08979,-1.2175 z m 11.27321,0 c 0.88195,0 1.7024,0.35312 2.31976,0.97048 0.59972,0.60855 0.95239,1.44619 0.95239,2.30167 0,0.74084 -0.25548,1.48184 -0.73173,2.07274 -0.60854,0.75848 -1.52618,1.19063 -2.54042,1.19063 -0.74083,0 -1.48135,-0.25601 -2.06344,-0.73226 -0.75847,-0.61736 -1.19941,-1.54333 -1.19941,-2.53111 0,-0.8643 0.34382,-1.68431 0.96119,-2.30167 0.60854,-0.61736 1.46382,-0.97048 2.30166,-0.97048 z m -46.61317,0.12351 h 1.20871 v 1.83451 h -1.19941 c -0.23813,0 -0.37052,0.0528 -0.37052,0.29094 0,0.23812 0.12358,0.31781 0.37052,0.31781 h 1.11983 v 1.40198 h -1.29656 c -0.23813,0 -0.36174,0.0533 -0.36174,0.29146 0,0.23812 0.11479,0.31729 0.36174,0.31729 h 1.37614 v 1.83451 h -1.05833 -0.24702 c -0.44097,0 -0.86437,-0.0177 -1.30534,-0.2558 -0.590907,-0.32631 -0.91726,-0.88201 -0.91726,-1.43763 v -2.3549 c 0,-0.73201 0.02649,-1.28733 0.652674,-1.79886 0.414516,-0.34395 0.952186,-0.44131 1.666566,-0.44131 z m 7.23418,0 h 1.85208 0.34365 c 0.49389,0 1.0675,0.0268 1.76424,0.31781 1.14652,0.47625 1.86086,1.56083 1.86086,2.83083 0,1.27882 -0.71437,2.35507 -1.85208,2.84014 -0.46743,0.19403 -0.97045,0.29972 -1.50843,0.29972 h -0.29973 v -1.87844 h 0.3266 c 0.9084,0 1.45521,-0.52055 1.45521,-1.2702 0,-0.82903 -0.5733,-1.26142 -1.71101,-1.26142 H 110.749 v 4.41006 h -1.87844 z m 8.71678,0 h 1.2082 v 1.83451 h -1.19941 c -0.23813,0 -0.37052,0.0528 -0.37052,0.29094 0,0.23812 0.12357,0.31781 0.37052,0.31781 h 1.12034 v 1.40198 h -1.29656 c -0.23812,0 -0.36174,0.0533 -0.36174,0.29146 0,0.23812 0.1148,0.31729 0.36174,0.31729 h 1.37563 v 1.83451 h -1.05834 -0.24701 c -0.44097,0 -0.86386,-0.0177 -1.30483,-0.2558 -0.5909,-0.32631 -0.91726,-0.88201 -0.91726,-1.43763 v -2.3549 c 0,-0.73201 0.0265,-1.28733 0.65268,-1.79886 0.41451,-0.34395 0.95219,-0.44131 1.66656,-0.44131 z m 1.96319,0 h 2.30167 c 0.55562,0 1.05816,0.009 1.63142,0.43253 0.54681,0.40569 0.85577,1.02264 0.85577,1.69292 -10e-6,0.65264 -0.29122,1.16455 -0.88212,1.62316 l 1.09347,2.53989 h -1.97559 l -0.85524,-1.97559 v -1.6583 h 0.20257 c 0.33514,0 0.51159,-0.0968 0.51159,-0.44079 0,-0.35278 -0.18527,-0.41445 -0.51159,-0.41445 h -0.49351 v 4.48913 h -1.87844 z m 20.29127,0 h 2.30218 c 0.55563,0 1.05816,0.009 1.63143,0.43253 0.5468,0.40569 0.85524,1.02264 0.85524,1.69292 0,0.65264 -0.2907,1.16455 -0.8816,1.62316 l 1.09348,2.53989 h -1.97559 l -0.85525,-1.97559 v -1.6583 h 0.20257 c 0.33514,0 0.5116,-0.0968 0.5116,-0.44079 0,-0.35278 -0.18528,-0.41445 -0.5116,-0.41445 h -0.49402 v 4.48913 h -1.87844 z m 8.41654,1.71979 c -0.78493,0 -1.42834,0.64392 -1.42834,1.42885 0,0.79375 0.63459,1.42007 1.42834,1.42007 0.79375,0 1.42007,-0.62632 1.42007,-1.42007 0,-0.78493 -0.63514,-1.42885 -1.42007,-1.42885 z" />
</g>
<g
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1"
style="display:inline"
transform="translate(0.529169,0.52917033)">
<path
id="path2643"
d="M 0.04966897,0.04966897 H 164.95033 V 164.95033 H 0.04966897 Z"
style="fill:none;stroke:#ffffff;stroke-width:1.09934;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2645"
d="M 75,-0.13595834 V 164.82762"
style="fill:none;stroke:#ffffff;stroke-width:0.786424;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2647"
d="M 0.01821215,90 H 164.98179"
style="fill:none;stroke:#ffffff;stroke-width:0.786424;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2649"
d="M 25.012141,-0.13595834 V 164.82762"
style="fill:none;stroke:#ffffff;stroke-width:0.524283;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2651"
d="M 50.006071,-0.13595834 V 164.82762"
style="fill:none;stroke:#ffffff;stroke-width:0.524283;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2653"
d="M 99.993929,-0.28314159 V 144.6248"
style="fill:none;stroke:#ffffff;stroke-width:0.49138;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
id="path2655"
d="M 124.98786,-0.26523432 V 144.6672"
style="fill:none;stroke:#ffffff;stroke-width:0.527872;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2655-2"
d="M 150.02344,-0.26523432 V 144.6672"
style="display:inline;fill:none;stroke:#ffffff;stroke-width:0.527872;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.524282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 164.98179,40.012141 H 0.01821435"
id="path2649-5" />
<path
style="display:inline;fill:none;stroke:#ffffff;stroke-width:0.524282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 164.98155,14.979971 H 0.01797199"
id="path2649-5-8" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.524282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 164.98179,65.006071 H 0.01821435"
id="path2651-4" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.524282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 164.98179,114.99393 H 0.01821435"
id="path2653-9" />
<path
style="fill:none;stroke:#ffffff;stroke-width:0.524282;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 164.98179,139.98786 H 0.01821435"
id="path2655-5" />
<path
id="path2681"
d="M 4.9735417,-0.26458333 V 165.26458"
style="fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.5, 0.25;stroke-dashoffset:0;stroke-opacity:1" />
<path
id="path2683"
d="M 9.9972278,165.26483 V -0.23826333"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524189, 0.262094;stroke-dashoffset:0;stroke-opacity:1" />
<path
id="path2685"
d="M 15.013135,-0.23826333 V 165.26483"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524189, 0.262094;stroke-dashoffset:0;stroke-opacity:1" />
<path
id="path2687"
d="M 20.029042,165.26483 V -0.23826333"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524189, 0.262094;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524188, 0.262094;stroke-dashoffset:0;stroke-opacity:1"
d="M 29.981509,-0.52917033 V 164.97393"
id="path2681-2" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524188, 0.262094;stroke-dashoffset:0;stroke-opacity:1"
d="M 34.997416,164.97393 V -0.52917033"
id="path2683-1" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524188, 0.262094;stroke-dashoffset:0;stroke-opacity:1"
d="M 40.013322,-0.52917033 V 164.97393"
id="path2685-5" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262094;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524188, 0.262094;stroke-dashoffset:0;stroke-opacity:1"
d="M 45.029231,164.97393 V -0.52917033"
id="path2687-4" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 54.970379,0.04904167 V 164.52883"
id="path2681-9" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 59.987388,164.52883 V 0.04904167"
id="path2683-8" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 65.004395,0.04904167 V 164.52883"
id="path2685-4" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 70.021405,164.52883 V 0.04904167"
id="path2687-7" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 80.002511,-0.52917033 V 163.95062"
id="path2681-3" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 85.01952,163.95062 V -0.52917033"
id="path2683-6" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 90.036528,-0.52917033 V 163.95062"
id="path2685-3" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.261312;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522622, 0.261312;stroke-dashoffset:0;stroke-opacity:1"
d="M 95.053538,163.95062 V -0.52917033"
id="path2687-44" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.245348;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.490694, 0.245348;stroke-dashoffset:0;stroke-opacity:1"
d="M 104.96427,0.04904167 V 145.04904"
id="path2681-36" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.264112;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.528224, 0.264112;stroke-dashoffset:0;stroke-opacity:1"
d="M 109.9988,145.04903 109.98118,0.04904167"
id="path2683-5"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.263959;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.527917, 0.263959;stroke-dashoffset:0;stroke-opacity:1"
d="M 114.99919,0.04904227 V 145.04899"
id="path2685-7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.263959;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.527917, 0.263959;stroke-dashoffset:0;stroke-opacity:1"
d="M 119.99653,145.04899 120.01412,0.04904227"
id="path2687-48"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.263598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.527194, 0.263598;stroke-dashoffset:0;stroke-opacity:1"
d="M 129.95634,0.04904227 129.99163,144.64899"
id="path2681-0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.263598;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.527194, 0.263598;stroke-dashoffset:0;stroke-opacity:1"
d="M 134.98904,144.64899 V 0.04904227"
id="path2683-0"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.245849;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.491697, 0.245849;stroke-dashoffset:0;stroke-opacity:1"
d="M 140.00037,0.04903965 V 145.04904"
id="path2685-2"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.245078;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.490154, 0.245078;stroke-dashoffset:0;stroke-opacity:1"
d="M 145.0201,144.64901 V 0.04903965"
id="path2687-47" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.261383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522763, 0.261383;stroke-dashoffset:0;stroke-opacity:1"
d="M 155.02037,164.52883 V 0.04882967"
id="path2687-47-8" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.261383;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.522763, 0.261383;stroke-dashoffset:0;stroke-opacity:1"
d="M 160.01152,164.45083 V -0.02917033"
id="path2687-47-8-9" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
d="M 164.70884,19.961975 0.05273017,20.006069"
id="path2681-39"
sodipodi:nodetypes="cc" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
d="M 164.12698,9.9619027 -0.5291339,10.005993"
id="path2681-39-4"
sodipodi:nodetypes="cc" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
d="M 164.12698,4.9619027 -0.5291339,5.0059927"
id="path2681-39-4-7"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
d="M 0.05273017,25.005541 164.70884,24.979083"
id="path2683-3"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
d="M 164.70884,29.996193 0.05273017,30.005013"
id="path2685-51"
sodipodi:nodetypes="cc" />
<path
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
d="M 0.05273017,35.004485 164.70884,35.013284"
id="path2687-486"
sodipodi:nodetypes="cc" />
<path
id="path2681-2-1"
d="M 164.9998,45.003429 H 0.05273017"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2683-1-9"
d="M 0.05273017,50.002901 164.9998,49.985263"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2685-5-4"
d="M 164.9998,55.002373 H 0.05273017"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2687-4-9"
d="M 0.05273017,60.001845 164.9998,60.019483"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2681-9-6"
d="M 164.4179,69.947875 0.05273017,70.00079"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2683-8-0"
d="M 0.05273017,75.000262 164.4179,74.964985"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2685-4-7"
d="M 164.4179,79.982096 0.05273017,79.999734"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2681-3-7"
d="M 164.9998,94.980512 0.05273017,94.99815"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2683-6-0"
d="M 0.05273017,99.997622 H 164.9998"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2685-3-3"
d="M 164.9998,105.01473 H -0.529169"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1" />
<path
id="path2687-44-3"
d="M 0.05273017,109.99657 164.9998,110.03186"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2681-36-5"
d="M 164.4179,119.9426 0.05273017,119.99551"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2683-5-1"
d="M 0.05273017,124.99498 164.4179,124.95969"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2685-7-5"
d="M 164.4179,129.97682 0.05273017,129.99445"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2687-48-9"
d="M 0.05273017,134.99393 H 164.4179"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2681-0-8"
d="M 165,145 H 0"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262203;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524403, 0.262203;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2683-0-5"
d="M 0,150 H 97.464513"
style="fill:none;stroke:#fdfdfd;stroke-width:0.240862;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.481723, 0.240862;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2685-2-7"
d="M 150,155 H 0"
style="fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
id="path2687-47-6"
d="M 0,160 H 165"
style="fill:none;stroke:#fdfdfd;stroke-width:0.262666;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.525331, 0.262666;stroke-dashoffset:0;stroke-opacity:1"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
id="path2683-5-5"
d="M 110,165 V 155"
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1" />
<path
sodipodi:nodetypes="cc"
id="path2683-5-5-7"
d="m 104.90153,164.99983 v -10"
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1"
d="M 115,165 V 155"
id="path2683-5-5-6"
sodipodi:nodetypes="cc" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1"
d="M 120,165 V 155"
id="path2683-5-5-0"
sodipodi:nodetypes="cc" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1"
d="M 130,165 V 155"
id="path2683-5-5-9"
sodipodi:nodetypes="cc" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1"
d="M 135,165 V 155"
id="path2683-5-5-2"
sodipodi:nodetypes="cc" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1"
d="m 139.99583,164.79728 v -10"
id="path2683-5-5-2-6"
sodipodi:nodetypes="cc" />
<path
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.499999, 0.25;stroke-dashoffset:0;stroke-opacity:1"
d="m 144.99583,165.13073 v -10"
id="path2683-5-5-2-6-8"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#ffffff;stroke-width:0.487698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 125,155.41867 v 9.51398"
id="path2655-0" />
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#ffffff;stroke-width:0.487698;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 150,155 v 9.51398"
id="path2655-0-5" />
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#ffffff;stroke-width:0.483417;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 99.99783,155.30367 v 9.34772"
id="path2655-0-9" />
<g
transform="translate(0.04335936,162.09955)"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
id="text966-0-4"
aria-label="125">
<path
id="path188"
d="M 121.63635,2.0732279 V 1.8863313 h 0.2868 V 1.1628608 l -0.24977,0.1378039 -0.0689,-0.1713936 0.35743,-0.18861909 h 0.17656 V 1.8863313 h 0.24718 v 0.1868966 z" />
<path
id="path190"
d="M 122.58805,2.0732279 V 1.9181985 l 0.26614,-0.2661338 q 0.0749,-0.074931 0.11972,-0.1291912 0.0456,-0.05426 0.0698,-0.096463 0.025,-0.043064 0.0327,-0.079237 0.008,-0.036174 0.008,-0.074931 0,-0.031867 -0.0103,-0.060289 -0.0103,-0.029283 -0.0301,-0.049954 -0.0198,-0.021532 -0.05,-0.03359 -0.0301,-0.012919 -0.0689,-0.012919 -0.0663,0 -0.12316,0.029283 -0.0568,0.028422 -0.10766,0.076654 l -0.1111,-0.1429716 q 0.0732,-0.068041 0.1645,-0.10852056 0.0922,-0.0413412 0.19895,-0.0413412 0.0827,0 0.14987,0.0215319 0.0672,0.0206706 0.11455,0.0620118 0.0482,0.041341 0.0741,0.1033529 0.0267,0.062012 0.0267,0.1429716 0,0.067179 -0.0181,0.125746 -0.0181,0.057705 -0.0525,0.112827 -0.0344,0.055122 -0.0853,0.1102431 -0.0499,0.055122 -0.11455,0.1162721 l -0.16364,0.1558906 h 0.47456 v 0.1937868 z" />
<path
id="path192"
d="m 124.31491,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.10507,0.1179946 -0.0672,0.048231 -0.15848,0.073208 -0.0913,0.024977 -0.19809,0.024977 -0.0267,0 -0.0568,-0.00172 -0.0301,-0.00172 -0.0611,-0.00431 -0.031,-0.00258 -0.0603,-0.00689 -0.0293,-0.00345 -0.0543,-0.00775 V 1.8863313 q 0.0491,0.012058 0.11282,0.019809 0.0637,0.00689 0.13006,0.00689 0.12919,0 0.19637,-0.049093 0.068,-0.049954 0.068,-0.1378039 0,-0.091295 -0.0629,-0.1352201 -0.0629,-0.044786 -0.20326,-0.044786 H 123.6035 V 0.94754221 h 0.6494 V 1.1456353 h -0.45303 v 0.229099 h 0.081 q 0.0861,0 0.1645,0.015503 0.0784,0.015503 0.1378,0.05426 0.0603,0.037896 0.0956,0.1033529 0.0362,0.065457 0.0362,0.1653647 z" />
</g>
<g
transform="translate(0.04335936,162.09955)"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
id="text966-0-9"
aria-label="100">
<path
id="path181"
d="M 96.636346,2.0732279 V 1.8863313 H 96.92315 V 1.1628608 l -0.249769,0.1378039 -0.0689,-0.1713936 0.357429,-0.18861909 h 0.176561 V 1.8863313 h 0.247186 v 0.1868966 z" />
<path
id="path183"
d="m 98.401097,1.505648 q 0,0.1386652 -0.03014,0.2480471 -0.03015,0.1093818 -0.08871,0.185174 -0.0577,0.074931 -0.141249,0.1145495 -0.08354,0.039619 -0.191203,0.039619 -0.09302,0 -0.171393,-0.032728 -0.07838,-0.032729 -0.13522,-0.1024917 -0.05684,-0.070624 -0.08871,-0.1800063 -0.03187,-0.1093819 -0.03187,-0.2618275 0,-0.1386652 0.03014,-0.248047 0.03101,-0.1093819 0.08871,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.08441,-0.0396186 0.191203,-0.0396186 0.09302,0 0.171394,0.0327284 0.07838,0.0327284 0.134359,0.10249171 0.05684,0.069763 0.08871,0.179145 0.03187,0.1093819 0.03187,0.2626887 z m -0.666626,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.0017,0.030145 l 0.422047,-0.304896 q -0.03015,-0.085266 -0.0801,-0.125746 -0.04909,-0.041341 -0.116272,-0.041341 -0.04823,0 -0.08957,0.024977 -0.04134,0.024116 -0.07235,0.074931 -0.03014,0.050815 -0.04823,0.1274686 -0.01722,0.076653 -0.01722,0.1817289 z m 0.454753,0.00345 q 0,-0.014642 -8.62e-4,-0.029283 -8.61e-4,-0.015503 -8.61e-4,-0.029283 L 97.76806,1.7571402 q 0.02756,0.083544 0.07751,0.1240235 0.04995,0.04048 0.116272,0.04048 0.04823,0 0.08957,-0.024977 0.0422,-0.024977 0.07235,-0.074931 0.03101,-0.050815 0.04823,-0.1274686 0.01723,-0.077515 0.01723,-0.1817289 z" />
<path
id="path185"
d="m 99.372615,1.505648 q 0,0.1386652 -0.03014,0.2480471 -0.03014,0.1093818 -0.08871,0.185174 -0.05771,0.074931 -0.141249,0.1145495 -0.08354,0.039619 -0.191203,0.039619 -0.09302,0 -0.171394,-0.032728 -0.07838,-0.032729 -0.13522,-0.1024917 -0.05684,-0.070624 -0.08871,-0.1800063 -0.03187,-0.1093819 -0.03187,-0.2618275 0,-0.1386652 0.03014,-0.248047 0.03101,-0.1093819 0.08871,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.0844,-0.0396186 0.191203,-0.0396186 0.09302,0 0.171393,0.0327284 0.07838,0.0327284 0.134359,0.10249171 0.05684,0.069763 0.08871,0.179145 0.03187,0.1093819 0.03187,0.2626887 z m -0.666627,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.0017,0.030145 l 0.422047,-0.304896 q -0.03014,-0.085266 -0.0801,-0.125746 -0.04909,-0.041341 -0.116272,-0.041341 -0.04823,0 -0.08957,0.024977 -0.04134,0.024116 -0.07235,0.074931 -0.03014,0.050815 -0.04823,0.1274686 -0.01723,0.076653 -0.01723,0.1817289 z m 0.454753,0.00345 q 0,-0.014642 -8.61e-4,-0.029283 -8.61e-4,-0.015503 -8.61e-4,-0.029283 l -0.419441,0.3031686 q 0.02756,0.083544 0.07752,0.1240235 0.04995,0.04048 0.116272,0.04048 0.04823,0 0.08957,-0.024977 0.0422,-0.024977 0.07235,-0.074931 0.03101,-0.050815 0.04823,-0.1274686 0.01722,-0.077515 0.01722,-0.1817289 z" />
</g>
<g
transform="translate(0.04335936,162.09955)"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
id="text966-0-99"
aria-label="25">
<path
id="path166"
style="stroke-width:0.264583"
d="M 22.616538,2.0732279 V 1.9181985 l 0.266134,-0.2661338 q 0.07493,-0.074931 0.119717,-0.1291912 0.04565,-0.05426 0.06976,-0.096463 0.02498,-0.043064 0.03273,-0.079237 0.0078,-0.036174 0.0078,-0.074931 0,-0.031867 -0.01034,-0.060289 -0.01034,-0.029283 -0.03014,-0.049954 -0.01981,-0.021532 -0.04995,-0.03359 -0.03015,-0.012919 -0.0689,-0.012919 -0.06632,0 -0.123163,0.029283 -0.05684,0.028422 -0.107659,0.076654 L 22.611371,1.0784559 q 0.07321,-0.068041 0.164503,-0.10852056 0.09216,-0.0413412 0.198955,-0.0413412 0.08268,0 0.149861,0.0215319 0.06718,0.0206706 0.11455,0.0620118 0.04823,0.041341 0.07407,0.1033529 0.0267,0.062012 0.0267,0.1429716 0,0.067179 -0.01809,0.125746 -0.01809,0.057705 -0.05254,0.112827 -0.03445,0.055122 -0.08527,0.1102431 -0.04995,0.055122 -0.114549,0.1162721 l -0.163642,0.1558906 h 0.474562 v 0.1937868 z" />
<path
id="path168"
style="stroke-width:0.264583"
d="m 24.343394,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.105076,0.1179946 -0.06718,0.048231 -0.158474,0.073208 -0.0913,0.024977 -0.198093,0.024977 -0.0267,0 -0.05685,-0.00172 -0.03014,-0.00172 -0.06115,-0.00431 -0.03101,-0.00258 -0.06029,-0.00689 -0.02928,-0.00345 -0.05426,-0.00775 V 1.8863313 q 0.04909,0.012058 0.112827,0.019809 0.06374,0.00689 0.130053,0.00689 0.129191,0 0.19637,-0.049093 0.06804,-0.049954 0.06804,-0.1378039 0,-0.091295 -0.06287,-0.1352201 -0.06287,-0.044786 -0.203261,-0.044786 H 23.631981 V 0.94754221 h 0.649401 V 1.1456353 h -0.45303 v 0.229099 h 0.08096 q 0.08613,0 0.164504,0.015503 0.07838,0.015503 0.137804,0.05426 0.06029,0.037896 0.0956,0.1033529 0.03617,0.065457 0.03617,0.1653647 z" />
</g>
<g
transform="translate(0.04335936,162.09955)"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
id="text966-0-3"
aria-label="50">
<path
id="path171"
style="stroke-width:0.264583"
d="m 48.371874,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.105075,0.1179946 -0.06718,0.048231 -0.158475,0.073208 -0.0913,0.024977 -0.198093,0.024977 -0.0267,0 -0.05684,-0.00172 -0.03015,-0.00172 -0.06115,-0.00431 -0.03101,-0.00258 -0.06029,-0.00689 -0.02928,-0.00345 -0.05426,-0.00775 V 1.8863313 q 0.04909,0.012058 0.112827,0.019809 0.06373,0.00689 0.130052,0.00689 0.129191,0 0.196371,-0.049093 0.06804,-0.049954 0.06804,-0.1378039 0,-0.091295 -0.06287,-0.1352201 -0.06287,-0.044786 -0.203261,-0.044786 H 47.660462 V 0.94754221 h 0.6494 V 1.1456353 h -0.45303 v 0.229099 h 0.08096 q 0.08613,0 0.164503,0.015503 0.07838,0.015503 0.137804,0.05426 0.06029,0.037896 0.0956,0.1033529 0.03617,0.065457 0.03617,0.1653647 z" />
<path
id="path173"
style="stroke-width:0.264583"
d="m 49.401097,1.505648 q 0,0.1386652 -0.03014,0.2480471 -0.03014,0.1093818 -0.08871,0.185174 -0.0577,0.074931 -0.141249,0.1145495 -0.08354,0.039619 -0.191203,0.039619 -0.09302,0 -0.171393,-0.032728 -0.07838,-0.032729 -0.13522,-0.1024917 -0.05684,-0.070624 -0.08871,-0.1800063 -0.03187,-0.1093819 -0.03187,-0.2618275 0,-0.1386652 0.03015,-0.248047 0.03101,-0.1093819 0.08871,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.0844,-0.0396186 0.191203,-0.0396186 0.09302,0 0.171394,0.0327284 0.07838,0.0327284 0.134359,0.10249171 0.05684,0.069763 0.08871,0.179145 0.03187,0.1093819 0.03187,0.2626887 z m -0.666626,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.0017,0.030145 l 0.422047,-0.304896 q -0.03014,-0.085266 -0.0801,-0.125746 -0.04909,-0.041341 -0.116272,-0.041341 -0.04823,0 -0.08957,0.024977 -0.04134,0.024116 -0.07235,0.074931 -0.03015,0.050815 -0.04823,0.1274686 -0.01723,0.076653 -0.01723,0.1817289 z m 0.454753,0.00345 q 0,-0.014642 -8.62e-4,-0.029283 -8.61e-4,-0.015503 -8.61e-4,-0.029283 L 48.76806,1.7571402 q 0.02756,0.083544 0.07751,0.1240235 0.04995,0.04048 0.116272,0.04048 0.04823,0 0.08957,-0.024977 0.0422,-0.024977 0.07235,-0.074931 0.03101,-0.050815 0.04823,-0.1274686 0.01723,-0.077515 0.01723,-0.1817289 z" />
</g>
<g
transform="translate(0.04335936,162.09955)"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
id="text966-0-7"
aria-label="75">
<path
id="path176"
style="stroke-width:0.264583"
d="M 72.926595,2.0732279 H 72.688884 L 73.136746,1.150803 H 72.596727 V 0.94754221 h 0.782037 V 1.1309937 Z" />
<path
id="path178"
style="stroke-width:0.264583"
d="m 74.343392,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.105076,0.1179946 -0.06718,0.048231 -0.158474,0.073208 -0.0913,0.024977 -0.198093,0.024977 -0.0267,0 -0.05684,-0.00172 -0.03014,-0.00172 -0.06115,-0.00431 -0.03101,-0.00258 -0.06029,-0.00689 -0.02928,-0.00345 -0.05426,-0.00775 V 1.8863313 q 0.04909,0.012058 0.112826,0.019809 0.06373,0.00689 0.130053,0.00689 0.129191,0 0.19637,-0.049093 0.06804,-0.049954 0.06804,-0.1378039 0,-0.091295 -0.06287,-0.1352201 -0.06287,-0.044786 -0.203261,-0.044786 H 73.631979 V 0.94754221 H 74.28138 V 1.1456353 h -0.45303 v 0.229099 h 0.08096 q 0.08613,0 0.164504,0.015503 0.07838,0.015503 0.137804,0.05426 0.06029,0.037896 0.0956,0.1033529 0.03617,0.065457 0.03617,0.1653647 z" />
</g>
<g
transform="translate(0.04335936,162.09955)"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
id="text966-0-5-1"
aria-label="150">
<path
id="path195"
style="stroke-width:0.264583"
d="M 146.47099,2.0732279 V 1.8863313 h 0.2868 V 1.1628608 l -0.24977,0.1378039 -0.0689,-0.1713936 0.35743,-0.18861909 h 0.17656 V 1.8863313 h 0.24719 v 0.1868966 z" />
<path
id="path197"
style="stroke-width:0.264583"
d="m 148.17803,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.10508,0.1179946 -0.0672,0.048231 -0.15847,0.073208 -0.0913,0.024977 -0.1981,0.024977 -0.0267,0 -0.0568,-0.00172 -0.0301,-0.00172 -0.0611,-0.00431 -0.031,-0.00258 -0.0603,-0.00689 -0.0293,-0.00345 -0.0543,-0.00775 V 1.8863313 q 0.0491,0.012058 0.11283,0.019809 0.0637,0.00689 0.13005,0.00689 0.12919,0 0.19637,-0.049093 0.068,-0.049954 0.068,-0.1378039 0,-0.091295 -0.0629,-0.1352201 -0.0629,-0.044786 -0.20326,-0.044786 h -0.22049 V 0.94754221 h 0.6494 V 1.1456353 h -0.45303 v 0.229099 h 0.081 q 0.0861,0 0.1645,0.015503 0.0784,0.015503 0.13781,0.05426 0.0603,0.037896 0.0956,0.1033529 0.0362,0.065457 0.0362,0.1653647 z" />
<path
id="path199"
style="stroke-width:0.264583"
d="m 149.20726,1.505648 q 0,0.1386652 -0.0301,0.2480471 -0.0301,0.1093818 -0.0887,0.185174 -0.0577,0.074931 -0.14125,0.1145495 -0.0835,0.039619 -0.1912,0.039619 -0.093,0 -0.1714,-0.032728 -0.0784,-0.032729 -0.13522,-0.1024917 -0.0568,-0.070624 -0.0887,-0.1800063 -0.0319,-0.1093819 -0.0319,-0.2618275 0,-0.1386652 0.0301,-0.248047 0.031,-0.1093819 0.0887,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.0844,-0.0396186 0.1912,-0.0396186 0.093,0 0.1714,0.0327284 0.0784,0.0327284 0.13436,0.10249171 0.0568,0.069763 0.0887,0.179145 0.0319,0.1093819 0.0319,0.2626879 z m -0.66663,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.002,0.030145 l 0.42203,-0.3048912 q -0.0301,-0.085266 -0.0801,-0.125746 -0.0491,-0.041341 -0.11627,-0.041341 -0.0482,0 -0.0896,0.024977 -0.0413,0.024116 -0.0723,0.074931 -0.0301,0.050815 -0.0482,0.1274686 -0.0172,0.076653 -0.0172,0.1817289 z m 0.45475,0.00345 q 0,-0.014642 -8.6e-4,-0.029283 -8.6e-4,-0.015503 -8.6e-4,-0.029283 l -0.41944,0.3031686 q 0.0276,0.083544 0.0775,0.1240235 0.05,0.04048 0.11628,0.04048 0.0482,0 0.0896,-0.024977 0.0422,-0.024977 0.0723,-0.074931 0.031,-0.050815 0.0482,-0.1274686 0.0172,-0.077515 0.0172,-0.1817289 z" />
</g>
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.262146;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.524292, 0.262146;stroke-dashoffset:0;stroke-opacity:1"
d="M 164.9998,84.999206 0.63463045,85.016844"
id="path2685-4-7-5" />
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.263112;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.526224, 0.263112;stroke-dashoffset:0;stroke-opacity:1"
d="m 153.34858,150 h 11.07649"
id="path2683-0-5-5" />
<path
sodipodi:nodetypes="cc"
style="display:inline;fill:none;stroke:#fdfdfd;stroke-width:0.263112;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:0.526224, 0.263112;stroke-dashoffset:0;stroke-opacity:1"
d="m 153.01348,155.00039 h 11.07649"
id="path2683-0-5-5-7" />
<g
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:8.81944px;line-height:1.25;font-family:'Bauhaus 93';-inkscape-font-specification:'Bauhaus 93, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
id="text893"
aria-label="ENDER 2">
<g
id="g220" />
</g>
<g
aria-label="125"
id="text966-0-4-0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
transform="translate(-120.58115,39.81636)">
<path
d="M 121.63635,2.0732279 V 1.8863313 h 0.2868 V 1.1628608 l -0.24977,0.1378039 -0.0689,-0.1713936 0.35743,-0.18861909 h 0.17656 V 1.8863313 h 0.24718 v 0.1868966 z"
id="path188-1" />
<path
d="M 122.58805,2.0732279 V 1.9181985 l 0.26614,-0.2661338 q 0.0749,-0.074931 0.11972,-0.1291912 0.0456,-0.05426 0.0698,-0.096463 0.025,-0.043064 0.0327,-0.079237 0.008,-0.036174 0.008,-0.074931 0,-0.031867 -0.0103,-0.060289 -0.0103,-0.029283 -0.0301,-0.049954 -0.0198,-0.021532 -0.05,-0.03359 -0.0301,-0.012919 -0.0689,-0.012919 -0.0663,0 -0.12316,0.029283 -0.0568,0.028422 -0.10766,0.076654 l -0.1111,-0.1429716 q 0.0732,-0.068041 0.1645,-0.10852056 0.0922,-0.0413412 0.19895,-0.0413412 0.0827,0 0.14987,0.0215319 0.0672,0.0206706 0.11455,0.0620118 0.0482,0.041341 0.0741,0.1033529 0.0267,0.062012 0.0267,0.1429716 0,0.067179 -0.0181,0.125746 -0.0181,0.057705 -0.0525,0.112827 -0.0344,0.055122 -0.0853,0.1102431 -0.0499,0.055122 -0.11455,0.1162721 l -0.16364,0.1558906 h 0.47456 v 0.1937868 z"
id="path190-2" />
<path
d="m 124.31491,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.10507,0.1179946 -0.0672,0.048231 -0.15848,0.073208 -0.0913,0.024977 -0.19809,0.024977 -0.0267,0 -0.0568,-0.00172 -0.0301,-0.00172 -0.0611,-0.00431 -0.031,-0.00258 -0.0603,-0.00689 -0.0293,-0.00345 -0.0543,-0.00775 V 1.8863313 q 0.0491,0.012058 0.11282,0.019809 0.0637,0.00689 0.13006,0.00689 0.12919,0 0.19637,-0.049093 0.068,-0.049954 0.068,-0.1378039 0,-0.091295 -0.0629,-0.1352201 -0.0629,-0.044786 -0.20326,-0.044786 H 123.6035 V 0.94754221 h 0.6494 V 1.1456353 h -0.45303 v 0.229099 h 0.081 q 0.0861,0 0.1645,0.015503 0.0784,0.015503 0.1378,0.05426 0.0603,0.037896 0.0956,0.1033529 0.0362,0.065457 0.0362,0.1653647 z"
id="path192-3" />
</g>
<g
aria-label="100"
id="text966-0-9-0"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
transform="translate(-95.765044,64.636453)">
<path
d="M 96.636346,2.0732279 V 1.8863313 H 96.92315 V 1.1628608 l -0.249769,0.1378039 -0.0689,-0.1713936 0.357429,-0.18861909 h 0.176561 V 1.8863313 h 0.247186 v 0.1868966 z"
id="path181-5" />
<path
d="m 98.401097,1.505648 q 0,0.1386652 -0.03014,0.2480471 -0.03015,0.1093818 -0.08871,0.185174 -0.0577,0.074931 -0.141249,0.1145495 -0.08354,0.039619 -0.191203,0.039619 -0.09302,0 -0.171393,-0.032728 -0.07838,-0.032729 -0.13522,-0.1024917 -0.05684,-0.070624 -0.08871,-0.1800063 -0.03187,-0.1093819 -0.03187,-0.2618275 0,-0.1386652 0.03014,-0.248047 0.03101,-0.1093819 0.08871,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.08441,-0.0396186 0.191203,-0.0396186 0.09302,0 0.171394,0.0327284 0.07838,0.0327284 0.134359,0.10249171 0.05684,0.069763 0.08871,0.179145 0.03187,0.1093819 0.03187,0.2626887 z m -0.666626,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.0017,0.030145 l 0.422047,-0.304896 q -0.03015,-0.085266 -0.0801,-0.125746 -0.04909,-0.041341 -0.116272,-0.041341 -0.04823,0 -0.08957,0.024977 -0.04134,0.024116 -0.07235,0.074931 -0.03014,0.050815 -0.04823,0.1274686 -0.01722,0.076653 -0.01722,0.1817289 z m 0.454753,0.00345 q 0,-0.014642 -8.62e-4,-0.029283 -8.61e-4,-0.015503 -8.61e-4,-0.029283 L 97.76806,1.7571402 q 0.02756,0.083544 0.07751,0.1240235 0.04995,0.04048 0.116272,0.04048 0.04823,0 0.08957,-0.024977 0.0422,-0.024977 0.07235,-0.074931 0.03101,-0.050815 0.04823,-0.1274686 0.01723,-0.077515 0.01723,-0.1817289 z"
id="path183-5" />
<path
d="m 99.372615,1.505648 q 0,0.1386652 -0.03014,0.2480471 -0.03014,0.1093818 -0.08871,0.185174 -0.05771,0.074931 -0.141249,0.1145495 -0.08354,0.039619 -0.191203,0.039619 -0.09302,0 -0.171394,-0.032728 -0.07838,-0.032729 -0.13522,-0.1024917 -0.05684,-0.070624 -0.08871,-0.1800063 -0.03187,-0.1093819 -0.03187,-0.2618275 0,-0.1386652 0.03014,-0.248047 0.03101,-0.1093819 0.08871,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.0844,-0.0396186 0.191203,-0.0396186 0.09302,0 0.171393,0.0327284 0.07838,0.0327284 0.134359,0.10249171 0.05684,0.069763 0.08871,0.179145 0.03187,0.1093819 0.03187,0.2626887 z m -0.666627,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.0017,0.030145 l 0.422047,-0.304896 q -0.03014,-0.085266 -0.0801,-0.125746 -0.04909,-0.041341 -0.116272,-0.041341 -0.04823,0 -0.08957,0.024977 -0.04134,0.024116 -0.07235,0.074931 -0.03014,0.050815 -0.04823,0.1274686 -0.01723,0.076653 -0.01723,0.1817289 z m 0.454753,0.00345 q 0,-0.014642 -8.61e-4,-0.029283 -8.61e-4,-0.015503 -8.61e-4,-0.029283 l -0.419441,0.3031686 q 0.02756,0.083544 0.07752,0.1240235 0.04995,0.04048 0.116272,0.04048 0.04823,0 0.08957,-0.024977 0.0422,-0.024977 0.07235,-0.074931 0.03101,-0.050815 0.04823,-0.1274686 0.01722,-0.077515 0.01722,-0.1817289 z"
id="path185-2" />
</g>
<g
aria-label="25"
id="text966-0-99-1"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
transform="translate(-21.665685,139.65487)">
<path
d="M 22.616538,2.0732279 V 1.9181985 l 0.266134,-0.2661338 q 0.07493,-0.074931 0.119717,-0.1291912 0.04565,-0.05426 0.06976,-0.096463 0.02498,-0.043064 0.03273,-0.079237 0.0078,-0.036174 0.0078,-0.074931 0,-0.031867 -0.01034,-0.060289 -0.01034,-0.029283 -0.03014,-0.049954 -0.01981,-0.021532 -0.04995,-0.03359 -0.03015,-0.012919 -0.0689,-0.012919 -0.06632,0 -0.123163,0.029283 -0.05684,0.028422 -0.107659,0.076654 L 22.611371,1.0784559 q 0.07321,-0.068041 0.164503,-0.10852056 0.09216,-0.0413412 0.198955,-0.0413412 0.08268,0 0.149861,0.0215319 0.06718,0.0206706 0.11455,0.0620118 0.04823,0.041341 0.07407,0.1033529 0.0267,0.062012 0.0267,0.1429716 0,0.067179 -0.01809,0.125746 -0.01809,0.057705 -0.05254,0.112827 -0.03445,0.055122 -0.08527,0.1102431 -0.04995,0.055122 -0.114549,0.1162721 l -0.163642,0.1558906 h 0.474562 v 0.1937868 z"
style="stroke-width:0.264583"
id="path166-8" />
<path
d="m 24.343394,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.105076,0.1179946 -0.06718,0.048231 -0.158474,0.073208 -0.0913,0.024977 -0.198093,0.024977 -0.0267,0 -0.05685,-0.00172 -0.03014,-0.00172 -0.06115,-0.00431 -0.03101,-0.00258 -0.06029,-0.00689 -0.02928,-0.00345 -0.05426,-0.00775 V 1.8863313 q 0.04909,0.012058 0.112827,0.019809 0.06374,0.00689 0.130053,0.00689 0.129191,0 0.19637,-0.049093 0.06804,-0.049954 0.06804,-0.1378039 0,-0.091295 -0.06287,-0.1352201 -0.06287,-0.044786 -0.203261,-0.044786 H 23.631981 V 0.94754221 h 0.649401 V 1.1456353 h -0.45303 v 0.229099 h 0.08096 q 0.08613,0 0.164504,0.015503 0.07838,0.015503 0.137804,0.05426 0.06029,0.037896 0.0956,0.1033529 0.03617,0.065457 0.03617,0.1653647 z"
style="stroke-width:0.264583"
id="path168-6" />
</g>
<g
aria-label="50"
id="text966-0-3-4"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
transform="translate(-46.758479,114.60519)">
<path
d="m 48.371874,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.105075,0.1179946 -0.06718,0.048231 -0.158475,0.073208 -0.0913,0.024977 -0.198093,0.024977 -0.0267,0 -0.05684,-0.00172 -0.03015,-0.00172 -0.06115,-0.00431 -0.03101,-0.00258 -0.06029,-0.00689 -0.02928,-0.00345 -0.05426,-0.00775 V 1.8863313 q 0.04909,0.012058 0.112827,0.019809 0.06373,0.00689 0.130052,0.00689 0.129191,0 0.196371,-0.049093 0.06804,-0.049954 0.06804,-0.1378039 0,-0.091295 -0.06287,-0.1352201 -0.06287,-0.044786 -0.203261,-0.044786 H 47.660462 V 0.94754221 h 0.6494 V 1.1456353 h -0.45303 v 0.229099 h 0.08096 q 0.08613,0 0.164503,0.015503 0.07838,0.015503 0.137804,0.05426 0.06029,0.037896 0.0956,0.1033529 0.03617,0.065457 0.03617,0.1653647 z"
style="stroke-width:0.264583"
id="path171-2" />
<path
d="m 49.401097,1.505648 q 0,0.1386652 -0.03014,0.2480471 -0.03014,0.1093818 -0.08871,0.185174 -0.0577,0.074931 -0.141249,0.1145495 -0.08354,0.039619 -0.191203,0.039619 -0.09302,0 -0.171393,-0.032728 -0.07838,-0.032729 -0.13522,-0.1024917 -0.05684,-0.070624 -0.08871,-0.1800063 -0.03187,-0.1093819 -0.03187,-0.2618275 0,-0.1386652 0.03015,-0.248047 0.03101,-0.1093819 0.08871,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.0844,-0.0396186 0.191203,-0.0396186 0.09302,0 0.171394,0.0327284 0.07838,0.0327284 0.134359,0.10249171 0.05684,0.069763 0.08871,0.179145 0.03187,0.1093819 0.03187,0.2626887 z m -0.666626,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.0017,0.030145 l 0.422047,-0.304896 q -0.03014,-0.085266 -0.0801,-0.125746 -0.04909,-0.041341 -0.116272,-0.041341 -0.04823,0 -0.08957,0.024977 -0.04134,0.024116 -0.07235,0.074931 -0.03015,0.050815 -0.04823,0.1274686 -0.01723,0.076653 -0.01723,0.1817289 z m 0.454753,0.00345 q 0,-0.014642 -8.62e-4,-0.029283 -8.61e-4,-0.015503 -8.61e-4,-0.029283 L 48.76806,1.7571402 q 0.02756,0.083544 0.07751,0.1240235 0.04995,0.04048 0.116272,0.04048 0.04823,0 0.08957,-0.024977 0.0422,-0.024977 0.07235,-0.074931 0.03101,-0.050815 0.04823,-0.1274686 0.01723,-0.077515 0.01723,-0.1817289 z"
style="stroke-width:0.264583"
id="path173-7" />
</g>
<g
aria-label="75"
id="text966-0-7-6"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
transform="translate(-71.57512,90.04448)">
<path
d="M 72.926595,2.0732279 H 72.688884 L 73.136746,1.150803 H 72.596727 V 0.94754221 h 0.782037 V 1.1309937 Z"
style="stroke-width:0.264583"
id="path176-3" />
<path
d="m 74.343392,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.105076,0.1179946 -0.06718,0.048231 -0.158474,0.073208 -0.0913,0.024977 -0.198093,0.024977 -0.0267,0 -0.05684,-0.00172 -0.03014,-0.00172 -0.06115,-0.00431 -0.03101,-0.00258 -0.06029,-0.00689 -0.02928,-0.00345 -0.05426,-0.00775 V 1.8863313 q 0.04909,0.012058 0.112826,0.019809 0.06373,0.00689 0.130053,0.00689 0.129191,0 0.19637,-0.049093 0.06804,-0.049954 0.06804,-0.1378039 0,-0.091295 -0.06287,-0.1352201 -0.06287,-0.044786 -0.203261,-0.044786 H 73.631979 V 0.94754221 H 74.28138 V 1.1456353 h -0.45303 v 0.229099 h 0.08096 q 0.08613,0 0.164504,0.015503 0.07838,0.015503 0.137804,0.05426 0.06029,0.037896 0.0956,0.1033529 0.03617,0.065457 0.03617,0.1653647 z"
style="stroke-width:0.264583"
id="path178-3" />
</g>
<g
aria-label="150"
id="text966-0-5-1-6"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:1.76389px;line-height:1.25;font-family:Consolas;-inkscape-font-specification:'Consolas, Bold';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.264583"
transform="translate(-145.49952,14.988432)">
<path
d="M 146.47099,2.0732279 V 1.8863313 h 0.2868 V 1.1628608 l -0.24977,0.1378039 -0.0689,-0.1713936 0.35743,-0.18861909 h 0.17656 V 1.8863313 h 0.24719 v 0.1868966 z"
style="stroke-width:0.264583"
id="path195-7" />
<path
d="m 148.17803,1.7132152 q 0,0.090434 -0.0379,0.1610583 -0.0379,0.069763 -0.10508,0.1179946 -0.0672,0.048231 -0.15847,0.073208 -0.0913,0.024977 -0.1981,0.024977 -0.0267,0 -0.0568,-0.00172 -0.0301,-0.00172 -0.0611,-0.00431 -0.031,-0.00258 -0.0603,-0.00689 -0.0293,-0.00345 -0.0543,-0.00775 V 1.8863313 q 0.0491,0.012058 0.11283,0.019809 0.0637,0.00689 0.13005,0.00689 0.12919,0 0.19637,-0.049093 0.068,-0.049954 0.068,-0.1378039 0,-0.091295 -0.0629,-0.1352201 -0.0629,-0.044786 -0.20326,-0.044786 h -0.22049 V 0.94754221 h 0.6494 V 1.1456353 h -0.45303 v 0.229099 h 0.081 q 0.0861,0 0.1645,0.015503 0.0784,0.015503 0.13781,0.05426 0.0603,0.037896 0.0956,0.1033529 0.0362,0.065457 0.0362,0.1653647 z"
style="stroke-width:0.264583"
id="path197-7" />
<path
d="m 149.20726,1.505648 q 0,0.1386652 -0.0301,0.2480471 -0.0301,0.1093818 -0.0887,0.185174 -0.0577,0.074931 -0.14125,0.1145495 -0.0835,0.039619 -0.1912,0.039619 -0.093,0 -0.1714,-0.032728 -0.0784,-0.032729 -0.13522,-0.1024917 -0.0568,-0.070624 -0.0887,-0.1800063 -0.0319,-0.1093819 -0.0319,-0.2618275 0,-0.1386652 0.0301,-0.248047 0.031,-0.1093819 0.0887,-0.1843127 0.0577,-0.075792 0.14211,-0.11541081 0.0844,-0.0396186 0.1912,-0.0396186 0.093,0 0.1714,0.0327284 0.0784,0.0327284 0.13436,0.10249171 0.0568,0.069763 0.0887,0.179145 0.0319,0.1093819 0.0319,0.2626879 z m -0.66663,0.00345 q 0,0.017225 0,0.032728 0,0.014642 0.002,0.030145 l 0.42203,-0.3048912 q -0.0301,-0.085266 -0.0801,-0.125746 -0.0491,-0.041341 -0.11627,-0.041341 -0.0482,0 -0.0896,0.024977 -0.0413,0.024116 -0.0723,0.074931 -0.0301,0.050815 -0.0482,0.1274686 -0.0172,0.076653 -0.0172,0.1817289 z m 0.45475,0.00345 q 0,-0.014642 -8.6e-4,-0.029283 -8.6e-4,-0.015503 -8.6e-4,-0.029283 l -0.41944,0.3031686 q 0.0276,0.083544 0.0775,0.1240235 0.05,0.04048 0.11628,0.04048 0.0482,0 0.0896,-0.024977 0.0422,-0.024977 0.0723,-0.074931 0.031,-0.050815 0.0482,-0.1274686 0.0172,-0.077515 0.0172,-0.1817289 z"
style="stroke-width:0.264583"
id="path199-0" />
</g>
</g>
<?xml version="1.0" encoding="UTF-8"?>
<svg width="160mm" height="160mm" version="1.1" viewBox="0 0 160 160" xmlns="http://www.w3.org/2000/svg">
<rect x="0.25" y="0.25" width="159.5" height="159.5" fill="none" stroke="#fff" stroke-width=".5"/>
</svg>

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 253 B

View file

@ -1,4 +1,5 @@
min_slic3r_version = 2.3.2-alpha0
0.0.9 Added AzteQ Industrial materials PC/ABS (Fillamentum), PC-Max (Polymaker), Nylon FX256 (Fillamentum), Added DeltiQ 2 materials Nylon PA12 (Fiberlogy), Nylon CF15 Carbon (Fillamentum), PEBA 90A - FlexFill (Fillamentum), MoldLay (Wax-Alike), disabled retract only when crossing perimeters, some minor setting improvements
0.0.8 Added new AzteQ Industrial printer, added DeltiQ 2 profiles for 0.6mm nozzle, added material ASA 275 (Spectrum), some minor setting improvements
min_slic3r_version = 2.3.0-alpha3
0.0.7 Added PLA, PETG profiles for 0.25 nozzle, fixed supports on 0.8 nozzle profile, fixed max volumetric speed, disabled elefant foot compensation

View file

@ -6,7 +6,7 @@
name = TriLAB
# 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 = 0.0.8
config_version = 0.0.9
# Where to get the updates from?
config_update_url = https://files.prusa3d.com/wp-content/uploads/repository/PrusaSlicer-settings-master/live/TriLAB/
# changelog_url = https://files.prusa3d.com/?latest=slicer-profiles&lng=%1%
@ -22,7 +22,7 @@ technology = FFF
family = AzteQ
bed_model = aq_bed.stl
bed_texture = aq_bed_texture.svg
default_materials = AzteQ Industrial (Door Opened) - PLA - ExtraFill (Fillamentum);AzteQ Industrial (Door Opened) - PLA - Generic;AzteQ Industrial (PLA Printhead) - PLA - ExtraFill (Fillamentum);AzteQ Industrial - ABS - ExtraFill (Fillamentum);AzteQ Industrial - ABS - Generic;AzteQ Industrial - ASA - ExtraFill (Fillamentum);AzteQ Industrial - ASA - Generic;AzteQ Industrial - ASA - Prusament (Prusa);AzteQ Industrial - PA - Nylon PA12 (Fiberlogy);AzteQ Industrial - PC Blend - Prusament (Prusa)
default_materials = AzteQ Industrial (Door Opened) - PLA - ExtraFill (Fillamentum);AzteQ Industrial (Door Opened) - PLA - Generic;AzteQ Industrial (PLA Printhead) - PLA - ExtraFill (Fillamentum);AzteQ Industrial - ABS - ExtraFill (Fillamentum);AzteQ Industrial - ABS - Generic;AzteQ Industrial - ASA - ExtraFill (Fillamentum);AzteQ Industrial - ASA - Generic;AzteQ Industrial - ASA - Prusament (Prusa);AzteQ Industrial - PA - Nylon PA12 (Fiberlogy);AzteQ Industrial - PC Blend - Prusament (Prusa);AzteQ Industrial - PC - PolyMax (Polymaker);AzteQ Industrial - PC - PolyMax (Polymaker) @0.6 nozzle;AzteQ Industrial - PC/ABS - (Fillamentum);AzteQ Industrial - PC/ABS - (Fillamentum) @0.6 nozzle;AzteQ Industrial - PA - Nylon FX256 (Fillamentum);AzteQ Industrial - PA - Nylon FX256 (Fillamentum) @0.6 nozzle
[printer_model:DQ2]
name = DeltiQ 2
@ -31,7 +31,7 @@ technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ - PLA - Generic;DeltiQ - PLA - ExtraFill (Fillamentum);DeltiQ - PETG - Generic;DeltiQ - PETG (Devil Design);DeltiQ - ABS - Generic;DeltiQ - ABS - ExtraFill (Fillamentum);DeltiQ - ASA - ExtraFill (Fillamentum);DeltiQ - ASA - ASA 275 (Spectrum);DeltiQ - CPE - HG100 (Fillamentum);DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle;DeltiQ - PETG (Devil Design) @0.25 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - PETG (Devil Design) @0.6 nozzle;DeltiQ - ABS - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ASA 275 (Spectrum) @0.6 nozzle;DeltiQ - CPE - HG100 (Fillamentum) @0.6 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle;DeltiQ - PETG (Devil Design) @0.8 nozzle
default_materials = DeltiQ - PLA - Generic;DeltiQ - PLA - ExtraFill (Fillamentum);DeltiQ - PETG - Generic;DeltiQ - PETG (Devil Design);DeltiQ - ABS - Generic;DeltiQ - ABS - ExtraFill (Fillamentum);DeltiQ - ASA - ExtraFill (Fillamentum);DeltiQ - ASA - ASA 275 (Spectrum);DeltiQ - CPE - HG100 (Fillamentum);DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle;DeltiQ - PETG (Devil Design) @0.25 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - PETG (Devil Design) @0.6 nozzle;DeltiQ - ABS - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ASA 275 (Spectrum) @0.6 nozzle;DeltiQ - CPE - HG100 (Fillamentum) @0.6 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle;DeltiQ - PETG (Devil Design) @0.8 nozzle;DeltiQ - PA - Nylon PA12 (Fiberlogy);DeltiQ - PA - Nylon CF15 Carbon (Fillamentum);DeltiQ - MoldLay (Wax-Alike)
[printer_model:DQ2P]
name = DeltiQ 2 Plus
@ -40,7 +40,7 @@ technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ - PLA - Generic;DeltiQ - PLA - ExtraFill (Fillamentum);DeltiQ - PETG - Generic;DeltiQ - PETG (Devil Design);DeltiQ - ABS - Generic;DeltiQ - ABS - ExtraFill (Fillamentum);DeltiQ - ASA - ExtraFill (Fillamentum);DeltiQ - ASA - ASA 275 (Spectrum);DeltiQ - CPE - HG100 (Fillamentum);DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle;DeltiQ - PETG (Devil Design) @0.25 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - PETG (Devil Design) @0.6 nozzle;DeltiQ - ABS - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ASA 275 (Spectrum) @0.6 nozzle;DeltiQ - CPE - HG100 (Fillamentum) @0.6 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle;DeltiQ - PETG (Devil Design) @0.8 nozzle
default_materials = DeltiQ - PLA - Generic;DeltiQ - PLA - ExtraFill (Fillamentum);DeltiQ - PETG - Generic;DeltiQ - PETG (Devil Design);DeltiQ - ABS - Generic;DeltiQ - ABS - ExtraFill (Fillamentum);DeltiQ - ASA - ExtraFill (Fillamentum);DeltiQ - ASA - ASA 275 (Spectrum);DeltiQ - CPE - HG100 (Fillamentum);DeltiQ - PLA - ExtraFill (Fillamentum) @0.25 nozzle;DeltiQ - PETG (Devil Design) @0.25 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - PETG (Devil Design) @0.6 nozzle;DeltiQ - ABS - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ExtraFill (Fillamentum) @0.6 nozzle;DeltiQ - ASA - ASA 275 (Spectrum) @0.6 nozzle;DeltiQ - CPE - HG100 (Fillamentum) @0.6 nozzle;DeltiQ - PLA - ExtraFill (Fillamentum) @0.8 nozzle;DeltiQ - PETG (Devil Design) @0.8 nozzle;DeltiQ - PA - Nylon PA12 (Fiberlogy);DeltiQ - PA - Nylon CF15 Carbon (Fillamentum);DeltiQ - MoldLay (Wax-Alike)
[printer_model:DQ2+FP2]
name = DeltiQ 2 + FlexPrint 2
@ -49,7 +49,7 @@ technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ FP2 - PLA - Generic;DeltiQ FP2 - PLA - ExtraFill (Fillamentum);DeltiQ FP2 - PETG - Generic;DeltiQ FP2 - PETG (Devil Design);DeltiQ FP2 - ABS - Generic;DeltiQ FP2 - ABS - ExtraFill (Fillamentum);DeltiQ FP2 - ASA - ExtraFill (Fillamentum);DeltiQ FP2 - CPE - HG100 (Fillamentum);DeltiQ FP2 - FLEX - Generic;DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 93A (SMARTFIL)
default_materials = DeltiQ FP2 - PLA - Generic;DeltiQ FP2 - PLA - ExtraFill (Fillamentum);DeltiQ FP2 - PETG - Generic;DeltiQ FP2 - PETG (Devil Design);DeltiQ FP2 - ABS - Generic;DeltiQ FP2 - ABS - ExtraFill (Fillamentum);DeltiQ FP2 - ASA - ExtraFill (Fillamentum);DeltiQ FP2 - CPE - HG100 (Fillamentum);DeltiQ FP2 - FLEX - Generic;DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 93A (SMARTFIL);DeltiQ FP2 - PEBA 90A - FlexFill (Fillamentum)
[printer_model:DQ2P+FP2]
name = DeltiQ 2 Plus + FlexPrint 2
@ -58,7 +58,7 @@ technology = FFF
family = DeltiQ 2
bed_model = dq2_bed.stl
bed_texture = dq2_bed_texture.svg
default_materials = DeltiQ FP2 - PLA - Generic;DeltiQ FP2 - PLA - ExtraFill (Fillamentum);DeltiQ FP2 - PETG - Generic;DeltiQ FP2 - PETG (Devil Design);DeltiQ FP2 - ABS - Generic;DeltiQ FP2 - ABS - ExtraFill (Fillamentum);DeltiQ FP2 - ASA - ExtraFill (Fillamentum);DeltiQ FP2 - CPE - HG100 (Fillamentum);DeltiQ FP2 - FLEX - Generic;DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 93A (SMARTFIL)
default_materials = DeltiQ FP2 - PLA - Generic;DeltiQ FP2 - PLA - ExtraFill (Fillamentum);DeltiQ FP2 - PETG - Generic;DeltiQ FP2 - PETG (Devil Design);DeltiQ FP2 - ABS - Generic;DeltiQ FP2 - ABS - ExtraFill (Fillamentum);DeltiQ FP2 - ASA - ExtraFill (Fillamentum);DeltiQ FP2 - CPE - HG100 (Fillamentum);DeltiQ FP2 - FLEX - Generic;DeltiQ FP2 - TPU 92A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum);DeltiQ FP2 - TPU 93A (SMARTFIL);DeltiQ FP2 - PEBA 90A - FlexFill (Fillamentum)
[printer_model:DQ2+FP]
name = DeltiQ 2 + FlexPrint
@ -156,7 +156,7 @@ max_print_speed = 60
max_volumetric_speed = 0
min_skirt_length = 4
notes =
only_retract_when_crossing_perimeters = 1
only_retract_when_crossing_perimeters = 0
ooze_prevention = 0
output_filename_format = {input_filename_base}_{printer_model}_{filament_type[0]}_{layer_height}mm_{print_time}_{timestamp}.gcode
overhangs = 1
@ -456,7 +456,7 @@ max_print_speed = 60
max_volumetric_speed = 0
min_skirt_length = 4
notes =
only_retract_when_crossing_perimeters = 1
only_retract_when_crossing_perimeters = 0
ooze_prevention = 0
output_filename_format = {input_filename_base}_{printer_model}_{filament_type[0]}_{layer_height}mm_{print_time}_{timestamp}.gcode
overhangs = 1
@ -1050,6 +1050,63 @@ min_print_speed = 10
slowdown_below_layer_time = 4
temperature = 235
[filament:DeltiQ FP2 - PEBA 90A - FlexFill (Fillamentum)]
inherits = DeltiQ FP2 - TPU 98A - FlexFill (Fillamentum)
extrusion_multiplier = 1.1
filament_cost = 3578
filament_density = 1.00
filament_max_volumetric_speed = 2.9
filament_retract_length = 0.0
filament_type = PEBA90A
bridge_fan_speed = 100
max_fan_speed = 50
min_fan_speed = 50
disable_fan_first_layers = 2
first_layer_bed_temperature = 75
first_layer_temperature = 245
bed_temperature = 75
temperature = 245
[filament:DeltiQ - PA - Nylon PA12 (Fiberlogy)]
inherits = DeltiQ - ABS - Generic
bed_temperature = 100
filament_cost = 1213
filament_density = 1.02
filament_retract_length = 4.1
filament_type = NYLON
first_layer_bed_temperature = 100
first_layer_temperature = 255
max_fan_speed = 30
min_fan_speed = 20
temperature = 255
[filament:DeltiQ - PA - Nylon CF15 Carbon (Fillamentum)]
inherits = DeltiQ - ABS - Generic
bed_temperature = 100
filament_cost = 2287
filament_density = 1.08
filament_retract_length = 2.0
filament_type = NYLON
first_layer_bed_temperature = 100
first_layer_temperature = 255
max_fan_speed = 50
min_fan_speed = 20
temperature = 255
extrusion_multiplier = 0.95
[filament:DeltiQ - MoldLay (Wax-Alike)]
inherits = DeltiQ - PLA - Generic
bed_temperature = 50
filament_cost = 1951
filament_retract_length = 2.0
filament_type = PLA
first_layer_bed_temperature = 50
first_layer_temperature = 175
max_fan_speed = 70
min_fan_speed = 70
temperature = 175
filament_vendor = Wax-Alike
# AzteQ filaments #
[filament:*AzteQ common*]
@ -1211,6 +1268,47 @@ inherits = AzteQ Industrial - ABS - ExtraFill (Fillamentum)
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 15
[filament:AzteQ Industrial - PC/ABS - (Fillamentum)]
inherits = AzteQ Industrial - ABS - Generic
filament_vendor = Fillamentum
filament_type = PCABS
filament_cost = 1324
filament_density = 1.07
bed_temperature = 100
filament_retract_length = 4.0
first_layer_bed_temperature = 100
first_layer_temperature = 265
max_fan_speed = 50
min_fan_speed = 50
start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S75 ; Set and wait - chamber temperature"
temperature = 265
filament_notes = "S180 ; Probing temperature"
[filament:AzteQ Industrial - PC/ABS - (Fillamentum) @0.6 nozzle]
inherits = AzteQ Industrial - PC/ABS - (Fillamentum)
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 15
[filament:AzteQ Industrial - PC - PolyMax (Polymaker)]
inherits = AzteQ Industrial - ABS - Generic
filament_vendor = Polymaker
filament_cost = 1290
filament_density = 1.21
bed_temperature = 100
filament_retract_length = 4.0
first_layer_bed_temperature = 100
first_layer_temperature = 265
max_fan_speed = 50
min_fan_speed = 50
start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S75 ; Set and wait - chamber temperature"
temperature = 265
filament_notes = "S180 ; Probing temperature"
[filament:AzteQ Industrial - PC - PolyMax (Polymaker) @0.6 nozzle]
inherits = AzteQ Industrial - PC - PolyMax (Polymaker)
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 15
[filament:AzteQ Industrial - ASA - Generic]
inherits = *AzteQ common*
bed_temperature = 100
@ -1245,7 +1343,7 @@ max_fan_speed = 75
min_fan_speed = 50
min_print_speed = 10
slowdown_below_layer_time = 5
start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S75 ; Set and wait - chamber temperature"
start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S50 ; Set and wait - chamber temperature"
temperature = 265
[filament:AzteQ Industrial - ASA - Generic @0.6 nozzle]
@ -1256,6 +1354,10 @@ filament_max_volumetric_speed = 15
[filament:AzteQ Industrial - ASA - ExtraFill (Fillamentum)]
inherits = AzteQ Industrial - ASA - Generic
filament_vendor = Fillamentum
first_layer_temperature = 255
temperature = 255
max_fan_speed = 80
min_fan_speed = 60
[filament:AzteQ Industrial - ASA - ExtraFill (Fillamentum) @0.6 nozzle]
inherits = AzteQ Industrial - ASA - ExtraFill (Fillamentum)
@ -1268,11 +1370,11 @@ filament_cost = 680
filament_density = 1.07
filament_spool_weight = 0
filament_vendor = Prusa
first_layer_temperature = 255
max_fan_speed = 100
min_fan_speed = 95
first_layer_temperature = 260
max_fan_speed = 70
min_fan_speed = 70
start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S50 ; Set and wait - chamber temperature"
temperature = 255
temperature = 260
[filament:AzteQ Industrial - ASA - Prusament (Prusa) @0.6 nozzle]
inherits = AzteQ Industrial - ASA - Prusament (Prusa)
@ -1325,6 +1427,52 @@ inherits = AzteQ Industrial - PA - Nylon PA12 (Fiberlogy)
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 15
[filament:AzteQ Industrial - PA - Nylon FX256 (Fillamentum)]
inherits = *AzteQ common*
bed_temperature = 100
bridge_fan_speed = 100
cooling = 1
disable_fan_first_layers = 3
extrusion_multiplier = 1
fan_always_on = 1
fan_below_layer_time = 20
filament_cost = 1565
filament_density = 1.01
filament_deretract_speed = nil
filament_max_volumetric_speed = 8
filament_retract_before_travel = 3
filament_retract_before_wipe = 70%
filament_retract_layer_change = 1
filament_retract_length = 6.1
filament_retract_lift = 0.2
filament_retract_lift_above = nil
filament_retract_lift_below = nil
filament_retract_restart_extra = nil
filament_retract_speed = 25
filament_soluble = 0
filament_spool_weight = 0
filament_toolchange_delay = 0
filament_type = NYLON
filament_unload_time = 0
filament_unloading_speed = 90
filament_unloading_speed_start = 100
filament_vendor = Fillamentum
filament_wipe = 1
first_layer_bed_temperature = 100
first_layer_temperature = 255
full_fan_speed_layer = 0
max_fan_speed = 85
min_fan_speed = 50
min_print_speed = 10
slowdown_below_layer_time = 5
start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S60 ; Set and wait - chamber temperature"
temperature = 255
[filament:AzteQ Industrial - PA - Nylon FX256 (Fillamentum) @0.6 nozzle]
inherits = AzteQ Industrial - PA - Nylon FX256 (Fillamentum)
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 15
[filament:AzteQ Industrial - PC Blend - Prusament (Prusa)]
inherits = *AzteQ common*
bed_temperature = 100
@ -1353,19 +1501,22 @@ filament_type = PC
filament_vendor = Prusa
filament_wipe = 1
first_layer_bed_temperature = 100
first_layer_temperature = 275
first_layer_temperature = 270
full_fan_speed_layer = 0
max_fan_speed = 50
min_fan_speed = 30
min_print_speed = 10
slowdown_below_layer_time = 5
start_filament_gcode = "; FILAMENT_START_GCODE\nM191 S75 ; Set and wait - chamber temperature"
temperature = 275
temperature = 270
filament_notes = "S180 ; Probing temperature"
[filament:AzteQ Industrial - PC Blend - Prusament (Prusa) @0.6 nozzle]
inherits = AzteQ Industrial - PC Blend - Prusament (Prusa)
compatible_printers_condition = printer_notes=~/.*PRINTER_VENDOR_TRILAB.*/ and printer_notes=~/.*PRINTER_MODEL_AQI.*/ and nozzle_diameter[0]==0.6
filament_max_volumetric_speed = 15
# DeltiQ Printer #
@ -1581,7 +1732,7 @@ retract_lift_below = 0
retract_restart_extra = 0
retract_restart_extra_toolchange = 0
retract_speed = 30
start_gcode = ; START_GCODE\nT0\nM220 S100 ; Set feedmultiply back to 100 percent\nG90 ; Absolute positioning for motion\nM83 ; Relative extruder\nM107 ; Layer fan off\n\nM140 S[first_layer_bed_temperature] ; Set and continue - bed temperature\n[start_filament_gcode]\nM104 S150 ; Set and continue - hotend probing temperature\nM190 S[first_layer_bed_temperature] ; Set and wait - bed temperature\nM109 S150 ; Set and wait - hotend probing temperature\n\nG28 ; Home all axes\nG32 ; Probe Z and calculate Z plane\nG29 ; Mesh bed probe\n\nM104 S[first_layer_temperature] ; Set and continue - printing temperature\n\nG1009 ; Purge hotend\nG92 E0 ; Zero extruder
start_gcode = ; START_GCODE\nT0\nM220 S100 ; Set feedmultiply back to 100 percent\nG90 ; Absolute positioning for motion\nM83 ; Relative extruder\nM107 ; Layer fan off\n\nM140 S[first_layer_bed_temperature] ; Set and continue - bed temperature\nM104 S150 ; Set and continue - hotend probing temperature\n[start_filament_gcode]\nM190 S[first_layer_bed_temperature] ; Set and wait - bed temperature\nM109 [filament_notes] ; Set and wait for material specific hotend probing temperature\n\nG28 ; Home all axes\nG32 ; Probe Z and calculate Z plane\nG29 ; Mesh bed probe\n\nM104 S[first_layer_temperature] ; Set and continue - printing temperature\n\nG1009 ; Purge hotend\nG92 E0 ; Zero extruder
wipe = 1
[printer:AzteQ Industrial]

View file

@ -43,6 +43,10 @@ const std::string AppConfig::SECTION_MATERIALS = "sla_materials";
void AppConfig::reset()
{
m_storage.clear();
m_vendors.clear();
m_dirty = false;
m_orig_version = Semver::invalid();
m_legacy_datadir = false;
set_defaults();
};
@ -243,8 +247,10 @@ static bool verify_config_file_checksum(boost::nowide::ifstream &ifs)
}
#endif
std::string AppConfig::load()
std::string AppConfig::load(const std::string &path)
{
this->reset();
// 1) Read the complete config file into a boost::property_tree.
namespace pt = boost::property_tree;
pt::ptree tree;
@ -252,11 +258,11 @@ std::string AppConfig::load()
bool recovered = false;
try {
ifs.open(AppConfig::loading_path());
ifs.open(path);
#ifdef WIN32
// Verify the checksum of the config file without taking just for debugging purpose.
if (!verify_config_file_checksum(ifs))
BOOST_LOG_TRIVIAL(info) << "The configuration file " << AppConfig::loading_path() <<
BOOST_LOG_TRIVIAL(info) << "The configuration file " << path <<
" has a wrong MD5 checksum or the checksum is missing. This may indicate a file corruption or a harmless user edit.";
ifs.seekg(0, boost::nowide::ifstream::beg);
@ -266,32 +272,32 @@ std::string AppConfig::load()
#ifdef WIN32
// The configuration file is corrupted, try replacing it with the backup configuration.
ifs.close();
std::string backup_path = (boost::format("%1%.bak") % AppConfig::loading_path()).str();
std::string backup_path = (boost::format("%1%.bak") % path).str();
if (boost::filesystem::exists(backup_path)) {
// Compute checksum of the configuration backup file and try to load configuration from it when the checksum is correct.
boost::nowide::ifstream backup_ifs(backup_path);
if (!verify_config_file_checksum(backup_ifs)) {
BOOST_LOG_TRIVIAL(error) << format("Both \"%1%\" and \"%2%\" are corrupted. It isn't possible to restore configuration from the backup.", AppConfig::loading_path(), backup_path);
BOOST_LOG_TRIVIAL(error) << format("Both \"%1%\" and \"%2%\" are corrupted. It isn't possible to restore configuration from the backup.", path, backup_path);
backup_ifs.close();
boost::filesystem::remove(backup_path);
} else if (std::string error_message; copy_file(backup_path, AppConfig::loading_path(), error_message, false) != SUCCESS) {
BOOST_LOG_TRIVIAL(error) << format("Configuration file \"%1%\" is corrupted. Failed to restore from backup \"%2%\": %3%", AppConfig::loading_path(), backup_path, error_message);
} else if (std::string error_message; copy_file(backup_path, path, error_message, false) != SUCCESS) {
BOOST_LOG_TRIVIAL(error) << format("Configuration file \"%1%\" is corrupted. Failed to restore from backup \"%2%\": %3%", path, backup_path, error_message);
backup_ifs.close();
boost::filesystem::remove(backup_path);
} else {
BOOST_LOG_TRIVIAL(info) << format("Configuration file \"%1%\" was corrupted. It has been succesfully restored from the backup \"%2%\".", AppConfig::loading_path(), backup_path);
BOOST_LOG_TRIVIAL(info) << format("Configuration file \"%1%\" was corrupted. It has been succesfully restored from the backup \"%2%\".", path, backup_path);
// Try parse configuration file after restore from backup.
try {
ifs.open(AppConfig::loading_path());
ifs.open(path);
pt::read_ini(ifs, tree);
recovered = true;
} catch (pt::ptree_error& ex) {
BOOST_LOG_TRIVIAL(info) << format("Failed to parse configuration file \"%1%\" after it has been restored from backup: %2%", AppConfig::loading_path(), ex.what());
BOOST_LOG_TRIVIAL(info) << format("Failed to parse configuration file \"%1%\" after it has been restored from backup: %2%", path, ex.what());
}
}
} else
#endif // WIN32
BOOST_LOG_TRIVIAL(info) << format("Failed to parse configuration file \"%1%\": %2%", AppConfig::loading_path(), ex.what());
BOOST_LOG_TRIVIAL(info) << format("Failed to parse configuration file \"%1%\": %2%", path, ex.what());
if (! recovered) {
// Report the initial error of parsing PrusaSlicer.ini.
// Error while parsing config file. We'll customize the error message and rethrow to be displayed.
@ -367,6 +373,11 @@ std::string AppConfig::load()
return "";
}
std::string AppConfig::load()
{
return this->load(AppConfig::config_path());
}
void AppConfig::save()
{
{

View file

@ -22,10 +22,7 @@ public:
};
explicit AppConfig(EAppMode mode) :
m_dirty(false),
m_orig_version(Semver::invalid()),
m_mode(mode),
m_legacy_datadir(false)
m_mode(mode)
{
this->reset();
}
@ -38,6 +35,8 @@ public:
// Load the slic3r.ini from a user profile directory (or a datadir, if configured).
// return error string or empty strinf
std::string load();
// Load from an explicit path.
std::string load(const std::string &path);
// Store the slic3r.ini into a user profile directory (or a datadir, if configured).
void save();
@ -148,9 +147,6 @@ public:
// Does the config file exist?
bool exists();
void set_loading_path(const std::string& path) { m_loading_path = path; }
std::string loading_path() { return (m_loading_path.empty() ? config_path() : m_loading_path); }
std::vector<std::string> get_recent_projects() const;
void set_recent_projects(const std::vector<std::string>& recent_projects);
@ -199,8 +195,6 @@ private:
Semver m_orig_version;
// Whether the existing version is before system profiles & configuration updating
bool m_legacy_datadir;
std::string m_loading_path;
};
} // namespace Slic3r

View file

@ -731,34 +731,50 @@ static bool need_wipe(const GCode &gcodegen,
}
// Adds points around all vertices so that the offset affects only small sections around these vertices.
static void resample_polygon(Polygon &polygon, double dist_from_vertex)
static void resample_polygon(Polygon &polygon, double dist_from_vertex, double max_allowed_distance)
{
Points resampled_poly;
resampled_poly.reserve(3 * polygon.size());
resampled_poly.emplace_back(polygon.first_point());
for (size_t pt_idx = 1; pt_idx < polygon.size(); ++pt_idx) {
const Point &p1 = polygon[pt_idx - 1];
const Point &p2 = polygon[pt_idx];
double line_length = (p2 - p1).cast<double>().norm();
Vector line_vec = ((p2 - p1).cast<double>().normalized() * dist_from_vertex).cast<coord_t>();
if (line_length > 2 * dist_from_vertex) {
resampled_poly.emplace_back(p1 + line_vec);
resampled_poly.emplace_back(p2 - line_vec);
}
for (size_t pt_idx = 0; pt_idx < polygon.size(); ++pt_idx) {
resampled_poly.emplace_back(polygon[pt_idx]);
const Point &p1 = polygon[pt_idx];
const Point &p2 = polygon[next_idx_modulo(pt_idx, polygon.size())];
const Vec2d line_vec = (p2 - p1).cast<double>();
double line_length = line_vec.norm();
const Vector vertex_offset_vec = (line_vec.normalized() * dist_from_vertex).cast<coord_t>();
if (line_length > 2 * dist_from_vertex && vertex_offset_vec != Vector(0, 0)) {
resampled_poly.emplace_back(p1 + vertex_offset_vec);
const Vec2d new_vertex_vec = (p2 - p1 - 2 * vertex_offset_vec).cast<double>();
const double new_vertex_vec_length = new_vertex_vec.norm();
if (new_vertex_vec_length > max_allowed_distance) {
const Vec2d &prev_point = resampled_poly.back().cast<double>();
const size_t parts_count = size_t(ceil(new_vertex_vec_length / max_allowed_distance));
for (size_t part_idx = 1; part_idx < parts_count; ++part_idx) {
const double part_param = double(part_idx) / double(parts_count);
const Vec2d new_point = prev_point + new_vertex_vec * part_param;
resampled_poly.emplace_back(new_point.cast<coord_t>());
}
}
resampled_poly.emplace_back(p2 - vertex_offset_vec);
}
}
polygon.points = std::move(resampled_poly);
}
static void resample_expolygon(ExPolygon &ex_polygon, double dist_from_vertex)
static void resample_expolygon(ExPolygon &ex_polygon, double dist_from_vertex, double max_allowed_distance)
{
resample_polygon(ex_polygon.contour, dist_from_vertex);
for (Polygon &polygon : ex_polygon.holes) resample_polygon(polygon, dist_from_vertex);
resample_polygon(ex_polygon.contour, dist_from_vertex, max_allowed_distance);
for (Polygon &polygon : ex_polygon.holes)
resample_polygon(polygon, dist_from_vertex, max_allowed_distance);
}
static void resample_expolygons(ExPolygons &ex_polygons, double dist_from_vertex)
static void resample_expolygons(ExPolygons &ex_polygons, double dist_from_vertex, double max_allowed_distance)
{
for (ExPolygon &ex_poly : ex_polygons) resample_expolygon(ex_poly, dist_from_vertex);
for (ExPolygon &ex_poly : ex_polygons)
resample_expolygon(ex_poly, dist_from_vertex, max_allowed_distance);
}
static void precompute_polygon_distances(const Polygon &polygon, std::vector<float> &polygon_distances_out)
@ -834,7 +850,7 @@ static std::vector<float> contour_distance(const EdgeGrid::Grid &grid,
double param_end = boundary_parameters.back();
const size_t ipt = it_contour_and_segment->second;
if (contour.begin() + ipt + 1 < contour.end())
param_hi += boundary_parameters[ipt > 0 ? ipt - 1 : 0];
param_hi += boundary_parameters[ipt];
if (param_lo > param_hi)
std::swap(param_lo, param_hi);
assert(param_lo > -SCALED_EPSILON && param_lo <= param_end + SCALED_EPSILON);
@ -932,7 +948,7 @@ static ExPolygons inner_offset(const ExPolygons &ex_polygons, double offset)
double min_contour_width = 2. * offset + SCALED_EPSILON;
double search_radius = 2. * (offset + min_contour_width);
ExPolygons ex_poly_result = ex_polygons;
resample_expolygons(ex_poly_result, offset / 2);
resample_expolygons(ex_poly_result, offset / 2, scaled<double>(0.5));
for (ExPolygon &ex_poly : ex_poly_result) {
BoundingBox bbox(get_extents(ex_poly));
@ -1034,24 +1050,30 @@ static Polygons get_boundary_external(const Layer &layer)
#endif
// Collect all holes for all printed objects and their instances, which will be printed at the same time as passed "layer".
for (const PrintObject *object : layer.object()->print()->objects()) {
Polygons polygons_per_obj;
Polygons holes_per_obj;
#ifdef INCLUDE_SUPPORTS_IN_BOUNDARY
ExPolygons supports_per_obj;
#endif
if (const Layer *l = object->get_layer_at_printz(layer.print_z, EPSILON); l)
for (const ExPolygon &island : l->lslices) append(polygons_per_obj, island.holes);
for (const ExPolygon &island : l->lslices)
append(holes_per_obj, island.holes);
if (support_layer) {
auto *layer_below = object->get_first_layer_bellow_printz(layer.print_z, EPSILON);
if (layer_below)
for (const ExPolygon &island : layer_below->lslices) append(polygons_per_obj, island.holes);
for (const ExPolygon &island : layer_below->lslices)
append(holes_per_obj, island.holes);
#ifdef INCLUDE_SUPPORTS_IN_BOUNDARY
append(supports_per_obj, support_layer->support_islands.expolygons);
#endif
}
// After 7ff76d07684858fd937ef2f5d863f105a10f798e, when expand is called on CW polygons (holes), they are shrunk
// instead of expanded because union that makes CCW from CW isn't called anymore. So let's make it CCW.
polygons_reverse(holes_per_obj);
for (const PrintInstance &instance : object->instances()) {
size_t boundary_idx = boundary.size();
append(boundary, polygons_per_obj);
append(boundary, holes_per_obj);
for (; boundary_idx < boundary.size(); ++boundary_idx)
boundary[boundary_idx].translate(instance.shift);
#ifdef INCLUDE_SUPPORTS_IN_BOUNDARY

View file

@ -1391,7 +1391,7 @@ const Preset* PrinterPresetCollection::find_system_preset_by_model_and_variant(c
bool PrinterPresetCollection::only_default_printers() const
{
for (const auto& printer : get_presets()) {
if (!boost::starts_with(printer.name,"- default"))
if (! printer.is_default)
return false;
}
return true;

View file

@ -209,18 +209,34 @@ static void copy_dir(const boost::filesystem::path& from_dir, const boost::files
}
}
void PresetBundle::copy_files(const std::string& from)
// Import newer configuration from alternate PrusaSlicer configuration directory.
// AppConfig from the alternate location is already loaded.
// User profiles are being merged (old files are not being deleted),
// while old vendors and cache folders are being deleted before newer are copied.
void PresetBundle::import_newer_configs(const std::string& from)
{
boost::filesystem::path data_dir = boost::filesystem::path(Slic3r::data_dir());
// Clean-up vendors from the target directory, as the existing vendors will not be referenced
// by the copied PrusaSlicer.ini
try {
boost::filesystem::remove_all(data_dir / "cache");
} catch (const std::exception &ex) {
BOOST_LOG_TRIVIAL(error) << "Error deleting old cache " << (data_dir / "cache").string() << ": " << ex.what();
}
try {
boost::filesystem::remove_all(data_dir / "vendor");
} catch (const std::exception &ex) {
BOOST_LOG_TRIVIAL(error) << "Error deleting old vendors " << (data_dir / "vendor").string() << ": " << ex.what();
}
// list of searched paths based on current directory system in setup_directories()
// do not copy cache and snapshots
boost::filesystem::path from_data_dir = boost::filesystem::path(from);
std::initializer_list<boost::filesystem::path> from_dirs= {
from_data_dir / "cache",
from_data_dir / "vendor",
from_data_dir / "shapes",
#ifdef SLIC3R_PROFILE_USE_PRESETS_SUBDIR
// Store the print/filament/printer presets into a "presets" directory.
data_dir / "presets",
data_dir / "presets" / "print",
data_dir / "presets" / "filament",
data_dir / "presets" / "sla_print",
@ -1235,11 +1251,13 @@ std::pair<PresetsConfigSubstitutions, size_t> PresetBundle::load_configbundle(
// 1) Read the complete config file into a boost::property_tree.
namespace pt = boost::property_tree;
pt::ptree tree;
boost::nowide::ifstream ifs(path);
try {
pt::read_ini(ifs, tree);
} catch (const boost::property_tree::ini_parser::ini_parser_error &err) {
throw Slic3r::RuntimeError(format("Failed loading config bundle \"%1%\"\nError: \"%2%\" at line %3%", path, err.message(), err.line()).c_str());
{
boost::nowide::ifstream ifs(path);
try {
pt::read_ini(ifs, tree);
} catch (const boost::property_tree::ini_parser::ini_parser_error &err) {
throw Slic3r::RuntimeError(format("Failed loading config bundle \"%1%\"\nError: \"%2%\" at line %3%", path, err.message(), err.line()).c_str());
}
}
const VendorProfile *vendor_profile = nullptr;

View file

@ -24,7 +24,7 @@ public:
void reset(bool delete_files);
void setup_directories();
void copy_files(const std::string& from);
void import_newer_configs(const std::string& from);
struct PresetPreferences {
std::string printer_model_id;// name of a preferred printer model

View file

@ -586,10 +586,12 @@ const Snapshot* take_config_snapshot_report_error(const AppConfig &app_config, S
}
}
bool take_config_snapshot_cancel_on_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment, const std::string &message)
bool take_config_snapshot_cancel_on_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment, const std::string &message, Snapshot const **psnapshot)
{
try {
SnapshotDB::singleton().take_snapshot(app_config, reason, comment);
const Snapshot *snapshot = &SnapshotDB::singleton().take_snapshot(app_config, reason, comment);
if (psnapshot)
*psnapshot = snapshot;
return true;
} catch (std::exception &err) {
RichMessageDialog dlg(static_cast<wxWindow*>(wxGetApp().mainframe),

View file

@ -132,7 +132,7 @@ const Snapshot* take_config_snapshot_report_error(const AppConfig &app_config, S
// Take snapshot on SnapshotDB::singleton(). If taking snapshot fails, report "message", and present a "Continue" or "Abort" buttons to respond.
// Return true on success and on "Continue" to continue with the process (for example installation of presets).
bool take_config_snapshot_cancel_on_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment, const std::string &message);
bool take_config_snapshot_cancel_on_error(const AppConfig &app_config, Snapshot::Reason reason, const std::string &comment, const std::string &message, Snapshot const **psnapshot = nullptr);
} // namespace Config
} // namespace GUI

View file

@ -1869,6 +1869,12 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re
// updates volumes transformations
volume->set_instance_transformation(mvs->model_volume->get_object()->instances[mvs->composite_id.instance_id]->get_transformation());
volume->set_volume_transformation(mvs->model_volume->get_transformation());
// updates volumes convex hull
if (mvs->model_volume->is_model_part() && ! volume->convex_hull())
// Model volume was likely changed from modifier or support blocker / enforcer to a model part.
// Only model parts require convex hulls.
volume->set_convex_hull(mvs->model_volume->get_convex_hull_shared_ptr());
}
}
}

View file

@ -862,9 +862,9 @@ static boost::optional<Semver> parse_semver_from_ini(std::string path)
void GUI_App::init_app_config()
{
// Profiles for the alpha are stored into the PrusaSlicer-alpha directory to not mix with the current release.
// SetAppName(SLIC3R_APP_KEY);
SetAppName(SLIC3R_APP_KEY);
// SetAppName(SLIC3R_APP_KEY "-alpha");
SetAppName(SLIC3R_APP_KEY "-beta");
// SetAppName(SLIC3R_APP_KEY "-beta");
// SetAppDisplayName(SLIC3R_APP_NAME);
// Set the Slic3r data directory at the Slic3r XS module.
@ -909,17 +909,18 @@ void GUI_App::init_app_config()
"\n\n" + app_config->config_path() + "\n\n" + error);
}
}
// Save orig_version here, so its empty if no app_config existed before this run.
m_last_config_version = app_config->orig_version();//parse_semver_from_ini(app_config->config_path());
}
}
// returns true if found newer version and user agreed to use it
bool GUI_App::check_older_app_config(Semver current_version, bool backup)
// returns old config path to copy from if such exists,
// returns an empty string if such config path does not exists or if it cannot be loaded.
std::string GUI_App::check_older_app_config(Semver current_version, bool backup)
{
std::string older_data_dir_path;
// If the config folder is redefined - do not check
if (m_datadir_redefined)
return false;
return {};
// find other version app config (alpha / beta / release)
std::string config_path = app_config->config_path();
@ -940,13 +941,13 @@ bool GUI_App::check_older_app_config(Semver current_version, bool backup)
boost::optional<Semver>other_semver = parse_semver_from_ini(candidate.string());
if (other_semver && *other_semver > last_semver) {
last_semver = *other_semver;
m_older_data_dir_path = candidate.parent_path().string();
older_data_dir_path = candidate.parent_path().string();
}
}
}
if (m_older_data_dir_path.empty())
return false;
BOOST_LOG_TRIVIAL(info) << "last app config file used: " << m_older_data_dir_path;
if (older_data_dir_path.empty())
return {};
BOOST_LOG_TRIVIAL(info) << "last app config file used: " << older_data_dir_path;
// ask about using older data folder
InfoDialog msg(nullptr
@ -959,13 +960,13 @@ bool GUI_App::check_older_app_config(Semver current_version, bool backup)
"\n\nShall the newer configuration be imported?"
"\nIf so, your active configuration will be backed up before importing the new configuration."
)
, SLIC3R_APP_NAME, current_version.to_string(), m_older_data_dir_path, last_semver.to_string())
, SLIC3R_APP_NAME, current_version.to_string(), older_data_dir_path, last_semver.to_string())
: format_wxstr(_L(
"An existing configuration was found in <b>%3%</b>"
"\ncreated by <b>%1% %2%</b>."
"\n\nShall this configuration be imported?"
)
, SLIC3R_APP_NAME, last_semver.to_string(), m_older_data_dir_path)
, SLIC3R_APP_NAME, last_semver.to_string(), older_data_dir_path)
, true, wxYES_NO);
if (backup) {
@ -976,24 +977,21 @@ bool GUI_App::check_older_app_config(Semver current_version, bool backup)
if (msg.ShowModal() == wxID_YES) {
std::string snapshot_id;
if (backup) {
// configuration snapshot
std::string comment;
if (const Config::Snapshot* snapshot = Config::take_config_snapshot_report_error(
*app_config,
Config::Snapshot::SNAPSHOT_USER,
comment);
snapshot != nullptr)
// Is thos correct? Save snapshot id for later, when new app config is loaded.
const Config::Snapshot* snapshot{ nullptr };
if (! GUI::Config::take_config_snapshot_cancel_on_error(*app_config, Config::Snapshot::SNAPSHOT_USER, "",
_u8L("Continue and import newer configuration?"), &snapshot))
return {};
if (snapshot) {
// Save snapshot ID before loading the alternate AppConfig, as loading the alternate AppConfig may fail.
snapshot_id = snapshot->id;
else
BOOST_LOG_TRIVIAL(error) << "Failed to take congiguration snapshot: ";
assert(! snapshot_id.empty());
app_config->set("on_snapshot", snapshot_id);
} else
BOOST_LOG_TRIVIAL(error) << "Failed to take congiguration snapshot";
}
// This will tell later (when config folder structure is sure to exists) to copy files from m_older_data_dir_path
m_init_app_config_from_older = true;
// load app config from older file
app_config->set_loading_path((boost::filesystem::path(m_older_data_dir_path) / filename).string());
std::string error = app_config->load();
std::string error = app_config->load((boost::filesystem::path(older_data_dir_path) / filename).string());
if (!error.empty()) {
// Error while parsing config file. We'll customize the error message and rethrow to be displayed.
if (is_editor()) {
@ -1012,14 +1010,9 @@ bool GUI_App::check_older_app_config(Semver current_version, bool backup)
if (!snapshot_id.empty())
app_config->set("on_snapshot", snapshot_id);
m_app_conf_exists = true;
return true;
return older_data_dir_path;
}
return false;
}
void GUI_App::copy_older_config()
{
preset_bundle->copy_files(m_older_data_dir_path);
return {};
}
void GUI_App::init_single_instance_checker(const std::string &name, const std::string &path)
@ -1085,6 +1078,42 @@ bool GUI_App::on_init_inner()
// Slic3r::debugf "wxWidgets version %s, Wx version %s\n", wxVERSION_STRING, wxVERSION;
// !!! Initialization of UI settings as a language, application color mode, fonts... have to be done before first UI action.
// Like here, before the show InfoDialog in check_older_app_config()
// If load_language() fails, the application closes.
load_language(wxString(), true);
#ifdef _MSW_DARK_MODE
bool init_dark_color_mode = app_config->get("dark_color_mode") == "1";
bool init_sys_menu_enabled = app_config->get("sys_menu_enabled") == "1";
NppDarkMode::InitDarkMode(init_dark_color_mode, init_sys_menu_enabled);
#endif
// initialize label colors and fonts
init_label_colours();
init_fonts();
std::string older_data_dir_path;
if (m_app_conf_exists) {
if (app_config->orig_version().valid() && app_config->orig_version() < *Semver::parse(SLIC3R_VERSION))
// Only copying configuration if it was saved with a newer slicer than the one currently running.
older_data_dir_path = check_older_app_config(app_config->orig_version(), true);
} else {
// No AppConfig exists, fresh install. Always try to copy from an alternate location, don't make backup of the current configuration.
older_data_dir_path = check_older_app_config(Semver(), false);
}
#ifdef _MSW_DARK_MODE
// app_config can be updated in check_older_app_config(), so check if dark_color_mode and sys_menu_enabled was changed
if (bool new_dark_color_mode = app_config->get("dark_color_mode") == "1";
init_dark_color_mode != new_dark_color_mode) {
NppDarkMode::SetDarkMode(new_dark_color_mode);
init_label_colours();
update_label_colours_from_appconfig();
}
if (bool new_sys_menu_enabled = app_config->get("sys_menu_enabled") == "1";
init_sys_menu_enabled != new_sys_menu_enabled)
NppDarkMode::SetSystemMenuForApp(new_sys_menu_enabled);
#endif
if (is_editor()) {
std::string msg = Http::tls_global_init();
@ -1106,24 +1135,6 @@ bool GUI_App::on_init_inner()
}
}
// Set language and color mode before check_older_app_config() call
// If load_language() fails, the application closes.
load_language(wxString(), true);
#ifdef _MSW_DARK_MODE
NppDarkMode::InitDarkMode(app_config->get("dark_color_mode") == "1", app_config->get("sys_menu_enabled") == "1");
#endif
if (m_last_config_version) {
if (*m_last_config_version < *Semver::parse(SLIC3R_VERSION))
check_older_app_config(*m_last_config_version, true);
} else {
check_older_app_config(Semver(), false);
}
app_config->set("version", SLIC3R_VERSION);
app_config->save();
SplashScreen* scrn = nullptr;
if (app_config->get("show_splash_screen") == "1") {
// make a bitmap with dark grey banner on the left side
@ -1152,10 +1163,13 @@ bool GUI_App::on_init_inner()
// just checking for existence of Slic3r::data_dir is not enough : it may be an empty directory
// supplied as argument to --datadir; in that case we should still run the wizard
preset_bundle->setup_directories();
if (m_init_app_config_from_older)
copy_older_config();
if (! older_data_dir_path.empty())
preset_bundle->import_newer_configs(older_data_dir_path);
// Save PrusaSlicer.ini after possibly copying the config from the alternate location and after all the configs from the alternate location were copied.
app_config->set("version", SLIC3R_VERSION);
app_config->save();
if (is_editor()) {
#ifdef __WXMSW__
@ -1204,10 +1218,6 @@ bool GUI_App::on_init_inner()
#endif // __WXMSW__
}
// initialize label colors and fonts
init_label_colours();
init_fonts();
// Suppress the '- default -' presets.
preset_bundle->set_default_suppressed(app_config->get("no_defaults") == "1");
try {
@ -1708,6 +1718,7 @@ void GUI_App::force_colors_update()
if (WXHWND wxHWND = wxToolTip::GetToolTipCtrl())
NppDarkMode::SetDarkExplorerTheme((HWND)wxHWND);
NppDarkMode::SetDarkTitleBar(mainframe->GetHWND());
NppDarkMode::SetDarkTitleBar(mainframe->m_settings_dialog.GetHWND());
#endif //_MSW_DARK_MODE
m_force_colors_update = true;
}
@ -1727,6 +1738,14 @@ void GUI_App::update_ui_from_settings()
mainframe->printhost_queue_dlg()->force_color_changed();
#ifdef _MSW_DARK_MODE
update_scrolls(mainframe);
if (mainframe->is_dlg_layout()) {
// update for tabs bar
UpdateDarkUI(&mainframe->m_settings_dialog);
mainframe->m_settings_dialog.Fit();
mainframe->m_settings_dialog.Refresh();
// update scrollbars
update_scrolls(&mainframe->m_settings_dialog);
}
#endif //_MSW_DARK_MODE
}
#endif

View file

@ -341,8 +341,9 @@ public:
private:
bool on_init_inner();
void init_app_config();
bool check_older_app_config(Semver current_version, bool backup);
void copy_older_config();
// returns old config path to copy from if such exists,
// returns an empty string if such config path does not exists or if it cannot be loaded.
std::string check_older_app_config(Semver current_version, bool backup);
void window_pos_save(wxTopLevelWindow* window, const std::string &name);
void window_pos_restore(wxTopLevelWindow* window, const std::string &name, bool default_maximized = false);
void window_pos_sanitize(wxTopLevelWindow* window);
@ -351,10 +352,7 @@ private:
bool config_wizard_startup();
void check_updates(const bool verbose);
bool m_init_app_config_from_older { false };
bool m_datadir_redefined { false };
std::string m_older_data_dir_path;
boost::optional<Semver> m_last_config_version;
bool m_datadir_redefined { false };
};
DECLARE_APP(GUI_App)

View file

@ -1398,6 +1398,8 @@ void ObjectList::load_subobject(ModelVolumeType type, bool from_galery/* = false
if (m_objects_model->GetItemType(item)&itInstance)
item = m_objects_model->GetItemById(obj_idx);
take_snapshot((type == ModelVolumeType::MODEL_PART) ? _L("Load Part") : _L("Load Modifier"));
std::vector<ModelVolume*> volumes;
// ! ysFIXME - delete commented code after testing and rename "load_modifier" to something common
/*
@ -1409,8 +1411,6 @@ void ObjectList::load_subobject(ModelVolumeType type, bool from_galery/* = false
if (volumes.empty())
return;
take_snapshot((type == ModelVolumeType::MODEL_PART) ? _L("Load Part") : _L("Load Modifier"));
wxDataViewItemArray items = reorder_volumes_and_get_selection(obj_idx, [volumes](const ModelVolume* volume) {
return std::find(volumes.begin(), volumes.end(), volume) != volumes.end(); });

View file

@ -131,7 +131,11 @@ static void add_msg_content(wxWindow* parent, wxBoxSizer* content_sizer, wxStrin
wxFont font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
wxFont monospace = wxGetApp().code_font();
#ifdef _WIN32
wxColour text_clr = wxGetApp().get_label_clr_default();
#else
wxColour text_clr = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOWTEXT);
#endif
wxColour bgr_clr = parent->GetBackgroundColour(); //wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
auto text_clr_str = wxString::Format(wxT("#%02X%02X%02X"), text_clr.Red(), text_clr.Green(), text_clr.Blue());
auto bgr_clr_str = wxString::Format(wxT("#%02X%02X%02X"), bgr_clr.Red(), bgr_clr.Green(), bgr_clr.Blue());
@ -143,6 +147,20 @@ static void add_msg_content(wxWindow* parent, wxBoxSizer* content_sizer, wxStrin
// calculate html page size from text
wxSize page_size;
int em = wxGetApp().em_unit();
if (!wxGetApp().mainframe) {
// If mainframe is nullptr, it means that GUI_App::on_init_inner() isn't completed
// (We just show information dialog about configuration version now)
// And as a result the em_unit value wasn't created yet
// So, calculate it from the scale factor of Dialog
#if defined(__WXGTK__)
// Linux specific issue : get_dpi_for_window(this) still doesn't responce to the Display's scale in new wxWidgets(3.1.3).
// So, initialize default width_unit according to the width of the one symbol ("m") of the currently active font of this window.
em = std::max<size_t>(10, parent->GetTextExtent("m").x - 1);
#else
double scale_factor = (double)get_dpi_for_window(parent) / (double)DPI_DEFAULT;
em = std::max<size_t>(10, 10.0f * scale_factor);
#endif // __WXGTK__
}
// if message containes the table
if (msg.Contains("<tr>")) {

View file

@ -1769,14 +1769,13 @@ void TabPrint::update()
// Note: This workaround works till "support_material" and "overhangs" is exclusive sets of mutually no-exclusive parameters.
// But it should be corrected when we will have more such sets.
// Disable check of the compatibility of the "support_material" and "overhangs" options for saved user profile
// or for profile which was loaded from 3mf
// if (!m_config_manipulation.is_initialized_support_material_overhangs_queried())
if (bool support_material_overhangs_queried = m_config->opt_bool("support_material") && !m_config->opt_bool("overhangs"))
// NOTE: Initialization of the support_material_overhangs_queried value have to be processed just ones
if (!m_config_manipulation.is_initialized_support_material_overhangs_queried())
{
const Preset& selected_preset = m_preset_bundle->prints.get_selected_preset();
bool is_user_and_saved_preset = !selected_preset.is_system && !selected_preset.is_dirty;
bool is_saved_in_3mf_preset = selected_preset.is_dirty && !wxGetApp().plater()->is_presets_dirty();
m_config_manipulation.initialize_support_material_overhangs_queried((is_user_and_saved_preset || is_saved_in_3mf_preset) && support_material_overhangs_queried);
bool support_material_overhangs_queried = m_config->opt_bool("support_material") && !m_config->opt_bool("overhangs");
m_config_manipulation.initialize_support_material_overhangs_queried(is_user_and_saved_preset && support_material_overhangs_queried);
}
m_config_manipulation.update_print_fff_config(m_config, true);

View file

@ -132,6 +132,7 @@ MsgUpdateConfig::MsgUpdateConfig(const std::vector<Update> &updates, bool force_
line->AddSpacer(3*VERT_SPACING);
line->Add(new wxHyperlinkCtrl(this, wxID_ANY, _(L("Open changelog page")), changelog_url));
versions->Add(line);
versions->AddSpacer(1); // empty value for the correct alignment inside a GridSizer
}
}
@ -189,6 +190,7 @@ MsgUpdateForced::MsgUpdateForced(const std::vector<Update>& updates) :
line->AddSpacer(3 * VERT_SPACING);
line->Add(new wxHyperlinkCtrl(this, wxID_ANY, _(L("Open changelog page")), changelog_url));
versions->Add(line);
versions->AddSpacer(1); // empty value for the correct alignment inside a GridSizer
}
}

View file

@ -3,7 +3,7 @@
set(SLIC3R_APP_NAME "PrusaSlicer")
set(SLIC3R_APP_KEY "PrusaSlicer")
set(SLIC3R_VERSION "2.4.0-beta4")
set(SLIC3R_VERSION "2.4.0-rc")
set(SLIC3R_BUILD_ID "PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN")
set(SLIC3R_RC_VERSION "2,4,0,0")
set(SLIC3R_RC_VERSION_DOTS "2.4.0.0")