add cura profile

This commit is contained in:
Frank Zechert 2024-09-01 21:58:36 +02:00
parent fecc94e35d
commit 6373b60fe4
9 changed files with 358 additions and 0 deletions

View File

@ -0,0 +1,63 @@
# Install Cura Plugins
- Settings Guide
- Sidebar GUI
- Moonraker Connection
- Material Settings
- Power Cost
- Klipper Settings
- AutoTowers Generator
- Auto-Orientation
- Automatic Slicing Toggle
- Material Cost Tools
# Disable Cura Plugins
- USB Printing
# Loading Cura Printer Profiles
Cura loads printer quality configuration files in a stack.
The following files must be present in order for Cura to load a profile.
## Quality File
The file `quality/flsun_v400_global_<quality>_Quality.inst.cfg` defines some global properties for all nozzle sizes and
all materials. Linking global qualities to layer heights is a valid example, but not a must. Cura's intentions seems to
be centred on print speed.
`<quality>` should be replaced with one of the values following values, at least one must be present.
- Superdraft (e.g. for layer height of `0.4mm`, or a speed of `600mm/s`)
- Verydraft (e.g. for a layer height of `0.3mm`, or a speed of `400mm/s`)
- Draft (e.g. for a layer height of `0.2mm`, or a speed of `300mm/s`)
- Fast (e.g. for a layer height of `0.15mm`, or a speed of `200mm/s`)
- Normal (e.g. for a layer height of `0.1mm`, or a speed of `150mm/s`)
- High (e.g. for a layer height of `0.06mm`, or a speed of `80mm/s`)
## Variant File
On top of the global quality file, there needs to be setting file for each variant:
`variants/flsun_v400_<variant>.inst.cfg`. The settings in these files are specific to the variant, but are independent
of all quality or material settings.
Variants can be whatever machine detail you want to choose. Commonly, this is the nozzle size.
## Specific Settings
The third layer of the stack is the quality, material, and variant specific settings in
`quality/<material>/<variant>/flsun_v400_<variant>_<material>_<quality>_Quality.inst.cfg`.
## Intentions
Optionally, there can be even more modifications of settings in intent files.
They are stored in the intents folder with the name intent
`<material>/flsun_v400_<variant>_<material>_<quality>_<intent>.inst.cfg`.
This file can modify settings that are only relevant for specific intents. Examples for intents are
- Dimensional accuracy
- Visual Quality
- Smooth Surface
- etc

View File

@ -0,0 +1,74 @@
<html>
<head>
<meta charset="utf-8"/>
<title>Settings and replacement patterns</title>
<script type="text/javascript">
function showJSON(file) {
var xobj = new XMLHttpRequest();
xobj.overrideMimeType("application/json");
xobj.open('GET', file, false);
xobj.onreadystatechange = function () {
if (xobj.readyState == 4 && xobj.status == "200") {
var json = JSON.parse(xobj.responseText);
for(var category_id in json.settings) {
var category = json.settings[category_id];
document.write("<tr><th colspan=\"3\">" + category.label + "</th></tr>");
formatSettings(category.children);
}
}
};
xobj.send(null);
}
function formatSettings(settings) {
for(var setting_id in settings) {
var setting = settings[setting_id];
document.write("<tr><td>{" + setting_id + "}</td><td>" + setting.label + "</td><td>" + setting.description + "</td></tr>");
if(setting.children) {
formatSettings(setting.children)
}
}
}
</script>
</head>
<body>
<h1>Settings and replacement patterns</h1>
<h2>Application-defined patterns</h2>
<table>
<script type="text/javascript">
formatSettings({
"time": {"label": "", "description": "Time when slicing started"},
"date": {"label": "", "description": "Date when slicing started"},
"day": {"label": "", "description": "Day when slicing started"},
"initial_extruder_nr": {"label": "", "description": "The first extruder train used for the print"},
"print_temperature": {"label": "", "description": "Alias for material_print_temperature (deprecated, do not use)"},
"print_bed_temperature": {"label": "", "description": "Alias for material_bed_temperature (deprecated, do not use)"},
"travel_speed": {"label": "", "description": "Alias for speed_travel (deprecated, do not use)"},
"material_id": {"label": "", "description": "The id of the material (eg 'ultimaker_pla_blue')"},
"material_type": {"label": "", "description": "The type of material (eg 'PLA')"},
"material_name": {"label": "", "description": "The display name of the material (eg 'Blue PLA'"},
"material_brand": {"label": "", "description": "The brand of the material (eg 'Ultimaker')"},
"print_time": {"label": "", "description": "The print duration in ISO8601 format"},
"filament_amount": {"label": "", "description": "List of the lengths of extruded filaments per extruder"},
"filament_weight": {"label": "", "description": "List of the weights of extruded filament per extruder, if material density is known"},
"filament_cost": {"label": "", "description": "List of the cost of the extruded filaments per extruder, if the price of the material is known"},
"jobname": {"label": "", "description": "Print job name"}
});
</script>
</table>
<h2>Settings</h2>
<p>The following settings are defined in <a href="https://github.com/Ultimaker/Cura/blob/master/resources/definitions/fdmprinter.def.json">fdmprinter.def.json</a>.</p>
<table>
<script type="text/javascript">
showJSON("https://raw.githubusercontent.com/Ultimaker/Cura/master/resources/definitions/fdmprinter.def.json");
</script>
</table>
<h2>Extruder settings</h2>
<p>The following settings are defined in <a href="https://github.com/Ultimaker/Cura/blob/master/resources/definitions/fdmextruder.def.json">fdmextruder.def.json</a>, and are only settable per extruder</p>
<table>
<script type="text/javascript">
showJSON("https://raw.githubusercontent.com/Ultimaker/Cura/master/resources/definitions/fdmextruder.def.json");
</script>
</table>
</body>

