diff --git a/app/assets/i18n/de.json b/app/assets/i18n/de.json index c5e8179..0375b55 100644 --- a/app/assets/i18n/de.json +++ b/app/assets/i18n/de.json @@ -109,7 +109,7 @@ "Admin": "Admin", "User": "Benutzer", "WARNING: Are you sure you want to permanently delete this user AND ALL their uploaded files and G-codes?": "WARNUNG: Sind Sie sicher, dass Sie diesen Benutzer UND ALLE seine Dateien löschen wollen?", - "CuraEngine Configurations": "CuraEngine-Konfigurationen", + "SliceEngine Configurations": "Slicing-Engine-Konfigurationen", "Plater Origin Offset X (mm)": "Druckbett Ursprung Offset X (mm)", "Adjust the X-axis compilation offset for combined files on the build plate.": "X-Achsen-Offset für kombinierte Dateien anpassen.", "Plater Origin Offset Y (mm)": "Druckbett Ursprung Offset Y (mm)", diff --git a/app/assets/i18n/en.json b/app/assets/i18n/en.json index 0b4feb0..9ddbacc 100644 --- a/app/assets/i18n/en.json +++ b/app/assets/i18n/en.json @@ -103,7 +103,7 @@ "Admin": "Admin", "User": "User", "WARNING: Are you sure you want to permanently delete this user AND ALL their uploaded files and G-codes?": "WARNING: Are you sure you want to permanently delete this user AND ALL their uploaded files and G-codes?", - "CuraEngine Configurations": "CuraEngine Configurations", + "SliceEngine Configurations": "SliceEngine Configurations", "Plater Origin Offset X (mm)": "Plater Origin Offset X (mm)", "Adjust the X-axis compilation offset for combined files on the build plate.": "Adjust the X-axis compilation offset for combined files on the build plate.", "Plater Origin Offset Y (mm)": "Plater Origin Offset Y (mm)", diff --git a/app/assets/i18n/zh-cn.json b/app/assets/i18n/zh-cn.json index e2403aa..0331a49 100644 --- a/app/assets/i18n/zh-cn.json +++ b/app/assets/i18n/zh-cn.json @@ -109,7 +109,7 @@ "Admin": "管理员", "User": "普通用户", "WARNING: Are you sure you want to permanently delete this user AND ALL their uploaded files and G-codes?": "警告:确定要永久删除该用户以及TA上传的所有文件和切片吗?", - "CuraEngine Configurations": "CuraEngine 配置", + "SliceEngine Configurations": "切片引擎配置", "Plater Origin Offset X (mm)": "构建板原点偏移 X (mm)", "Adjust the X-axis compilation offset for combined files on the build plate.": "调整多文件在构建板合并切片时的X坐标偏移。", "Plater Origin Offset Y (mm)": "构建板原点偏移 Y (mm)", diff --git a/app/routes/admin_routes.py b/app/routes/admin_routes.py index dc517ec..de3fc8e 100644 --- a/app/routes/admin_routes.py +++ b/app/routes/admin_routes.py @@ -13,6 +13,7 @@ from app.utils.tasks import merge_and_slice_task, slice_stl_task, simplify_stl_t from app import i18n_dict # import trimesh.repair from app.utils.stl_simplifier import simplify_stl +from app.utils.slice_engines import get_all_engines main_bp = Blueprint('main', __name__) @@ -46,6 +47,8 @@ def settings(): default_support_pattern = request.form.get('default_support_pattern', 'tree') default_quality = request.form.get('default_quality', 'base_global_standard.inst.cfg') gcode_upload_folder = request.form.get('gcode_upload_folder', '').strip() + slicer_engine = request.form.get('slicer_engine', 'cura') + build_plate_model_path = request.form.get('build_plate_model_path', '').strip() # update or create config entries config_items = [ @@ -57,6 +60,8 @@ def settings(): ('default_support_pattern', default_support_pattern), ('default_quality', default_quality), ('gcode_upload_folder', gcode_upload_folder), + ('slicer_engine', slicer_engine), + ('build_plate_model_path', build_plate_model_path), ('default_guest_stl_quota_mb', request.form.get('default_guest_stl_quota_mb', '0')), ('default_guest_gcode_quota_mb', request.form.get('default_guest_gcode_quota_mb', '0')), ('default_user_stl_quota_mb', request.form.get('default_user_stl_quota_mb', '0')), @@ -75,8 +80,8 @@ def settings(): return redirect(url_for('admin.settings')) configs = {c.key: c.value for c in SystemConfig.query.all()} - presets = get_quality_presets() - return render_template('admin/settings.html', configs=configs, presets=presets) + engines = get_all_engines() + return render_template('admin/settings.html', configs=configs, engines=engines) @admin_bp.route('/users') def users(): @@ -192,18 +197,3 @@ def get_bed_dimensions(): except: return 200, 200, 200 -def get_quality_presets(): - try: - - path = os.path.join(current_app.root_path, '..', 'print_config', 'quality', 'creality', 'presets') - files = [f for f in os.listdir(path) if f.endswith('.inst.cfg')] - presets = [] - for f in files: - # name = f.replace('.inst.cfg', '').replace('base_', '').replace('_', ' ') - name = f.replace('.inst.cfg', '') - presets.append((f, name)) - presets.sort(key=lambda x: x[1]) - return presets - except: - return [] - diff --git a/app/routes/main_routes.py b/app/routes/main_routes.py index a4f551e..0d1373e 100644 --- a/app/routes/main_routes.py +++ b/app/routes/main_routes.py @@ -338,21 +338,6 @@ def get_bed_dimensions(): except: return 200, 200, 200 -def get_quality_presets(): - try: - - path = os.path.join(current_app.root_path, '..', 'print_config', 'quality', 'creality', 'presets') - files = [f for f in os.listdir(path) if f.endswith('.inst.cfg')] - presets = [] - for f in files: - # name = f.replace('.inst.cfg', '').replace('base_', '').replace('_', ' ') - name = f.replace('.inst.cfg', '') - presets.append((f, name)) - presets.sort(key=lambda x: x[1]) - return presets - except: - return [] - @main_bp.route('/plater') @login_required def plater(): @@ -360,7 +345,7 @@ def plater(): quota_exceeded = (quota_mb > 0 and current_size >= quota_mb * 1024 * 1024) w, h, hd = get_bed_dimensions() - presets = get_quality_presets() + configs = {c.key: c.value for c in SystemConfig.query.all()} offset_x = float(configs.get('offset_x', '0.0')) @@ -373,7 +358,7 @@ def plater(): user_files = PrintFile.query.filter_by(user_id=current_user.id, file_type='stl').order_by(PrintFile.created_at.desc()).all() models = [{'id': f.id, 'name': f.original_filename, 'status': f.status, 'url': url_for('main.serve_proxy_file', file_id=f.id), 'transform_matrix': f.transform_matrix} for f in user_files] - return render_template('slice/plater.html', w=w, h=h, hd=hd, presets=presets, last_quality=default_quality, models=models, offset_x=offset_x, offset_y=offset_y, default_infill=default_infill, default_support=default_support, default_support_pattern=default_support_pattern, quota_exceeded=quota_exceeded) + return render_template('slice/plater.html', w=w, h=h, hd=hd, last_quality=default_quality, models=models, offset_x=offset_x, offset_y=offset_y, default_infill=default_infill, default_support=default_support, default_support_pattern=default_support_pattern, quota_exceeded=quota_exceeded, configs=configs) @main_bp.route('/file/') @login_required @@ -553,3 +538,20 @@ def merge_and_slice(): return jsonify({'success': True, 'message': 'Plater slice queued!'}) + +@main_bp.route('/api/build_plate_model') +@login_required +def build_plate_model(): + conf = SystemConfig.query.filter_by(key='build_plate_model_path').first() + if conf and conf.value and os.path.exists(conf.value): + return send_file(conf.value) + abort(404) + +@main_bp.route('/api/engine_options/') +@login_required +def engine_options(engine_name): + from app.utils.slice_engines import get_slicer_engine + engine = get_slicer_engine(engine_name) + presets = engine.get_quality_presets(current_app) + patterns = engine.get_support_patterns() + return jsonify({'presets': presets, 'support_patterns': patterns}) diff --git a/app/templates/admin/settings.html b/app/templates/admin/settings.html index 6d8abc5..f59b086 100644 --- a/app/templates/admin/settings.html +++ b/app/templates/admin/settings.html @@ -7,8 +7,7 @@
-
{{ _('CuraEngine Configurations') }}
-
+
{{ _('SliceEngine Configurations') }}
@@ -34,8 +33,13 @@
{{ _('Absolute path to save locally sliced GCode files (e.g. OctoPrint uploads folder like "/home/pi/.octoprint/uploads"). Leave empty to use system default.') }}
-
{{ _('Default Plater Settings') }}
-
+
{{ _('Default Plater Settings') }}
+ +
+ + +
{{ _('Absolute path to a custom build plate STL model to show in the plater. Leave empty to use none.') }}
+
@@ -53,29 +57,32 @@
- +
- +
+
{{ _('Slicing Engine Configurations') }}
+
+ + +
{{ _('Select the engine to be used globally. Ensure the selected engine is installed and accessible on the server.') }}
+
+ +
{{ _('Default Storage Quotas (MB)') }}
@@ -140,5 +147,42 @@ function submitSettings(event) { btn.innerHTML = originalText; }); } + +document.addEventListener('DOMContentLoaded', function() { + const engineSelect = document.getElementById('slicer_engine'); + const qualitySelect = document.getElementById('default_quality'); + const patternSelect = document.getElementById('default_support_pattern'); + + function updateOptions(engine) { + fetch(`/api/engine_options/${engine}`) + .then(res => res.json()) + .then(data => { + const selQ = qualitySelect.getAttribute('data-selected'); + qualitySelect.innerHTML = ''; + data.presets.forEach(p => { + const opt = document.createElement('option'); + opt.value = p.id; opt.textContent = p.name; + qualitySelect.appendChild(opt); + }); + if(selQ) qualitySelect.value = selQ; + + const selP = patternSelect.getAttribute('data-selected'); + patternSelect.innerHTML = ''; + data.support_patterns.forEach(p => { + const opt = document.createElement('option'); + opt.value = p.id; opt.textContent = p.name; + patternSelect.appendChild(opt); + }); + if(selP) patternSelect.value = selP; + }); + } + + engineSelect.addEventListener('change', function() { + updateOptions(this.value); + }); + + // Initial load + updateOptions(engineSelect.value); +}); {% endblock %} diff --git a/app/templates/slice/plater.html b/app/templates/slice/plater.html index 4b2c313..4611f9a 100644 --- a/app/templates/slice/plater.html +++ b/app/templates/slice/plater.html @@ -95,18 +95,7 @@
- +
@@ -120,11 +109,7 @@
- +
@@ -226,6 +211,18 @@ function initPlater() { axesHelper.position.set(-bedWidth / 2, -bedDepth / 2, 0.2); scene.add(axesHelper); + {% if configs.get('build_plate_model_path') %} + const bpLoader = new THREE.STLLoader(); + bpLoader.load("{{ url_for('main.build_plate_model') }}", function (geometry) { + const material = new THREE.MeshPhongMaterial({ color: 0x999999, specular: 0x111111, shininess: 200 }); + const mesh = new THREE.Mesh(geometry, material); + + mesh.rotation.set(0, 0, 0); + mesh.position.set(0, 0, -0.1); // Slightly below the grid + scene.add(mesh); + }); + {% endif %} + // Show Bed Box outline const boxGeo = new THREE.BoxGeometry(bedWidth, bedDepth, bedHeight); const edges = new THREE.EdgesGeometry(boxGeo); @@ -671,8 +668,17 @@ function addModelToPlate(btnElement, fileId, url, name, status) { supportSelect.value = data.settings.support; supportSelect.dispatchEvent(new Event('change')); } - if (data.settings.support_pattern) document.getElementById('support-pattern').value = data.settings.support_pattern; - if (data.settings.quality) document.getElementById('quality').value = data.settings.quality; + + if (data.settings.support_pattern) { + const sSelect = document.getElementById('support-pattern'); + sSelect.setAttribute('data-selected', data.settings.support_pattern); + sSelect.value = data.settings.support_pattern; + } + if (data.settings.quality) { + const qSelect = document.getElementById('quality'); + qSelect.setAttribute('data-selected', data.settings.quality); + qSelect.value = data.settings.quality; + } } } catch (e) {} } @@ -948,4 +954,33 @@ document.addEventListener('DOMContentLoaded', () => { } }); + {% endblock %} diff --git a/app/utils/slice_engines/__init__.py b/app/utils/slice_engines/__init__.py index 5c7493a..e968c57 100644 --- a/app/utils/slice_engines/__init__.py +++ b/app/utils/slice_engines/__init__.py @@ -1,6 +1,13 @@ from .cura_engine import CuraEngine from .prusa_slicer_engine import PrusaSlicerEngine +def get_all_engines(): + """Returns a list of instantiated engines.""" + return [ + CuraEngine(), + PrusaSlicerEngine() + ] + def get_slicer_engine(engine_name="cura"): """ Factory function to retrieve the requested slicing engine instance. @@ -14,4 +21,4 @@ def get_slicer_engine(engine_name="cura"): return PrusaSlicerEngine() else: # Default fallback - return CuraEngine() \ No newline at end of file + return CuraEngine() diff --git a/app/utils/slice_engines/cura_engine.py b/app/utils/slice_engines/cura_engine.py index f3f2b42..315135d 100644 --- a/app/utils/slice_engines/cura_engine.py +++ b/app/utils/slice_engines/cura_engine.py @@ -8,6 +8,26 @@ from app.utils.conf_parse import ConfParse class CuraEngine: def __init__(self): self.name = "cura" + self.display_name = "UltiMaker Cura" + self.is_available = self._check_available() + + def _check_available(self): + try: + # check if CuraEngine is available in PATH + result = subprocess.run(["CuraEngine", "help"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + return result.returncode == 0 or b"Usage:" in result.stdout or b"Usage:" in result.stderr + except (FileNotFoundError, OSError): + return False + self.display_name = "UltiMaker Cura" + self.is_available = self._check_available() + + def _check_available(self): + try: + # check if CuraEngine is available in PATH + result = subprocess.run(["CuraEngine", "help"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + return result.returncode == 0 or b"Usage:" in result.stdout or b"Usage:" in result.stderr + except (FileNotFoundError, OSError): + return False def slice(self, app, stl_filepath, gcode_filepath, **kwargs): """ @@ -165,4 +185,31 @@ class CuraEngine: try: os.remove(tmp_def_path) except Exception as e: - app.logger.error(f"Failed to delete temp JSON config {tmp_def_path}: {e}") \ No newline at end of file + app.logger.error(f"Failed to delete temp JSON config {tmp_def_path}: {e}") + + def get_quality_presets(self, app): + try: + path = os.path.join(app.root_path, '..', 'print_config', 'cura_engine', 'quality', 'creality', 'presets') + if not os.path.exists(path): return [] + files = [f for f in os.listdir(path) if f.endswith('.inst.cfg')] + presets = [] + for f in files: + presets.append({'id': f, 'name': f.replace('.inst.cfg', '')}) + presets.sort(key=lambda x: x['name']) + return presets + except: + return [] + + def get_support_patterns(self): + return [ + {'id': 'tree', 'name': 'Tree'}, + {'id': 'lines', 'name': 'Lines'}, + {'id': 'grid', 'name': 'Grid'}, + {'id': 'triangles', 'name': 'Triangles'}, + {'id': 'concentric', 'name': 'Concentric'}, + {'id': 'zigzag', 'name': 'Zig Zag'}, + {'id': 'cross', 'name': 'Cross'}, + {'id': 'gyroid', 'name': 'Gyroid'}, + {'id': 'honeycomb', 'name': 'Honeycomb'}, + {'id': 'octagon', 'name': 'Octagon'} + ] diff --git a/app/utils/slice_engines/prusa_slicer_engine.py b/app/utils/slice_engines/prusa_slicer_engine.py index d0a4175..2e0640b 100644 --- a/app/utils/slice_engines/prusa_slicer_engine.py +++ b/app/utils/slice_engines/prusa_slicer_engine.py @@ -1,9 +1,19 @@ import os import subprocess +import configparser class PrusaSlicerEngine: def __init__(self): self.name = "prusa_slicer" + self.display_name = "PrusaSlicer" + self.is_available = self._check_available() + + def _check_available(self): + try: + result = subprocess.run(["prusa-slicer", "--help"], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + return b"Usage:" in result.stdout or b"Slic3r" in result.stdout or b"PrusaSlicer" in result.stdout or result.returncode == 0 + except (FileNotFoundError, OSError): + return False def slice(self, app, stl_filepath, gcode_filepath, **kwargs): """ @@ -55,3 +65,25 @@ class PrusaSlicerEngine: except Exception as e: app.logger.error(f"PrusaSlicer Exception: {e}") return False, str(e) + + def get_quality_presets(self, app): + all_files = [f for f in os.listdir(os.path.join(app.root_path, '..', 'print_config', 'prusa_slicer',"quality")) if f.endswith('.ini')] + quality_presets = [] + for file in all_files: + with open(os.path.join(app.root_path, '..', 'print_config', 'prusa_slicer', "quality", file), 'r') as f: + config = configparser.ConfigParser() + config.read_file(f) + if 'metadata' in config: + quality_presets.append({ + 'id': file.replace('.ini', ''), + 'name': config['metadata'].get('show_name', file.replace('.ini', '').replace('_', ' ')) + }) + return quality_presets + + def get_support_patterns(self): + return [ + {'id': 'rectilinear', 'name': 'Rectilinear'}, + {'id': 'grid', 'name': 'Grid'}, + {'id': 'organic', 'name': 'Organic (Tree)'}, + {'id': 'snug', 'name': 'Snug'} + ] diff --git a/patch_tasks.py b/patch_tasks.py deleted file mode 100644 index 54eb46a..0000000 --- a/patch_tasks.py +++ /dev/null @@ -1,62 +0,0 @@ -with open('app/utils/tasks.py', 'r', encoding='utf-8') as f: - text = f.read() - -import re -old_block = re.search(r'tmp_def_path = None.*?db\.session\.remove\(\)', text, re.DOTALL) - -new_block = """from app.utils.slice_engines import get_slicer_engine - - try: - # Optionally fetch the preferred engine from db conf or just default to cura - # For now default to cura or whichever is passed via kwargs if implemented later - conf_engine = SystemConfig.query.filter_by(key='slicer_engine').first() - engine_name = conf_engine.value if conf_engine and conf_engine.value else "cura" - db.session.remove() - - slicer = get_slicer_engine(engine_name) - - success, err_msg = slicer.slice( - app=app, - stl_filepath=stl_filepath, - gcode_filepath=gcode_filepath, - quality_preset=quality_preset, - infill_density=infill_density, - support_enable=support_enable, - support_pattern=support_pattern - ) - - # Re-fetch print_file and update status - print_file = PrintFile.query.get(file_id) - if not print_file: - return - - if success: - print_file.status = 'sliced' - else: - print_file.status = 'failed' - app.logger.error(f"Slicing Task Failed: {err_msg}") - - except Exception as e: - print_file = PrintFile.query.get(file_id) - if print_file: - print_file.status = 'failed' - app.logger.error(f"Subprocess Exception: {e}") - - finally: - if delete_stl and os.path.exists(stl_filepath): - try: - os.remove(stl_filepath) - except Exception as e: - app.logger.error(f"Failed to delete temp STL {stl_filepath}: {e}") - - db.session.commit() - db.session.remove()""" - -if old_block: - res = text.replace(old_block.group(0), new_block) - with open('app/utils/tasks.py', 'w', encoding='utf-8') as f: - f.write(res) - print("Patched successfully") -else: - print("Pattern not found!") - diff --git a/print_config/Creality Ender-3 V3 SE_buildplate_model-aio.stl b/print_config/Creality Ender-3 V3 SE_buildplate_model-aio.stl new file mode 100644 index 0000000..fbe086b Binary files /dev/null and b/print_config/Creality Ender-3 V3 SE_buildplate_model-aio.stl differ diff --git a/print_config/Creality Ender-3 V3 SE_buildplate_model.stl b/print_config/Creality Ender-3 V3 SE_buildplate_model.stl new file mode 100644 index 0000000..ef159f2 Binary files /dev/null and b/print_config/Creality Ender-3 V3 SE_buildplate_model.stl differ diff --git a/print_config/prusa_slicer/materials/CR-PETG.ini b/print_config/prusa_slicer/materials/CR-PETG.ini new file mode 100644 index 0000000..f908617 --- /dev/null +++ b/print_config/prusa_slicer/materials/CR-PETG.ini @@ -0,0 +1,94 @@ +[metadata] +show_name = CR-PETG +material_type = petg + + +[settings] +filament_adhesiveness_category = 300 +cool_plate_temp = 70 +eng_plate_temp = 0 +hot_plate_temp = 70 +textured_plate_temp = 70 +cool_plate_temp_initial_layer = 70 +eng_plate_temp_initial_layer = 0 +hot_plate_temp_initial_layer = 70 +textured_plate_temp_initial_layer = 70 +overhang_fan_threshold = 25% +overhang_fan_speed = 90 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 3 +filament_end_gcode = ; filament end gcode \n +filament_flow_ratio = 0.95 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 30 +filament_cost = 14 +filament_density = 1.23 +filament_deretraction_speed = nil +filament_diameter = 1.75 +filament_max_volumetric_speed = 9 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = nil +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = nil +filament_z_hop = nil +filament_z_hop_types = nil +filament_retract_restart_extra = 0 +filament_retraction_speed = nil +filament_settings_id = +filament_soluble = 0 +filament_type = PETG +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = nil +bed_type = Cool Plate +nozzle_temperature_initial_layer = 230 +full_fan_speed_layer = 0 +fan_max_speed = 40 +fan_min_speed = 30 +slow_down_min_speed = 10 +slow_down_layer_time = 8 +filament_start_gcode = ; filament start gcode\n +nozzle_temperature = 230 +temperature_vitrification = 80 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +additional_cooling_fan_speed = 0 +chamber_temperature = 35 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 1 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 70 +epoxy_resin_plate_temp_initial_layer = 70 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = 0 +filament_retract_lift_below = 0 +filament_retract_lift_enforce = All Surfaces +filament_shrink = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[3.0,210], [10.0,220], [12.0,230]] +nozzle_temperature_range_high = 270 +nozzle_temperature_range_low = 220 +pressure_advance = 0.08 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/CR-PLA.ini b/print_config/prusa_slicer/materials/CR-PLA.ini new file mode 100644 index 0000000..7592427 --- /dev/null +++ b/print_config/prusa_slicer/materials/CR-PLA.ini @@ -0,0 +1,94 @@ +[metadata] +show_name = CR-PLA +material_type = pla + + +[settings] +cool_plate_temp = 50 +eng_plate_temp = 45 +hot_plate_temp = 50 +textured_plate_temp = 50 +cool_plate_temp_initial_layer = 50 +eng_plate_temp_initial_layer = 45 +hot_plate_temp_initial_layer = 50 +textured_plate_temp_initial_layer = 50 +overhang_fan_threshold = 50% +overhang_fan_speed = 100 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 1 +filament_end_gcode = ;filament end gcode +filament_flow_ratio = 0.95 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 100 +filament_cost = 25 +filament_density = 1.25 +filament_deretraction_speed = nil +filament_diameter = 1.75 +filament_max_volumetric_speed = 12 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = nil +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 1 +filament_z_hop = 0.2 +filament_z_hop_types = Slope Lift +filament_retract_restart_extra = 0 +filament_retraction_speed = 40 +filament_settings_id = +filament_soluble = 0 +filament_type = PLA +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = nil +bed_type = Cool Plate +nozzle_temperature_initial_layer = 190 +full_fan_speed_layer = 0 +fan_max_speed = 100 +fan_min_speed = 100 +slow_down_min_speed = 20 +slow_down_layer_time = 6 +filament_start_gcode = ;filament start gcode +nozzle_temperature = 190 +temperature_vitrification = 100 +filament_adhesiveness_category = 100 +nozzle_temperature_range_low = 190 +nozzle_temperature_range_high = 240 +additional_cooling_fan_speed = 0 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 0 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 0 +epoxy_resin_plate_temp_initial_layer = 0 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = 0 +filament_retract_lift_below = 0 +filament_retract_lift_enforce = All Surfaces +filament_shrink = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[2.0,185],[4.0,190],[7.0,200]] +pressure_advance = 0.02 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Generic_PETG.ini b/print_config/prusa_slicer/materials/Generic_PETG.ini new file mode 100644 index 0000000..380b107 --- /dev/null +++ b/print_config/prusa_slicer/materials/Generic_PETG.ini @@ -0,0 +1,94 @@ +[metadata] +show_name = Generic PETG +material_type = petg + + +[settings] +filament_adhesiveness_category = 300 +cool_plate_temp = 60 +eng_plate_temp = 0 +hot_plate_temp = 70 +textured_plate_temp = 70 +cool_plate_temp_initial_layer = 60 +eng_plate_temp_initial_layer = 0 +hot_plate_temp_initial_layer = 70 +textured_plate_temp_initial_layer = 70 +overhang_fan_threshold = 25% +overhang_fan_speed = 90 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 3 +filament_end_gcode = ;filament end gcode \n +filament_flow_ratio = 0.95 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 30 +filament_cost = 30 +filament_density = 1.27 +filament_deretraction_speed = nil +filament_diameter = 1.75 +filament_max_volumetric_speed = 10 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = nil +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 1.2 +filament_z_hop = 0.2 +filament_z_hop_types = nil +filament_retract_restart_extra = 0 +filament_retraction_speed = nil +filament_settings_id = +filament_soluble = 0 +filament_type = PETG +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = nil +bed_type = Cool Plate +nozzle_temperature_initial_layer = 220 +full_fan_speed_layer = 0 +fan_max_speed = 80 +fan_min_speed = 40 +slow_down_min_speed = 10 +slow_down_layer_time = 8 +filament_start_gcode = ;filament start gcode\n +nozzle_temperature = 220 +temperature_vitrification = 80 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +additional_cooling_fan_speed = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 0 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 0 +epoxy_resin_plate_temp_initial_layer = 0 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = 0 +filament_retract_lift_below = 0 +filament_retract_lift_enforce = All Surfaces +filament_shrink = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[3.5,200],[7.0,240]] +nozzle_temperature_range_high = 270 +nozzle_temperature_range_low = 220 +pressure_advance = 0.02 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Generic_TPU.ini b/print_config/prusa_slicer/materials/Generic_TPU.ini new file mode 100644 index 0000000..e199437 --- /dev/null +++ b/print_config/prusa_slicer/materials/Generic_TPU.ini @@ -0,0 +1,94 @@ +[metadata] +show_name = Generic TPU +material_type = tpu + + +[settings] +cool_plate_temp = 30 +eng_plate_temp = 30 +hot_plate_temp = 30 +textured_plate_temp = 30 +cool_plate_temp_initial_layer = 30 +eng_plate_temp_initial_layer = 30 +hot_plate_temp_initial_layer = 30 +textured_plate_temp_initial_layer = 30 +overhang_fan_threshold = 95% +overhang_fan_speed = 100 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 1 +filament_end_gcode = ;filament end gcode \n +filament_flow_ratio = 1 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 100 +filament_cost = 20 +filament_density = 1.24 +filament_deretraction_speed = nil +filament_diameter = 1.75 +filament_max_volumetric_speed = 3 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = nil +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 2 +filament_z_hop = 0.2 +filament_z_hop_types = nil +filament_retract_restart_extra = 0 +filament_retraction_speed = nil +filament_settings_id = +filament_soluble = 0 +filament_type = TPU +filament_vendor = Generic +filament_wipe = nil +filament_wipe_distance = nil +bed_type = Cool Plate +nozzle_temperature_initial_layer = 200 +full_fan_speed_layer = 0 +fan_max_speed = 100 +fan_min_speed = 100 +slow_down_min_speed = 10 +slow_down_layer_time = 12 +filament_start_gcode = ;filament start gcode\n +nozzle_temperature = 200 +temperature_vitrification = 60 +filament_adhesiveness_category = 600 +additional_cooling_fan_speed = 0 +nozzle_temperature_range_low = 200 +nozzle_temperature_range_high = 250 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 0 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 0 +epoxy_resin_plate_temp_initial_layer = 0 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = 0 +filament_retract_lift_below = 0 +filament_retract_lift_enforce = All Surfaces +filament_shrink = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[3.5,200],[7.0,240]] +pressure_advance = 0.02 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Hyper_L-W_PLA.ini b/print_config/prusa_slicer/materials/Hyper_L-W_PLA.ini new file mode 100644 index 0000000..467f41a --- /dev/null +++ b/print_config/prusa_slicer/materials/Hyper_L-W_PLA.ini @@ -0,0 +1,96 @@ +[metadata] +show_name = Hyper L-W PLA +material_type = pla + + +[settings] +cool_plate_temp = 50 +eng_plate_temp = 45 +hot_plate_temp = 60 +textured_plate_temp = 60 +cool_plate_temp_initial_layer = 50 +eng_plate_temp_initial_layer = 45 +hot_plate_temp_initial_layer = 60 +textured_plate_temp_initial_layer = 60 +overhang_fan_threshold = 50% +overhang_fan_speed = 100 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 1 +filament_end_gcode = ;filament end gcode +filament_flow_ratio = 0.75 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 100 +filament_cost = 48.9 +filament_density = 1.21 +filament_deretraction_speed = 15 +filament_diameter = 1.75 +filament_max_volumetric_speed = 4 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = 3 +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 0.6 +filament_z_hop = nil +filament_z_hop_types = nil +filament_retract_restart_extra = nil +filament_retraction_speed = 15 +filament_settings_id = +filament_soluble = 0 +filament_type = PLA +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = nil +bed_type = Cool Plate +nozzle_temperature_initial_layer = 220 +full_fan_speed_layer = 0 +fan_max_speed = 100 +fan_min_speed = 60 +slow_down_min_speed = 10 +slow_down_layer_time = 10 +filament_start_gcode = ;filament start gcode +nozzle_temperature = 220 +temperature_vitrification = 60 +filament_adhesiveness_category = 100 +nozzle_temperature_range_low = 200 +nozzle_temperature_range_high = 270 +additional_cooling_fan_speed = 0 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0.5 +cool_special_cds_fan_speed = 0 +customized_plate_temp = 60 +customized_plate_temp_initial_layer = 60 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 1 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 60 +epoxy_resin_plate_temp_initial_layer = 60 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_lift_enforce = nil +filament_shrink = 100% +filament_shrinkage_compensation_z = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +pressure_advance = 0.1 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Hyper_Marble_PLA.ini b/print_config/prusa_slicer/materials/Hyper_Marble_PLA.ini new file mode 100644 index 0000000..4dd198d --- /dev/null +++ b/print_config/prusa_slicer/materials/Hyper_Marble_PLA.ini @@ -0,0 +1,97 @@ +[metadata] +show_name = Hyper Marble PLA +material_type = pla + + +[settings] +cool_plate_temp = 50 +eng_plate_temp = 45 +hot_plate_temp = 50 +textured_plate_temp = 50 +cool_plate_temp_initial_layer = 50 +eng_plate_temp_initial_layer = 45 +hot_plate_temp_initial_layer = 50 +textured_plate_temp_initial_layer = 50 +overhang_fan_threshold = 50% +overhang_fan_speed = 100 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 1 +filament_end_gcode = ;filament end gcode +filament_flow_ratio = 0.95 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 100 +filament_cost = 23.9 +filament_density = 1.25 +filament_deretraction_speed = 15 +filament_diameter = 1.75 +filament_max_volumetric_speed = 18 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = 2 +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 1.5 +filament_z_hop = nil +filament_z_hop_types = nil +filament_retract_restart_extra = nil +filament_retraction_speed = 15 +filament_settings_id = +filament_soluble = 0 +filament_type = PLA +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = 3 +bed_type = Cool Plate +nozzle_temperature_initial_layer = 220 +full_fan_speed_layer = 0 +fan_max_speed = 100 +fan_min_speed = 100 +slow_down_min_speed = 20 +slow_down_layer_time = 14 +filament_start_gcode = ;filament start gcode +nozzle_temperature = 220 +temperature_vitrification = 60 +filament_adhesiveness_category = 100 +nozzle_temperature_range_low = 190 +nozzle_temperature_range_high = 240 +additional_cooling_fan_speed = 0 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +customized_plate_temp = 50 +customized_plate_temp_initial_layer = 50 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 1 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 50 +epoxy_resin_plate_temp_initial_layer = 50 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_lift_enforce = nil +filament_shrink = 100% +filament_shrinkage_compensation_z = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[0.8,200],[1.0,200],[1.2,220]] +pressure_advance = 0.04 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Hyper_PETG.ini b/print_config/prusa_slicer/materials/Hyper_PETG.ini new file mode 100644 index 0000000..f2f9086 --- /dev/null +++ b/print_config/prusa_slicer/materials/Hyper_PETG.ini @@ -0,0 +1,94 @@ +[metadata] +show_name = Hyper PETG +material_type = petg + + +[settings] +filament_adhesiveness_category = 300 +cool_plate_temp = 60 +eng_plate_temp = 0 +hot_plate_temp = 70 +textured_plate_temp = 70 +cool_plate_temp_initial_layer = 60 +eng_plate_temp_initial_layer = 0 +hot_plate_temp_initial_layer = 70 +textured_plate_temp_initial_layer = 70 +overhang_fan_threshold = 25% +overhang_fan_speed = 90 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 3 +filament_end_gcode = ;filament end gcode \n +filament_flow_ratio = 1.0 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 30 +filament_cost = 69 +filament_density = 1.27 +filament_deretraction_speed = nil +filament_diameter = 1.75 +filament_max_volumetric_speed = 10 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = nil +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 1.2 +filament_z_hop = 0.2 +filament_z_hop_types = nil +filament_retract_restart_extra = 0 +filament_retraction_speed = nil +filament_settings_id = +filament_soluble = 0 +filament_type = PETG +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = 2 +bed_type = Cool Plate +nozzle_temperature_initial_layer = 235 +full_fan_speed_layer = 0 +fan_max_speed = 80 +fan_min_speed = 40 +slow_down_min_speed = 10 +slow_down_layer_time = 8 +filament_start_gcode = ;filament start gcode\n +nozzle_temperature = 240 +temperature_vitrification = 80 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +additional_cooling_fan_speed = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 1 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 0 +epoxy_resin_plate_temp_initial_layer = 0 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = 0 +filament_retract_lift_below = 0 +filament_retract_lift_enforce = All Surfaces +filament_shrink = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 1 +material_flow_temp_graph = [[3.0,230],[10.0,240],[20.0,250]] +nozzle_temperature_range_high = 270 +nozzle_temperature_range_low = 220 +pressure_advance = 0.07 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Hyper_PLA.ini b/print_config/prusa_slicer/materials/Hyper_PLA.ini new file mode 100644 index 0000000..cb45efb --- /dev/null +++ b/print_config/prusa_slicer/materials/Hyper_PLA.ini @@ -0,0 +1,94 @@ +[metadata] +show_name = Hyper PLA +material_type = pla + + +[settings] +cool_plate_temp = 50 +eng_plate_temp = 45 +hot_plate_temp = 50 +textured_plate_temp = 50 +cool_plate_temp_initial_layer = 50 +eng_plate_temp_initial_layer = 45 +hot_plate_temp_initial_layer = 50 +textured_plate_temp_initial_layer = 50 +overhang_fan_threshold = 50% +overhang_fan_speed = 100 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 1 +filament_end_gcode = ;filament end gcode +filament_flow_ratio = 0.95 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 100 +filament_cost = 30 +filament_density = 1.24 +filament_deretraction_speed = nil +filament_diameter = 1.75 +filament_max_volumetric_speed = 23 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = nil +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 1.2 +filament_z_hop = 0.2 +filament_z_hop_types = Slope Lift +filament_retract_restart_extra = 0 +filament_retraction_speed = 40 +filament_settings_id = +filament_soluble = 0 +filament_type = PLA +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = nil +bed_type = Cool Plate +nozzle_temperature_initial_layer = 190 +full_fan_speed_layer = 0 +fan_max_speed = 100 +fan_min_speed = 100 +slow_down_min_speed = 20 +slow_down_layer_time = 6 +filament_start_gcode = ;filament start gcode +nozzle_temperature = 190 +temperature_vitrification = 100 +filament_adhesiveness_category = 100 +nozzle_temperature_range_low = 190 +nozzle_temperature_range_high = 240 +additional_cooling_fan_speed = 0 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 0 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 0 +epoxy_resin_plate_temp_initial_layer = 0 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = 0 +filament_retract_lift_below = 0 +filament_retract_lift_enforce = All Surfaces +filament_shrink = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[3.5,200],[7.0,240]] +pressure_advance = 0.02 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Hyper_Stardust_PLA.ini b/print_config/prusa_slicer/materials/Hyper_Stardust_PLA.ini new file mode 100644 index 0000000..c1a2aa8 --- /dev/null +++ b/print_config/prusa_slicer/materials/Hyper_Stardust_PLA.ini @@ -0,0 +1,97 @@ +[metadata] +show_name = Hyper Stardust PLA +material_type = pla + + +[settings] +cool_plate_temp = 50 +eng_plate_temp = 45 +hot_plate_temp = 50 +textured_plate_temp = 50 +cool_plate_temp_initial_layer = 50 +eng_plate_temp_initial_layer = 45 +hot_plate_temp_initial_layer = 50 +textured_plate_temp_initial_layer = 50 +overhang_fan_threshold = 50% +overhang_fan_speed = 100 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 1 +filament_end_gcode = ;filament end gcode +filament_flow_ratio = 0.95 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 100 +filament_cost = 26.9 +filament_density = 1.24 +filament_deretraction_speed = 15 +filament_diameter = 1.75 +filament_max_volumetric_speed = 18 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = 2 +filament_retract_before_wipe = nil +filament_retract_when_changing_layer = nil +filament_retraction_length = 2 +filament_z_hop = nil +filament_z_hop_types = nil +filament_retract_restart_extra = nil +filament_retraction_speed = 15 +filament_settings_id = +filament_soluble = 0 +filament_type = PLA +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = 3 +bed_type = Cool Plate +nozzle_temperature_initial_layer = 220 +full_fan_speed_layer = 0 +fan_max_speed = 100 +fan_min_speed = 100 +slow_down_min_speed = 10 +slow_down_layer_time = 14 +filament_start_gcode = ;filament start gcode +nozzle_temperature = 220 +temperature_vitrification = 60 +filament_adhesiveness_category = 100 +nozzle_temperature_range_low = 190 +nozzle_temperature_range_high = 240 +additional_cooling_fan_speed = 0 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0.5 +cool_special_cds_fan_speed = 0 +customized_plate_temp = 50 +customized_plate_temp_initial_layer = 50 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 1 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 50 +epoxy_resin_plate_temp_initial_layer = 50 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_lift_enforce = nil +filament_shrink = 100% +filament_shrinkage_compensation_z = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[0.8,200],[1.0,200],[1.2,220]] +pressure_advance = 0.04 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/materials/Soleyin_Ultra_PLA.ini b/print_config/prusa_slicer/materials/Soleyin_Ultra_PLA.ini new file mode 100644 index 0000000..bbccf01 --- /dev/null +++ b/print_config/prusa_slicer/materials/Soleyin_Ultra_PLA.ini @@ -0,0 +1,97 @@ +[metadata] +show_name = Soleyin Ultra PLA +material_type = pla + + +[settings] +cool_plate_temp = 50 +eng_plate_temp = 45 +hot_plate_temp = 50 +textured_plate_temp = 50 +cool_plate_temp_initial_layer = 50 +eng_plate_temp_initial_layer = 45 +hot_plate_temp_initial_layer = 50 +textured_plate_temp_initial_layer = 50 +overhang_fan_threshold = 50% +overhang_fan_speed = 100 +slow_down_for_layer_cooling = 1 +close_fan_the_first_x_layers = 1 +filament_end_gcode = ;filament end gcode +filament_flow_ratio = 0.96 +reduce_fan_stop_start_freq = 1 +fan_cooling_layer_time = 100 +filament_cost = 6 +filament_density = 1.25 +filament_deretraction_speed = 15 +filament_diameter = 1.75 +filament_max_volumetric_speed = 16 +filament_minimal_purge_on_wipe_tower = 15 +filament_retraction_minimum_travel = nil +filament_retract_before_wipe = 90% +filament_retract_when_changing_layer = nil +filament_retraction_length = nil +filament_z_hop = nil +filament_z_hop_types = nil +filament_retract_restart_extra = nil +filament_retraction_speed = 15 +filament_settings_id = +filament_soluble = 0 +filament_type = PLA +filament_vendor = Creality +filament_wipe = nil +filament_wipe_distance = nil +bed_type = Cool Plate +nozzle_temperature_initial_layer = 220 +full_fan_speed_layer = 0 +fan_max_speed = 100 +fan_min_speed = 100 +slow_down_min_speed = 20 +slow_down_layer_time = 12 +filament_start_gcode = ;filament start gcode +nozzle_temperature = 220 +temperature_vitrification = 60 +filament_adhesiveness_category = 100 +nozzle_temperature_range_low = 190 +nozzle_temperature_range_high = 240 +additional_cooling_fan_speed = 0 +activate_air_filtration = 0 +activate_chamber_temp_control = 0 +chamber_temperature = 0 +complete_print_exhaust_fan_speed = 80 +cool_cds_fan_start_at_height = 0 +cool_special_cds_fan_speed = 0 +customized_plate_temp = 60 +customized_plate_temp_initial_layer = 60 +default_filament_colour = "" +during_print_exhaust_fan_speed = 60 +enable_overhang_bridge_fan = 1 +enable_pressure_advance = 1 +enable_special_area_additional_cooling_fan = 0 +epoxy_resin_plate_temp = 60 +epoxy_resin_plate_temp_initial_layer = 60 +filament_cooling_final_speed = 3.4 +filament_cooling_initial_speed = 2.2 +filament_cooling_moves = 4 +filament_is_support = 0 +filament_load_time = 0 +filament_loading_speed = 28 +filament_loading_speed_start = 3 +filament_multitool_ramming = 0 +filament_multitool_ramming_flow = 10 +filament_multitool_ramming_volume = 10 +filament_notes = "" +filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6" +filament_retract_lift_above = nil +filament_retract_lift_below = nil +filament_retract_lift_enforce = nil +filament_shrink = 100% +filament_shrinkage_compensation_z = 100% +filament_toolchange_delay = 0 +filament_unload_time = 0 +filament_unloading_speed = 90 +filament_unloading_speed_start = 100 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[1.0,200],[1.1,200],[1.2,220]] +pressure_advance = 0.05 +required_nozzle_HRC = 0 +support_material_interface_fan_speed = -1 diff --git a/print_config/prusa_slicer/printers/Ender3_V3_SE.ini b/print_config/prusa_slicer/printers/Ender3_V3_SE.ini new file mode 100644 index 0000000..f900ab2 --- /dev/null +++ b/print_config/prusa_slicer/printers/Ender3_V3_SE.ini @@ -0,0 +1,104 @@ +[metadata] +show_name = Ender3 V3 SE Model + + +[settings] +family = Creality +printer_technology = FFF +deretraction_speed = 30 +extruder_colour = #FCE94F +extruder_offset = 0x0 +gcode_flavor = marlin2 +silent_mode = 0 +support_chamber_temp_control = 0 +support_air_filtration = 0 +machine_max_acceleration_e = 5000,5000 +machine_max_acceleration_extruding = 5000,5000 +machine_max_acceleration_retracting = 2500,2500 +machine_max_acceleration_x = 5000,5000 +machine_max_acceleration_y = 5000,5000 +machine_max_acceleration_z = 500,500 +machine_max_speed_e = 100,100 +machine_max_speed_x = 500,500 +machine_max_speed_y = 500,500 +machine_max_speed_z = 30,30 +machine_max_jerk_e = 5,5 +machine_max_jerk_x = 10,10 +machine_max_jerk_y = 10,10 +machine_max_jerk_z = 0.4,0.4 +machine_min_extruding_rate = 0,0 +machine_min_travel_rate = 0,0 +max_layer_height = 0.36 +min_layer_height = 0.08 +printable_height = 250 +extruder_clearance_radius = 90 +extruder_clearance_height_to_rod = 47 +extruder_clearance_height_to_lid = 34 +nozzle_diameter = 0.4 +printer_settings_id = +printer_variant = 0.4 +retraction_minimum_travel = 1 +retract_before_wipe = 100 +retract_when_changing_layer = 1 +retraction_length = 0.8 +retract_length_toolchange = 1 +z_hop = 0.4 +retract_restart_extra = 0 +retract_restart_extra_toolchange = 0 +retraction_speed = 30 +single_extruder_multi_material = 1 +change_filament_gcode = +wipe = 1 +z_hop_types = Slope Lift +before_layer_change_gcode = ;BEFORE_LAYER_CHANGE\n;[layer_z]\nG92 E0\n +default_print_profile = 0.20mm Standard @Creality Ender-3 V3 SE 0.4 nozzle +machine_start_gcode = M220 S100 ;Reset Feedrate \nM221 S100 ;Reset Flowrate \n \nM140 S[bed_temperature_initial_layer_single] ;Set final bed temp \nG28 ;Home \n \nG92 E0 ;Reset Extruder \nG1 Z2.0 F3000 ;Move Z Axis up \nM104 S[nozzle_temperature_initial_layer] ;Set final nozzle temp \nG1 X-2.1 Y20 Z0.28 F5000.0 ;Move to start position \nM190 S[bed_temperature_initial_layer_single] ;Wait for bed temp to stabilize \nM109 S[nozzle_temperature_initial_layer] ;Wait for nozzle temp to stabilize \nG1 X-2.1 Y145.0 Z0.28 F1500.0 E15 ;Draw the first line \nG1 X-2.4 Y145.0 Z0.28 F5000.0 ;Move to side a little \nG1 X-2.4 Y20 Z0.28 F1500.0 E30 ;Draw the second line \nG92 E0 ;Reset Extruder \nG1 E-1.0000 F1800 ;Retract a bit \nG1 Z2.0 F3000 ;Move Z Axis up \nG1 E0.0000 F1800 +machine_end_gcode = G91 ;Relative positionning \nG1 E-2 F2700 ;Retract a bit \nG1 E-2 Z0.2 F2400 ;Retract and raise Z \nG1 X5 Y5 F3000 ;Wipe out \nG1 Z10 ;Raise Z more \nG90 ;Absolute positionning \n \nG1 X0 Y220 ;Present print \nM106 S0 ;Turn-off fan \nM104 S0 ;Turn-off hotend \nM140 S0 ;Turn-off bed \n \nM84 X Y E ;Disable all steppers but Z +machine_max_acceleration_travel = 5000,5000 +machine_pause_gcode = M25 +bed_exclude_area = 0x0 +layer_change_gcode = +scan_first_layer = 0 +nozzle_type = brass +auxiliary_fan = 0 +printer_model = Creality Ender-3 V3 SE +printer_structure = i3 +bbl_use_printhost = 0 +bed_mesh_max = 99999,99999 +bed_mesh_min = -99999,-99999 +bed_mesh_probe_distance = 50,50 +best_object_pos = 0.5,0.5 +cooling_tube_length = 5 +cooling_tube_retraction = 91.5 +creality_flush_time = 86.0 +disable_m73 = 0 +emit_machine_limits_to_gcode = 1 +enable_filament_ramming = 1 +extra_loading_move = -2 +fan_kickstart = 0 +fan_speedup_overhangs = 1 +fan_speedup_time = 0 +high_current_on_filament_swap = 0 +machine_LED_light_exist = 0 +machine_load_filament_time = 11 +machine_platform_motion_enable = 0 +machine_unload_filament_time = 0 +manual_filament_change = 1 +nozzle_hrc = 0 +nozzle_volume = 0 +parking_pos_retraction = 92 +preferred_orientation = 0 +printable_area = 0x0,220x0,220x220,0x220 +purge_in_prime_tower = 1 +support_multi_bed_types = 1 +time_cost = 0 +use_firmware_retraction = 0 +use_relative_e_distances = 1 +z_offset = 0 +retract_lift_above = 0 +retract_lift_below = 0 +retract_lift_enforce = All Surfaces +wipe_distance = 2 + + + diff --git a/print_config/prusa_slicer/quality/0.08mm_Extra_Fine.ini b/print_config/prusa_slicer/quality/0.08mm_Extra_Fine.ini new file mode 100644 index 0000000..1123942 --- /dev/null +++ b/print_config/prusa_slicer/quality/0.08mm_Extra_Fine.ini @@ -0,0 +1,216 @@ +[metadata] +show_name = 0.08mm Extra Fine Quality + + +[settings] +adaptive_layer_height = 0 +reduce_crossing_wall = 0 +bridge_flow = 0.8 +bridge_speed = 25 +brim_width = 5 +print_sequence = by layer +default_acceleration = 2500 +bridge_no_support = 0 +elefant_foot_compensation = 0.15 +outer_wall_line_width = 0.42 +outer_wall_speed = 60 +line_width = 0.46 +infill_direction = 45 +sparse_infill_density = 10% +sparse_infill_pattern = zig-zag +initial_layer_line_width = 0.46 +initial_layer_print_height = 0.2 +initial_layer_speed = 60 +gap_infill_speed = 50 +infill_combination = 0 +sparse_infill_line_width = 0.45 +infill_wall_overlap = 15% +sparse_infill_speed = 180 +interface_shells = 0 +detect_overhang_wall = 1 +reduce_infill_retraction = 1 +wall_loops = 2 +inner_wall_line_width = 0.45 +inner_wall_speed = 90 +print_settings_id = +raft_layers = 0 +seam_position = aligned +skirt_distance = 2 +skirt_height = 2 +minimum_sparse_infill_area = 10 +internal_solid_infill_line_width = 0.42 +internal_solid_infill_speed = 180 +spiral_mode = 0 +standby_temperature_delta = -5 +detect_thin_wall = 1 +top_surface_line_width = 0.42 +top_surface_speed = 50 +travel_speed = 150 +enable_prime_tower = 0 +prime_tower_width = 60 +xy_hole_compensation = 0 +xy_contour_compensation = 0 +max_travel_detour_distance = 0 +bottom_surface_pattern = monotonic +bottom_shell_layers = 7 +bottom_shell_thickness = 0 +brim_object_gap = 0.1 +compatible_printers_condition = +top_surface_acceleration = 2500 +draft_shield = disabled +enable_arc_fitting = 0 +wall_infill_order = inner wall/outer wall/infill +initial_layer_acceleration = 500 +travel_acceleration = 2500 +inner_wall_acceleration = 2000 +ironing_flow = 15% +ironing_spacing = 0.1 +ironing_speed = 20 +ironing_type = no ironing +layer_height = 0.08 +overhang_1_4_speed = 0 +overhang_2_4_speed = 20 +overhang_3_4_speed = 15 +overhang_4_4_speed = 10 +skirt_loops = 0 +resolution = 0.012 +top_surface_pattern = monotonicline +top_shell_layers = 9 +top_shell_thickness = 0.8 +initial_layer_infill_speed = 80 +wipe_tower_no_sparse_layers = 0 +accel_to_decel_enable = 1 +accel_to_decel_factor = 50% +acceleration_limit_mess = [[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]] +acceleration_limit_mess_enable = 0 +alternate_extra_wall = 0 +bottom_solid_infill_flow_ratio = 1 +bridge_acceleration = 50% +bridge_angle = 0 +bridge_density = 100% +brim_ears_detection_length = 1 +brim_ears_max_angle = 125 +brim_type = no_brim +default_jerk = 8 +detect_narrow_internal_solid_infill = 1 +elefant_foot_compensation_layers = 1 +enable_overhang_speed = 1 +enforce_support_layers = 0 +ensure_vertical_shell_thickness = ensure_all +exclude_object = 0 +extra_perimeters_on_overhangs = 0 +filter_out_gap_fill = 0 +flush_into_infill = 0 +flush_into_objects = 0 +flush_into_support = 1 +fuzzy_skin = none +fuzzy_skin_first_layer = 0 +fuzzy_skin_point_distance = 0.8 +fuzzy_skin_thickness = 0.3 +gcode_add_line_number = 0 +gcode_comments = 0 +gcode_label_objects = 1 +hole_to_polyhole = 0 +hole_to_polyhole_threshold = 0.01 +hole_to_polyhole_twisted = 1 +independent_support_layer_height = 1 +infill_anchor = 400% +infill_anchor_max = 20 +infill_jerk = 20 +initial_layer_jerk = 8 +initial_layer_min_bead_width = 85% +initial_layer_travel_speed = 100% +inner_wall_jerk = 20 +internal_bridge_flow = 1 +internal_bridge_speed = 150% +internal_solid_infill_acceleration = 100% +internal_solid_infill_pattern = monotonic +ironing_angle = -1 +ironing_pattern = zig-zag +ironing_support_layer = 0 +is_infill_first = 0 +make_overhang_printable = 0 +make_overhang_printable_angle = 55 +make_overhang_printable_hole_size = 0 +max_bridge_length = 10 +max_volumetric_extrusion_rate_slope = 0 +max_volumetric_extrusion_rate_slope_segment_length = 3 +min_bead_width = 85% +min_feature_size = 25% +min_width_top_surface = 300% +minimum_support_area = 5 +mmu_segmented_region_interlocking_depth = 0 +mmu_segmented_region_max_width = 0 +only_one_wall_first_layer = 0 +only_one_wall_top = 0 +ooze_prevention = 0 +outer_wall_acceleration = 1000 +outer_wall_jerk = 20 +overhang_reverse = 0 +overhang_reverse_internal_only = 0 +overhang_reverse_threshold = 50% +overhang_speed_classic = 0 +precise_outer_wall = 0 +prime_tower_brim_width = 3 +prime_tower_enhance_type = chamfer +prime_volume = 45 +print_flow_ratio = 1 +print_order = default +raft_contact_distance = 0.1 +raft_expansion = 1.5 +raft_first_layer_density = 90% +raft_first_layer_expansion = 2 +role_based_wipe_speed = 1 +scarf_angle_threshold = 155 +scarf_joint_flow_ratio = 1 +scarf_joint_speed = 100% +scarf_overhang_threshold = 40% +seam_gap = 10% +seam_slope_conditional = 0 +seam_slope_entire_loop = 0 +seam_slope_inner_walls = 0 +seam_slope_min_length = 20 +seam_slope_start_height = 0 +seam_slope_steps = 10 +seam_slope_type = none +single_extruder_multi_material_priming = 0 +skirt_speed = 50 +slice_closing_radius = 0.049 +slicing_mode = regular +slow_down_layers = 0 +slowdown_for_curled_perimeters = 0 +small_area_infill_flow_compensation = 0 +small_area_infill_flow_compensation_model = 0,0;\n0.2,0.4444;\n0.4,0.6145;\n0.6,0.7059;\n0.8,0.7619;\n1.5,0.8571;\n2,0.8889;\n3,0.9231;\n5,0.9520;\n10,1 +small_perimeter_speed = 50% +small_perimeter_threshold = 0 +solid_infill_filament = 1 +sparse_infill_acceleration = 100% +sparse_infill_filament = 1 +speed_limit_to_height = [[100,150,200,6000],[150,200,200,4000],[200,250,200,2000]] +speed_limit_to_height_enable = 0 +spiral_mode_max_xy_smoothing = 200% +spiral_mode_smooth = 0 +staggered_inner_seams = 1 +thick_bridges = 0 +thick_internal_bridges = 1 +timelapse_type = 0 +top_solid_infill_flow_ratio = 1 +top_surface_jerk = 9 +travel_jerk = 12 +travel_speed_z = 0 +wall_direction = auto +wall_distribution_count = 1 +wall_filament = 1 +wall_generator = arachne +wall_sequence = inner wall/outer wall +wall_transition_angle = 10 +wall_transition_filter_deviation = 25% +wall_transition_length = 100% +wipe_before_external_loop = 0 +wipe_on_loops = 0 +wipe_speed = 80% +wipe_tower_bridging = 10 +wipe_tower_cone_angle = 0 +wipe_tower_extra_spacing = 100% +wipe_tower_rotation_angle = 0 +wiping_volumes_extruders = 70,70,70,70,70,70,70,70,70,70 diff --git a/print_config/prusa_slicer/quality/0.12mm_Fine.ini b/print_config/prusa_slicer/quality/0.12mm_Fine.ini new file mode 100644 index 0000000..4e5fa60 --- /dev/null +++ b/print_config/prusa_slicer/quality/0.12mm_Fine.ini @@ -0,0 +1,200 @@ +[metadata] +show_name = 0.12mm Fine Quality + + +[settings] +adaptive_layer_height = 0 +reduce_crossing_wall = 0 +bridge_flow = 0.95 +bridge_speed = 100 +brim_width = 5 +print_sequence = by layer +default_acceleration = 2500 +bridge_no_support = 0 +elefant_foot_compensation = 0 +outer_wall_line_width = 0.42 +outer_wall_speed = 60 +line_width = 0.46 +infill_direction = 45 +sparse_infill_density = 15% +sparse_infill_pattern = grid +initial_layer_line_width = 0.46 +initial_layer_print_height = 0.2 +initial_layer_speed = 30 +gap_infill_speed = 50 +infill_combination = 0 +sparse_infill_line_width = 0.45 +infill_wall_overlap = 15% +sparse_infill_speed = 180 +interface_shells = 0 +detect_overhang_wall = 1 +reduce_infill_retraction = 1 +wall_loops = 2 +inner_wall_line_width = 0.45 +inner_wall_speed = 90 +print_settings_id = +raft_layers = 0 +seam_position = aligned +skirt_distance = 2 +skirt_height = 2 +minimum_sparse_infill_area = 10 +internal_solid_infill_line_width = 0.42 +internal_solid_infill_speed = 180 +spiral_mode = 0 +standby_temperature_delta = -5 +detect_thin_wall = 1 +top_surface_line_width = 0.42 +top_surface_speed = 50 +travel_speed = 150 +enable_prime_tower = 0 +prime_tower_width = 60 +xy_hole_compensation = 0 +xy_contour_compensation = 0 +max_travel_detour_distance = 0 +bottom_surface_pattern = monotonic +bottom_shell_layers = 5 +bottom_shell_thickness = 0 +brim_object_gap = 0.1 +compatible_printers_condition = +top_surface_acceleration = 2500 +draft_shield = disabled +enable_arc_fitting = 0 +wall_infill_order = inner wall/outer wall/infill +initial_layer_acceleration = 500 +travel_acceleration = 2500 +inner_wall_acceleration = 2000 +ironing_flow = 15% +ironing_spacing = 0.1 +ironing_speed = 20 +ironing_type = no ironing +layer_height = 0.12 +overhang_1_4_speed = 0 +overhang_2_4_speed = 20 +overhang_3_4_speed = 15 +overhang_4_4_speed = 10 +skirt_loops = 0 +resolution = 0.012 +top_surface_pattern = monotonic +top_shell_layers = 5 +top_shell_thickness = 0.8 +initial_layer_infill_speed = 80 +wipe_tower_no_sparse_layers = 0 +accel_to_decel_enable = 1 +accel_to_decel_factor = 50% +acceleration_limit_mess = [[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]] +acceleration_limit_mess_enable = 0 +alternate_extra_wall = 0 +bottom_solid_infill_flow_ratio = 1 +bridge_acceleration = 50% +bridge_angle = 0 +bridge_density = 100% +brim_ears_detection_length = 1 +brim_ears_max_angle = 125 +brim_type = no_brim +default_jerk = 8 +detect_narrow_internal_solid_infill = 1 +elefant_foot_compensation_layers = 1 +enable_overhang_speed = 1 +enforce_support_layers = 0 +ensure_vertical_shell_thickness = ensure_all +exclude_object = 0 +extra_perimeters_on_overhangs = 0 +filter_out_gap_fill = 0 +flush_into_infill = 0 +flush_into_objects = 0 +flush_into_support = 1 +fuzzy_skin = none +fuzzy_skin_first_layer = 0 +fuzzy_skin_point_distance = 0.8 +fuzzy_skin_thickness = 0.3 +gcode_add_line_number = 0 +gcode_comments = 0 +gcode_label_objects = 1 +hole_to_polyhole = 0 +hole_to_polyhole_threshold = 0.01 +hole_to_polyhole_twisted = 1 +independent_support_layer_height = 1 +infill_anchor = 400% +infill_anchor_max = 20 +infill_jerk = 20 +initial_layer_jerk = 8 +initial_layer_min_bead_width = 85% +initial_layer_travel_speed = 100% +inner_wall_jerk = 20 +internal_bridge_flow = 1 +internal_bridge_speed = 150% +internal_solid_infill_acceleration = 100% +internal_solid_infill_pattern = monotonic +ironing_angle = -1 +ironing_pattern = zig-zag +ironing_support_layer = 0 +is_infill_first = 0 +make_overhang_printable = 0 +make_overhang_printable_angle = 55 +make_overhang_printable_hole_size = 0 +max_bridge_length = 10 +max_volumetric_extrusion_rate_slope = 0 +max_volumetric_extrusion_rate_slope_segment_length = 3 +min_bead_width = 85% +min_feature_size = 25% +min_width_top_surface = 300% +minimum_support_area = 5 +mmu_segmented_region_interlocking_depth = 0 +mmu_segmented_region_max_width = 0 +only_one_wall_first_layer = 0 +only_one_wall_top = 0 +ooze_prevention = 0 +outer_wall_acceleration = 1000 +outer_wall_jerk = 20 +overhang_reverse = 0 +overhang_reverse_internal_only = 0 +overhang_reverse_threshold = 50% +overhang_speed_classic = 0 +precise_outer_wall = 0 +prime_tower_brim_width = 3 +prime_volume = 45 +print_flow_ratio = 1 +raft_contact_distance = 0.1 +raft_expansion = 1.5 +raft_first_layer_density = 90% +raft_first_layer_expansion = 2 +role_based_wipe_speed = 1 +seam_gap = 10% +single_extruder_multi_material_priming = 0 +skirt_speed = 50 +slice_closing_radius = 0.049 +slicing_mode = regular +slow_down_layers = 0 +slowdown_for_curled_perimeters = 0 +small_perimeter_speed = 50% +small_perimeter_threshold = 0 +solid_infill_filament = 1 +sparse_infill_acceleration = 100% +sparse_infill_filament = 1 +speed_limit_to_height = [[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]] +speed_limit_to_height_enable = 0 +spiral_mode_max_xy_smoothing = 200% +spiral_mode_smooth = 0 +staggered_inner_seams = 0 +thick_bridges = 0 +thick_internal_bridges = 1 +timelapse_type = 0 +top_solid_infill_flow_ratio = 1 +top_surface_jerk = 20 +travel_jerk = 8 +travel_speed_z = 0 +wall_distribution_count = 1 +wall_filament = 1 +wall_generator = arachne +wall_sequence = inner wall/outer wall +wall_transition_angle = 10 +wall_transition_filter_deviation = 25% +wall_transition_length = 100% +wipe_before_external_loop = 0 +wipe_on_loops = 0 +wipe_speed = 80% +wipe_tower_bridging = 10 +wipe_tower_cone_angle = 0 +wipe_tower_extra_spacing = 100% +wipe_tower_rotation_angle = 0 +wiping_volumes_extruders = 70,70,70,70,70,70,70,70,70,70 diff --git a/print_config/prusa_slicer/quality/0.16mm_Optimal.ini b/print_config/prusa_slicer/quality/0.16mm_Optimal.ini new file mode 100644 index 0000000..7a9c86a --- /dev/null +++ b/print_config/prusa_slicer/quality/0.16mm_Optimal.ini @@ -0,0 +1,200 @@ +[metadata] +show_name = 0.16mm Optimal Quality + + +[settings] +adaptive_layer_height = 0 +reduce_crossing_wall = 0 +bridge_flow = 0.95 +bridge_speed = 100 +brim_width = 5 +print_sequence = by layer +default_acceleration = 2500 +bridge_no_support = 0 +elefant_foot_compensation = 0 +outer_wall_line_width = 0.42 +outer_wall_speed = 60 +line_width = 0.46 +infill_direction = 45 +sparse_infill_density = 15% +sparse_infill_pattern = grid +initial_layer_line_width = 0.46 +initial_layer_print_height = 0.2 +initial_layer_speed = 30 +gap_infill_speed = 50 +infill_combination = 0 +sparse_infill_line_width = 0.45 +infill_wall_overlap = 15% +sparse_infill_speed = 180 +interface_shells = 0 +detect_overhang_wall = 1 +reduce_infill_retraction = 1 +wall_loops = 2 +inner_wall_line_width = 0.45 +inner_wall_speed = 90 +print_settings_id = +raft_layers = 0 +seam_position = aligned +skirt_distance = 2 +skirt_height = 2 +minimum_sparse_infill_area = 10 +internal_solid_infill_line_width = 0.42 +internal_solid_infill_speed = 180 +spiral_mode = 0 +standby_temperature_delta = -5 +detect_thin_wall = 1 +top_surface_line_width = 0.42 +top_surface_speed = 50 +travel_speed = 150 +enable_prime_tower = 0 +prime_tower_width = 60 +xy_hole_compensation = 0 +xy_contour_compensation = 0 +max_travel_detour_distance = 0 +bottom_surface_pattern = monotonic +bottom_shell_layers = 4 +bottom_shell_thickness = 0 +brim_object_gap = 0.1 +compatible_printers_condition = +top_surface_acceleration = 2500 +draft_shield = disabled +enable_arc_fitting = 0 +wall_infill_order = inner wall/outer wall/infill +initial_layer_acceleration = 500 +travel_acceleration = 2500 +inner_wall_acceleration = 2000 +ironing_flow = 15% +ironing_spacing = 0.1 +ironing_speed = 20 +ironing_type = no ironing +layer_height = 0.16 +overhang_1_4_speed = 0 +overhang_2_4_speed = 20 +overhang_3_4_speed = 15 +overhang_4_4_speed = 10 +skirt_loops = 0 +resolution = 0.012 +top_surface_pattern = monotonic +top_shell_layers = 6 +top_shell_thickness = 0.8 +initial_layer_infill_speed = 80 +wipe_tower_no_sparse_layers = 0 +accel_to_decel_enable = 1 +accel_to_decel_factor = 50% +acceleration_limit_mess = [[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]] +acceleration_limit_mess_enable = 0 +alternate_extra_wall = 0 +bottom_solid_infill_flow_ratio = 1 +bridge_acceleration = 50% +bridge_angle = 0 +bridge_density = 100% +brim_ears_detection_length = 1 +brim_ears_max_angle = 125 +brim_type = no_brim +default_jerk = 8 +detect_narrow_internal_solid_infill = 1 +elefant_foot_compensation_layers = 1 +enable_overhang_speed = 1 +enforce_support_layers = 0 +ensure_vertical_shell_thickness = ensure_all +exclude_object = 0 +extra_perimeters_on_overhangs = 0 +filter_out_gap_fill = 0 +flush_into_infill = 0 +flush_into_objects = 0 +flush_into_support = 1 +fuzzy_skin = none +fuzzy_skin_first_layer = 0 +fuzzy_skin_point_distance = 0.8 +fuzzy_skin_thickness = 0.3 +gcode_add_line_number = 0 +gcode_comments = 0 +gcode_label_objects = 1 +hole_to_polyhole = 0 +hole_to_polyhole_threshold = 0.01 +hole_to_polyhole_twisted = 1 +independent_support_layer_height = 1 +infill_anchor = 400% +infill_anchor_max = 20 +infill_jerk = 20 +initial_layer_jerk = 8 +initial_layer_min_bead_width = 85% +initial_layer_travel_speed = 100% +inner_wall_jerk = 20 +internal_bridge_flow = 1 +internal_bridge_speed = 150% +internal_solid_infill_acceleration = 100% +internal_solid_infill_pattern = monotonic +ironing_angle = -1 +ironing_pattern = zig-zag +ironing_support_layer = 0 +is_infill_first = 0 +make_overhang_printable = 0 +make_overhang_printable_angle = 55 +make_overhang_printable_hole_size = 0 +max_bridge_length = 10 +max_volumetric_extrusion_rate_slope = 0 +max_volumetric_extrusion_rate_slope_segment_length = 3 +min_bead_width = 85% +min_feature_size = 25% +min_width_top_surface = 300% +minimum_support_area = 5 +mmu_segmented_region_interlocking_depth = 0 +mmu_segmented_region_max_width = 0 +only_one_wall_first_layer = 0 +only_one_wall_top = 0 +ooze_prevention = 0 +outer_wall_acceleration = 1000 +outer_wall_jerk = 20 +overhang_reverse = 0 +overhang_reverse_internal_only = 0 +overhang_reverse_threshold = 50% +overhang_speed_classic = 0 +precise_outer_wall = 0 +prime_tower_brim_width = 3 +prime_volume = 45 +print_flow_ratio = 1 +raft_contact_distance = 0.1 +raft_expansion = 1.5 +raft_first_layer_density = 90% +raft_first_layer_expansion = 2 +role_based_wipe_speed = 1 +seam_gap = 10% +single_extruder_multi_material_priming = 0 +skirt_speed = 50 +slice_closing_radius = 0.049 +slicing_mode = regular +slow_down_layers = 0 +slowdown_for_curled_perimeters = 0 +small_perimeter_speed = 50% +small_perimeter_threshold = 0 +solid_infill_filament = 1 +sparse_infill_acceleration = 100% +sparse_infill_filament = 1 +speed_limit_to_height = [[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]] +speed_limit_to_height_enable = 0 +spiral_mode_max_xy_smoothing = 200% +spiral_mode_smooth = 0 +staggered_inner_seams = 0 +thick_bridges = 0 +thick_internal_bridges = 1 +timelapse_type = 0 +top_solid_infill_flow_ratio = 1 +top_surface_jerk = 20 +travel_jerk = 8 +travel_speed_z = 0 +wall_distribution_count = 1 +wall_filament = 1 +wall_generator = arachne +wall_sequence = inner wall/outer wall +wall_transition_angle = 10 +wall_transition_filter_deviation = 25% +wall_transition_length = 100% +wipe_before_external_loop = 0 +wipe_on_loops = 0 +wipe_speed = 80% +wipe_tower_bridging = 10 +wipe_tower_cone_angle = 0 +wipe_tower_extra_spacing = 100% +wipe_tower_rotation_angle = 0 +wiping_volumes_extruders = 70,70,70,70,70,70,70,70,70,70 diff --git a/print_config/prusa_slicer/quality/0.20mm_Standard.ini b/print_config/prusa_slicer/quality/0.20mm_Standard.ini new file mode 100644 index 0000000..78ba00d --- /dev/null +++ b/print_config/prusa_slicer/quality/0.20mm_Standard.ini @@ -0,0 +1,226 @@ +[metadata] +show_name = 0.20mm Standard Quality + + +[settings] +adaptive_layer_height = 0 +reduce_crossing_wall = 0 +bridge_flow = 0.95 +bridge_speed = 50 +brim_width = 5 +print_sequence = by layer +default_acceleration = 2500 +bridge_no_support = 0 +elefant_foot_compensation = 0.15 +outer_wall_line_width = 0.42 +outer_wall_speed = 60 +line_width = 0.45 +infill_direction = 45 +sparse_infill_density = 15% +sparse_infill_pattern = zig-zag +initial_layer_line_width = 0.5 +initial_layer_print_height = 0.2 +initial_layer_speed = 30 +gap_infill_speed = 50 +infill_combination = 0 +sparse_infill_line_width = 0.45 +infill_wall_overlap = 30 +sparse_infill_speed = 180 +interface_shells = 0 +detect_overhang_wall = 1 +reduce_infill_retraction = 1 +wall_loops = 2 +inner_wall_line_width = 0.45 +inner_wall_speed = 90 +print_settings_id = +raft_layers = 0 +seam_position = aligned +skirt_distance = 2 +skirt_height = 2 +minimum_sparse_infill_area = 10 +internal_solid_infill_line_width = 0.42 +internal_solid_infill_speed = 180 +spiral_mode = 0 +standby_temperature_delta = -5 +detect_thin_wall = 0 +top_surface_line_width = 0.42 +top_surface_speed = 50 +travel_speed = 150 +enable_prime_tower = 0 +prime_tower_width = 60 +xy_hole_compensation = 0 +xy_contour_compensation = 0 +max_travel_detour_distance = 0 +bottom_surface_pattern = monotonic +bottom_shell_layers = 4 +bottom_shell_thickness = 0 +brim_object_gap = 0.1 +compatible_printers_condition = +top_surface_acceleration = 2500 +draft_shield = disabled +enable_arc_fitting = 1 +wall_infill_order = inner wall/outer wall/infill +initial_layer_acceleration = 500 +travel_acceleration = 2500 +inner_wall_acceleration = 2000 +ironing_flow = 15% +ironing_spacing = 0.1 +ironing_speed = 20 +ironing_type = no ironing +layer_height = 0.2 +overhang_1_4_speed = 0 +overhang_2_4_speed = 60 +overhang_3_4_speed = 30 +overhang_4_4_speed = 10 +skirt_loops = 0 +resolution = 0.012 + +top_surface_pattern = monotonic +top_shell_layers = 4 +top_shell_thickness = 0.8 +initial_layer_infill_speed = 80 +wipe_tower_no_sparse_layers = 0 +accel_to_decel_enable = 1 +accel_to_decel_factor = 25 +acceleration_limit_mess = [[0.5,1.0,100,6000],[1.0,1.5,80,5500],[1.5,2.0,60,5000]] +acceleration_limit_mess_enable = 0 +ai_infill = 0 +alternate_extra_wall = 0 +bottom_solid_infill_flow_ratio = 1 +bridge_acceleration = 50% +bridge_angle = 0 +bridge_density = 100% +brim_ears_detection_length = 1 +brim_ears_max_angle = 125 +brim_type = no_brim +counterbore_hole_bridging = none +default_jerk = 10 +detect_narrow_internal_solid_infill = 1 +dont_filter_internal_bridges = disabled +elefant_foot_compensation_layers = 1 +enable_overhang_speed = 1 +enforce_support_layers = 0 +ensure_vertical_shell_thickness = ensure_all +exclude_object = 0 +extra_perimeters_on_overhangs = 0 +filter_out_gap_fill = 0 +flush_into_infill = 0 +flush_into_objects = 0 +flush_into_support = 1 +fuzzy_skin = none +fuzzy_skin_first_layer = 0 +fuzzy_skin_point_distance = 0.8 +fuzzy_skin_thickness = 0.3 +gap_fill_target = everywhere +gcode_add_line_number = 0 +gcode_comments = 0 +gcode_label_objects = 1 +hole_to_polyhole = 0 +hole_to_polyhole_threshold = 0.01 +hole_to_polyhole_twisted = 1 +independent_support_layer_height = 1 +infill_anchor = 400% +infill_anchor_max = 20 +infill_jerk = 10 +initial_layer_jerk = 10 +initial_layer_min_bead_width = 85% +initial_layer_travel_speed = 100% +inner_wall_jerk = 10 +internal_bridge_flow = 1 +internal_bridge_speed = 150% +internal_solid_infill_acceleration = 100% +internal_solid_infill_pattern = monotonic +ironing_angle = -1 +ironing_pattern = zig-zag +ironing_support_layer = 0 +is_infill_first = 0 +make_overhang_printable = 0 +make_overhang_printable_angle = 55 +make_overhang_printable_hole_size = 0 +material_flow_dependent_temperature = 0 +material_flow_temp_graph = [[3.0,210],[10.0,220],[12.0,230]] +max_bridge_length = 10 +max_volumetric_extrusion_rate_slope = 0 +max_volumetric_extrusion_rate_slope_segment_length = 3 +min_bead_width = 85% +min_feature_size = 25% +min_length_factor = 0.5 +min_width_top_surface = 300% +minimum_support_area = 5 +mmu_segmented_region_interlocking_depth = 0 +mmu_segmented_region_max_width = 0 +only_one_wall_first_layer = 0 +only_one_wall_top = 1 +ooze_prevention = 0 +outer_wall_acceleration = 1000 +outer_wall_jerk = 10 +overhang_reverse = 0 +overhang_reverse_internal_only = 0 +overhang_reverse_threshold = 50% +overhang_speed_classic = 0 +precise_outer_wall = 0 +prime_tower_brim_width = 3 +prime_tower_enhance_type = chamfer +prime_volume = 45 +print_flow_ratio = 1 +print_order = default +raft_contact_distance = 0.1 +raft_expansion = 1.5 +raft_first_layer_density = 90% +raft_first_layer_expansion = 2 +role_based_wipe_speed = 0 +scarf_angle_threshold = 155 +scarf_joint_flow_ratio = 1 +scarf_joint_speed = 100% +scarf_overhang_threshold = 40% +seam_gap = 10% +seam_slope_conditional = 0 +seam_slope_entire_loop = 0 +seam_slope_inner_walls = 0 +seam_slope_min_length = 20 +seam_slope_start_height = 0 +seam_slope_steps = 10 +seam_slope_type = none +single_extruder_multi_material_priming = 0 +skirt_speed = 50 +slice_closing_radius = 0.049 +slicing_mode = regular +slow_down_layers = 0 +slowdown_for_curled_perimeters = 0 +small_area_infill_flow_compensation = 0 +small_area_infill_flow_compensation_model = 0,0;"\n0.2,0.4444";"\n0.4,0.6145";"\n0.6,0.7059";"\n0.8,0.7619";"\n1.5,0.8571";"\n2,0.8889";"\n3,0.9231";"\n5,0.9520";"\n10,1" +small_perimeter_speed = 50% +small_perimeter_threshold = 0 +solid_infill_filament = 1 +sparse_infill_acceleration = 100% +sparse_infill_filament = 1 +speed_limit_to_height = [[100,150,100,6000],[150,200,80,5500],[200,250,60,5000]] +speed_limit_to_height_enable = 0 +spiral_mode_max_xy_smoothing = 200% +spiral_mode_smooth = 0 +staggered_inner_seams = 1 + +thick_bridges = 0 +thick_internal_bridges = 1 +timelapse_type = 0 +top_solid_infill_flow_ratio = 1 +top_surface_jerk = 8 +travel_jerk = 10 +travel_speed_z = 0 + +wall_direction = auto +wall_distribution_count = 1 +wall_filament = 1 +wall_generator = arachne +wall_sequence = inner wall/outer wall +wall_transition_angle = 10 +wall_transition_filter_deviation = 25% +wall_transition_length = 100% +wipe_before_external_loop = 0 +wipe_on_loops = 0 +wipe_speed = 100% +wipe_tower_bridging = 10 +wipe_tower_cone_angle = 0 +wipe_tower_extra_spacing = 100% +wipe_tower_rotation_angle = 0 +wiping_volumes_extruders = 70,70,70,70,70,70,70,70,70,70 diff --git a/print_config/prusa_slicer/supports/no_support.ini b/print_config/prusa_slicer/supports/no_support.ini new file mode 100644 index 0000000..bb5fafb --- /dev/null +++ b/print_config/prusa_slicer/supports/no_support.ini @@ -0,0 +1,50 @@ +[metadata] +show_name = No Support + + +[settings] +enable_support = 0 +support_filament = 0 +support_line_width = 0.4 +support_interface_filament = 0 +support_on_build_plate_only = 0 +support_top_z_distance = 0.2 +support_interface_loop_pattern = 0 +support_interface_top_layers = 2 +support_interface_spacing = 0.5 +support_interface_speed = 100% +support_base_pattern = rectilinear +support_base_pattern_spacing = 2.5 +support_speed = 50 +support_threshold_angle = 30 +support_object_xy_distance = 0.35 + +support_type = normal(auto) +support_style = default +support_interface_bottom_layers = 2 +tree_support_branch_angle = 45 +tree_support_wall_count = 0 + +support_angle = 0 +support_bottom_interface_spacing = 0.5 +support_bottom_z_distance = 0.2 +support_critical_regions_only = 0 +support_expansion = 0 +support_interface_not_for_body = 1 +support_interface_pattern = auto +support_remove_small_overhang = 1 +support_xy_overrides_z = xy_overrides_z + +tree_support_adaptive_layer_height = 1 +tree_support_angle_slow = 25 +tree_support_auto_brim = 1 +tree_support_branch_angle_organic = 40 +tree_support_branch_diameter = 2 +tree_support_branch_diameter_angle = 5 +tree_support_branch_diameter_double_wall = 3 +tree_support_branch_diameter_organic = 2 +tree_support_branch_distance = 5 +tree_support_branch_distance_organic = 1 +tree_support_brim_width = 3 +tree_support_tip_diameter = 0.8 +tree_support_top_rate = 30% \ No newline at end of file diff --git a/tmp/patch_routes.py b/tmp/patch_routes.py index 68607b3..e95a0f7 100644 --- a/tmp/patch_routes.py +++ b/tmp/patch_routes.py @@ -1,36 +1,60 @@ import re -with open('app/routes.py', 'r', encoding='utf-8') as f: - text = f.read() +def update_main_routes(): + with open('app/routes/main_routes.py', 'r', encoding='utf-8') as f: + text = f.read() -old_str = """ print_file = PrintFile( - filename=unique_filename, - original_filename=f"{combined_name}.stl", - file_type='stl', - user_id=current_user.id, - status='waiting' - ) - db.session.add(print_file) - db.session.commit() + # Create the API endpoint + api_endpoint = """ +@main_bp.route('/api/engine_options/') +@login_required +def engine_options(engine_name): + from app.utils.slice_engines import get_slicer_engine + engine = get_slicer_engine(engine_name) + presets = engine.get_quality_presets(current_app) + patterns = engine.get_support_patterns() + return jsonify({'presets': presets, 'support_patterns': patterns}) +""" + if "def engine_options(engine_name):" not in text: + text += api_endpoint + + # Overwrite the old get_quality_presets + old_func = re.search(r'def get_quality_presets\(\):.*?(?=@main_bp\.route|\Z)', text, re.DOTALL) + if old_func: + text = text.replace(old_func.group(0), "") + + # Replace in plater() + if 'presets = get_quality_presets()' in text: + text = text.replace("presets = get_quality_presets()", "") - slice_stl_task(print_file.id, merged_filepath, quality)""" + with open('app/routes/main_routes.py', 'w', encoding='utf-8') as f: + f.write(text) -new_str = """ print_file = PrintFile( - filename=unique_filename, - original_filename=f"{combined_name}.stl", - file_type='stl', - user_id=current_user.id, - status='merging' - ) - db.session.add(print_file) - db.session.commit() +def update_admin_routes(): + with open('app/routes/admin_routes.py', 'r', encoding='utf-8') as f: + text = f.read() + + text = re.sub(r'from app\.utils\.print_config import get_quality_presets\n', '', text) - from .tasks import merge_and_slice_task - merge_and_slice_task(print_file.id, inputs, merged_filepath, quality)""" + old_ret = """ configs = {c.key: c.value for c in SystemConfig.query.all()} + presets = get_quality_presets() + engines = get_all_engines() + return render_template('admin/settings.html', configs=configs, presets=presets, engines=engines)""" + + new_ret = """ configs = {c.key: c.value for c in SystemConfig.query.all()} + engines = get_all_engines() + return render_template('admin/settings.html', configs=configs, engines=engines)""" + + if old_ret in text: + text = text.replace(old_ret, new_ret) + + old_func = re.search(r'def get_quality_presets\(\):.*?(?=@admin_bp\.route|\Z)', text, re.DOTALL) + if old_func: + text = text.replace(old_func.group(0), "") + + with open('app/routes/admin_routes.py', 'w', encoding='utf-8') as f: + f.write(text) -if old_str in text: - with open('app/routes.py', 'w', encoding='utf-8') as f: - f.write(text.replace(old_str, new_str)) - print("Patched successfully") -else: - print("Old string not found") +update_main_routes() +update_admin_routes() +print("Routes patched") diff --git a/tmp_get_ini_from_json.py b/tmp_get_ini_from_json.py new file mode 100644 index 0000000..27d3844 --- /dev/null +++ b/tmp_get_ini_from_json.py @@ -0,0 +1,21 @@ +import json +import os + + +if __name__ == "__main__": + all_files = os.sys.argv[1:] + print(all_files) + keys = {} + for file in all_files: + js = json.load(open(file)) + for k, v in js.items(): + if k in ['filament_id','setting_id',"type","name","from","instantiation","inherits","compatible_printers","filename_format"]: + continue + if type(v) == list: + v = v[0] + keys[k] = v + print(json.dumps(keys)) + with open("0.08mm_Extra_Fine.ini", "w") as f: + for k, v in keys.items(): + v_str = v.replace('\n', '\\n') + f.write(f"{k} = {v_str}\n") \ No newline at end of file