View File

@ -0,0 +1,45 @@
{
"version": 2,
"name": "Flsun V400",
"inherits": "fdmprinter",
"metadata":
{
"visible": true,
"author": "FLSUN, Guislain Cyril, Frank Zechert",
"manufacturer": "Flsun",
"file_formats": "text/x-gcode",
"platform": "flsun_v400.stl",
"has_machine_quality": true,
"has_materials": true,
"machine_extruder_trains": { "0": "flsun_v400_extruder_0" },
"platform_offset": [
0,
-40.6455,
-43.5
]
},
"overrides":
{
"gantry_height": { "value": "0" },
"infill_sparse_density": { "default_value": 15 },
"machine_center_is_zero": { "default_value": true },
"machine_depth": { "default_value": 300 },
"machine_end_gcode": { "default_value": "END_PRINT\n" },
"machine_head_with_fans_polygon":
{
"default_value": [
[0, 0],
[0, 0],
[0, 0],
[0, 0]
]
},
"machine_heated_bed": { "default_value": true },
"machine_height": { "default_value": 410 },
"machine_shape": { "default_value": "elliptic" },
"machine_start_gcode": { "default_value": ";Nozzle diameter = {machine_nozzle_size}\n;Filament type = {material_type}\n;Filament name = {material_brand} {material_name}\n;Filament weight = {filament_weight}\n;M109 S{material_print_temperature}\n;M190 S{material_bed_temperature}\n\nSTART_PRINT BED_TEMP={material_bed_temperature_layer_0} EXTRUDER_TEMP={material_print_temperature_layer_0}\n" },
"machine_width": { "default_value": 300 },
"material_diameter": { "default_value": 1.75 },
"z_seam_type": { "value": "'sharpest_corner'" }
}
}

View File

@ -0,0 +1,15 @@
{
"version": 2,
"name": "Extruder 1",
"inherits": "fdmextruder",
"metadata":
{
"machine": "flsun_v400",
"position": "0"
},
"overrides":
{
"extruder_nr": { "default_value": 0 },
"material_diameter": { "default_value": 1.75 }
}
}

View File

@ -0,0 +1,42 @@
#!/bin/bash
DIR="$(dirname "$(realpath "$0")")"
CURA_CONFIG_BASE="${HOME}/.config/cura"
CURA_FOLDER="/opt/ultimaker-cura"
function get_cura_directories() {
local VERSION
VERSION=$(find "${CURA_CONFIG_BASE}" -maxdepth 1 -mindepth 1 -type d -printf "%f\n" -prune | sort -gr | head -n1)
CURA_CONFIG="${HOME}/.config/cura/${VERSION}"
CURA_SHARE="${HOME}/.local/share/cura/${VERSION}"
CURA_INTERNAL_SHARE="${CURA_FOLDER}/share/cura/resources"
}
get_cura_directories
echo "-------------------"
echo "Cura Configuration Folder: ${CURA_CONFIG}"
echo "Cura Share Folder: ${CURA_SHARE}"
echo "Cura Folder: ${CURA_FOLDER}"
echo "Own Folder: ${DIR}"
echo "-------------------"
echo "Deleting existing Cura resources for the printer FLSUN V400"
find "${CURA_INTERNAL_SHARE}" -type f -iname 'flsun_v400*' -exec sudo rm {} +
echo "-------------------"
echo "Installing new Cura resources for the printer FLSUN V400"
mkdir -p "${CURA_SHARE}/definitions" 2>/dev/null
mkdir -p "${CURA_SHARE}/extruders" 2>/dev/null
mkdir -p "${CURA_SHARE}/meshes" 2>/dev/null
ln -sf "${DIR}/definitions/flsun_v400.def.json" "${CURA_SHARE}/definitions/flsun_v400.def.json"
ln -sf "${DIR}/extruders/flsun_v400_extruder_0.def.json" "${CURA_SHARE}/extruders/flsun_v400_extruder_0.def.json"
ln -sf "${DIR}/meshes/flsun_v400.stl" "${CURA_SHARE}/meshes/flsun_v400.stl"
echo "-------------------"
echo "Installing Quality Profile"
mkdir -p "${CURA_SHARE}/quality"
mkdir -p "${CURA_SHARE}/quality/PLA/0.4"
mkdir -p "${CURA_SHARE}/variants"
ln -sf "${DIR}/quality/flsun_v400_global_Draft_Quality.inst.cfg" "${CURA_SHARE}/quality/flsun_v400_global_Draft_Quality.inst.cfg"
ln -sf "${DIR}/variants/flsun_v400_0.4.inst.cfg" "${CURA_SHARE}/variants/flsun_v400_0.4.inst.cfg"
ln -sf "${DIR}/quality/PLA/0.4/flsun_v400_0.4_PLA_Draft_Print.inst.cfg" "${CURA_SHARE}/quality/PLA/0.4/flsun_v400_0.4_PLA_Draft_Print.inst.cfg"
echo "-------------------"
echo "Done"

Binary file not shown.

View File

@ -0,0 +1,15 @@
[general]
version = 4
name = Draft
definition = flsun_v400
[metadata]
setting_version = 22
type = quality
quality_type = draft
weight = -2
material = generic_pla
variant = 0.4
[values]
line_width = 0.44

View File

@ -0,0 +1,92 @@
[general]
version = 4
name = Fast (Draft Quality)
definition = flsun_v400
[metadata]
setting_version = 23
type = quality
quality_type = draft
weight = -2
global_quality = True
[values]
layer_height = 0.2
layer_height_0 = 0.2
initial_layer_line_width_factor = 110
acceleration_enabled = False
acceleration_travel_enabled = False
acceleration_Layer_0 = 5000
acceleration_print = 8000
acceleration_topbottom = 5000
jerk_enabled = False
infill_pattern = ='zigzag' if infill_sparse_density > 80 else 'gyroid'
infill_overlap = =20 if infill_sparse_density > 80 else 5
infill_sparse_density = 20
infill_wall_line_count = 1
zig_zaggify_infill = True
bridge_settings_enabled = True
support_enable = False
support_structure = tree
support_type = everywhere
support_infill_rate = 10
support_pattern = lines
support_roof_enable = True
support_roof_pattern = grid
support_xy_distance = 0.16
roofing_layer_count = 1
top_bottom_thickness = 1
top_layers = 5
bottom_layers = 4
skin_monotonic = True
skin_overlap = 25
skirt_gap = 10
bridge_skin_speed = 60
bridge_wall_material_flow = 100
fill_outline_gaps = False
optimize_wall_printing_order = True
retraction_combing = off
small_feature_speed_factor = 40
small_hole_max_size = 9
speed_print = 200
speed_infill = =speed_print / 100 * 150
speed_layer_0 = 30
speed_travel_layer_0 = =speed_print / 100 * 50
speed_roofing = =speed_print / 100 * 30
speed_topbottom = =speed_print / 100 * 50
speed_wall_0 = =speed_print / 100 * 50
speed_wall_x = =speed_print
speed_z_hop = 30
wall_line_count = 3
wall_overhang_angle = 35
wall_overhang_speed_factor = 30
z_seam_type = sharpest_corner
retraction_amount = 0.7
retraction_speed = 40
retraction_extra_prime_amount = 0.05
machine_firmware_retract = True
klipper_retract_length = =retraction_amount
klipper_retract_prime_length = =retraction_extra_prime_amount
klipper_retract_prime_speed = =retraction_speed
klipper_retract_speed = =retraction_speed
klipper_retraction_speed = =retraction_speed

View File

@ -0,0 +1,12 @@
[general]
name = 0.4
version = 4
definition = flsun_v400
[metadata]
setting_version = 20
type = variant
hardware_type = nozzle
[values]
line_width = 0.44