Comments (20)
Hi, thank to contact me. I'm agree with you, it's really better to scripting the export of xml_config.xml file but I don't have the necessary level of coding and i have all do manually. :)
So, I think that I could help you to define the parameters and the specificed caracteristics, for example:
- Some variable need to be change in GCode, CuraByDagoma is based on Cura 15 and some variables have changed
- Some variable in quality section need to not be integrated in the quality file because it will be generate an error in Cura
- etc...
It could be really great if Cura could integrate our work.
Sorry for my english, maybe do you speach french ?
from dagoma-settings-for-cura.
Oui, on peut bien sûr passer en français. Je me disais que ce serait bien d'avoir une trace anglaise mais la Dagoma s'adresse principalement à une clientèle française donc pas de soucis ;)
-
pour les variables du GCode de Dagoma, il y en a 3 :
print_temperature
,travel_speed
etz_offset
, les autres sont en commentaires. Les 2 premières se map respectivement surmaterial_print_temperature
etspeed_travel
. Pour lez_offset
c'est un peu plus tricky parce que ça a l'air de dépendre d'options activées ou non (genre la présence du palpeur si je me souviens bien, possiblement uniquement liée à la discovery du coup). -
pour les qualities, je ne me suis pas encore penché dessus, le script est d'ailleurs vide.
Le project Cura a intégré très vite l'export des qualities
, et après quelques échanges sur IRC ils sont très partants pour intégrer la definition de l'imprimante.
Pour moi la priorité là c'est de terminer sur la génération de la definition de l'imprimante, avec le script definition.py
, du coup ce serait intéressant je pense de savoir quels sont les settings qui ont eu besoin d'un traitement spécial.
from dagoma-settings-for-cura.
Pour le definition.py
, il n'y pas de traitement spécial si ce n'est de bien faire attention au nom des variables qui changent. Mais votre code est déjà structuré pour supporter cela, donc pas de souci, juste à compléter.
(Voici ce que j'avais déjà converti https://github.com/DelphinPETER/Dagoma-Settings-For-Cura/blob/Cura_2.3/suivi/suivi_variables_discoeasy200.md)
Là où cela se complique c'est pour générer correctement les fichiers quality___.inst.cfg
et material___.xml.fdm_material
, j'ai pris le partie de rendre ces fichiers utilisables uniquement pour les dagoma, surtout que certaines variables sont liées à l'imprimante utilisée (la température du filament par exemple). Il faudrait que je vous fasse un résumé la dessus ce serai plus simple.
from dagoma-settings-for-cura.
J'ai fini une première pass rapide des paramètres, puis j'ai utilisé un petit script pour différencier nos 2 outputs :
import sys, json
i = sys.argv[1:]
o = ['/tmp/%s.json' % x for x in ('a', 'b')]
d = [json.loads(open(x).read()) for x in i]
for filename, data in zip(o, d):
open(filename, 'w').write(json.dumps(data, indent=4, sort_keys=True) + '\n')
print('diff -u ' + ' '.join(o))
Ce qui nous donne ça (résultat de mon script vers votre résultat) :
--- /tmp/a.json 2017-02-07 19:42:04.553652845 +0100
+++ /tmp/b.json 2017-02-07 19:42:04.553652845 +0100
@@ -1,15 +1,28 @@
{
- "id": "dagoma_discoeasy200",
+ "id": "discoeasy200",
"inherits": "fdmprinter",
"metadata": {
- "category": "Other",
+ "author": "Delphin PETER",
+ "category": "Dagoma",
"file_formats": "text/x-gcode",
- "manfacturer": "Dagoma",
- "platform": "dagoma_discoeasy200_platform.stl",
+ "has_machine_materials": true,
+ "has_machine_quality": true,
+ "manufacturer": "DAGOMA",
+ "platform": "dagoma_discoeasy200_plateform.stl",
+ "platform_offset": [
+ -105,
+ -57,
+ 110
+ ],
+ "preferred_material": "*chromatik_pla*",
+ "preferred_quality": "*chromatik_pla_standard*",
"visible": true
},
- "name": "Dagoma DiscoEasy200",
+ "name": "DiscoEasy200",
"overrides": {
+ "adhesion_type": {
+ "default_value": "brim"
+ },
"brim_line_count": {
"default_value": 10
},
@@ -23,14 +36,23 @@
"default_value": 50,
"maximum_value": "100"
},
+ "cool_lift_head": {
+ "default_value": false
+ },
+ "cool_min_layer_time": {
+ "default_value": 10
+ },
+ "infill_overlap": {
+ "default_value": 10
+ },
"machine_center_is_zero": {
"default_value": false
},
"machine_depth": {
- "default_value": 211
+ "default_value": 200
},
"machine_end_gcode": {
- "default_value": "M104 S0\nM106 S255 ;start fan full power\nM140 S0 ;heated bed heater off (if you have it)\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+3 F{speed_travel} ;move Z up a bit and retract filament even more\nG90\nG28 X Y\nM107 ;stop fan\nM84 ;shut down motors"
+ "default_value": "; -- END GCODE --\nM104 S0\nM106 S255 ;start fan full power\nM140 S0 ;heated bed heater off (if you have it)\n;Home machine\nG91 ;relative positioning\nG1 E-1 F300 ;retract the filament a bit before lifting the nozzle, to release some of the pressure\nG1 Z+3 F{speed_travel} ;move Z up a bit and retract filament even more\nG90\nG28 X Y\n;Ventilation forcee\nM107 ;stop fan\n;Shut down motor\nM84 ;shut down motors\n; -- end of END GCODE --"
},
"machine_extruder_count": {
"default_value": 1
@@ -42,11 +64,11 @@
"default_value": [
[
-17,
- -40
+ 70
],
[
-17,
- 70
+ -40
],
[
17,
@@ -62,23 +84,26 @@
"default_value": false
},
"machine_height": {
- "default_value": 205
+ "default_value": 200
},
"machine_name": {
"default_value": "DiscoEasy200"
},
"machine_nozzle_size": {
- "default_value": 0.4
+ "default": 0.4
},
"machine_start_gcode": {
- "default_value": "G90 ;absolute positioning\nM106 S250 ;fan on for the palpeur\nG28 X Y\nG1 X50\nM109 S180\nG28\nM104 S{material_print_temperature}\nM107 ;start with the fan off\nG1 X100 Y20 F3000\nG1 Z0.5\nM109 S{material_print_temperature}\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG1 F200 E10 ;extrude 10mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Z3\nG1 F{speed_travel}"
+ "default_value": "; -- START GCODE --\n;Vitesse impression = {speed_print}\n;Vitesse d\u00e9placement = {speed_travel}\n;Temp\u00e9rature : {material_print_temperature}\nG90 ;absolute positioning\nM106 S250 ;fan on for the palpeur\nG28 X Y\nG1 X50\nM109 S180\nG28\nM104 S{material_print_temperature}\nG29\nM107 ;start with the fan off\nG1 X100 Y20 F3000\nG1 Z0.5\nM109 S{material_print_temperature}\nM82 ;set extruder to absolute mode\nG92 E0 ;zero the extruded length\nG1 F200 E10 ;extrude 10mm of feed stock\nG92 E0 ;zero the extruded length again\nG1 Z3\nG1 F3600\n; -- end of START GCODE --"
},
"machine_width": {
- "default_value": 211
+ "default_value": 200
},
"magic_spiralize": {
"default_value": false
},
+ "material_diameter": {
+ "default_value": 1.75
+ },
"meshfix_extensive_stitching": {
"default_value": false
},
@@ -95,7 +120,7 @@
"default_value": 0.22
},
"raft_base_line_width": {
- "default_value": 1.0
+ "default_value": 1
},
"raft_base_thickness": {
"default_value": 0.3
@@ -127,8 +152,8 @@
"retraction_speed": {
"default_value": 50
},
- "skin_overlap": {
- "default_value": 25
+ "skirt_brim_minimal_length": {
+ "default_value": 150
},
"skirt_gap": {
"default_value": 3
@@ -136,9 +161,6 @@
"skirt_line_count": {
"default_value": 2
},
- "skirt_minimal_length": {
- "default_value": 150
- },
"support_angle": {
"default_value": 50
},
Petite analyse rapide de nos différences :
id
/name
: j'ai voulu préciser la brand pour qu'ils soient correctement regroupés dans Cura, il faudra voir avec l'upstream quelle est la bonne conventionauthor
: j'en ai pas mis mais je compte nous mettre tous les deux- un certain nombre de fields manquants (comme les
cool_...
), probablement dû à ma première pass pendant laquelle j'ai omis pas mal de ceux sur lesquels j'avais des doutes - GCode différents, je n'ai pas regardé en détail
- différence sur les polygons : j'ai utilisé
((-min_x, -min_y), (-min_x, max_y), ( max_x, max_y), ( max_x, -min_y))
. Note : le modèle que j'ai utilisé est rotate + translate avecadmesh
(voir dans leMakefile
pour les valeurs utilisées) machine_nozzle_size
: une typo de votre coté avec "default" vs "default_value" peut-être ?machine_{width,height,depth}
: vous utilisez 200/200/200 plutôt que les valeurs du XML, pourquoi ?
J'attaque maintenant une première génération des qualities
et j'arrête de réécrire mon historique git pour commencer à avoir un suivi sur l'unification etc.
from dagoma-settings-for-cura.
id/name
: attention, j'ai remarqué que si l'ID contient trop de caractères on a un bug après dans les qualité/matérial quand on veux filtrer avec le nom de l'imprimante. C'est pour ça que je me suis limité à moins 16 caractères (que je pense être la limite mais sans certitudes).author
: Pas de souci, ça me va les deux noms.- différence sur les polygons : j'ai triché, j'ai créé une imprimante dans Cura avec les paramètres du XML et j'ai copié les valeurs qui étaient inscrites dans mon profil cura (USERNAME/AppData/Cura, sous windows)
machine_nozzle_size
: c'est biendefault_value
, c'est une erreur dans mon fichier de conf.machine_{width,height,depth}
: je sais pas pourquoi, le reflex de la course qui doit être de 200x200x200, du coup j'ai vérifié les valeurs dans le firmware de la carte de pilotage est c'est de toutes façon limité à 205x205x205.- Le gros morceau, le GCode : j'ai trois différences :
- j'ai rajouté quelques infos en commentaire au départ, cela peut être supprimé étant donné que ce n'est pas officiel
- La section palpeur est écrite en dur, c'est le
G29
, je sais pas comment le gérer avec une variable - Dans le XML il est écrit
G1 F{speed_travel}
or dans Cura la variablespeed_travel
est exprimé en mm/s et dans le GCode il faut écrire la valeur en mm/min soitspeed_travel * 60
, je n'ai pas trouvé comment gérer cette variable du coup je l'ai écrit en dur soitG1 F3600
Je vais creuser le reste en attendant.
from dagoma-settings-for-cura.
Voilà, j'ai fini de faire n'importe quoi avec mon historique git, à partir de maintenant on peut itérer normalement :)
Ça génère donc l'arbre suivant :
.
├── definitions
│ └── dagoma_discoeasy200.def.json
├── materials
│ ├── chromatik_pla.xml.fdm_material
│ ├── fiberlogy_hd_pla.xml.fdm_material
│ ├── filo3d_pla_green.xml.fdm_material
│ ├── filo3d_pla_red.xml.fdm_material
│ ├── filo3d_pla.xml.fdm_material
│ ├── octofiber_pla.xml.fdm_material
│ ├── polyflex_pla.xml.fdm_material
│ ├── polymax_pla.xml.fdm_material
│ ├── polyplus_pla.xml.fdm_material
│ └── polywood_pla.xml.fdm_material
├── meshes
│ └── dagoma_discoeasy200_platform.stl
└── quality
└── dagoma_discoeasy200
├── discoeasy200_chromatik_pla_fast.inst.cfg
├── discoeasy200_chromatik_pla_high.inst.cfg
├── discoeasy200_chromatik_pla_normal.inst.cfg
├── discoeasy200_fiberlogy_hd_pla_fast.inst.cfg
├── discoeasy200_fiberlogy_hd_pla_high.inst.cfg
├── discoeasy200_fiberlogy_hd_pla_normal.inst.cfg
├── discoeasy200_filo3d_pla_fast.inst.cfg
├── discoeasy200_filo3d_pla_green_fast.inst.cfg
├── discoeasy200_filo3d_pla_green_high.inst.cfg
├── discoeasy200_filo3d_pla_green_normal.inst.cfg
├── discoeasy200_filo3d_pla_high.inst.cfg
├── discoeasy200_filo3d_pla_normal.inst.cfg
├── discoeasy200_filo3d_pla_red_fast.inst.cfg
├── discoeasy200_filo3d_pla_red_high.inst.cfg
├── discoeasy200_filo3d_pla_red_normal.inst.cfg
├── discoeasy200_octofiber_pla_fast.inst.cfg
├── discoeasy200_octofiber_pla_high.inst.cfg
├── discoeasy200_octofiber_pla_normal.inst.cfg
├── discoeasy200_polyflex_pla_flexible.inst.cfg
├── discoeasy200_polymax_pla_fast.inst.cfg
├── discoeasy200_polymax_pla_high.inst.cfg
├── discoeasy200_polymax_pla_normal.inst.cfg
├── discoeasy200_polyplus_pla_fast.inst.cfg
├── discoeasy200_polyplus_pla_high.inst.cfg
├── discoeasy200_polyplus_pla_normal.inst.cfg
└── discoeasy200_polywood_pla_wood.inst.cfg
Note : j'ai fait en sorte dans les quality
de supporter les "flexible" et "bois", pour lesquels si j'ai bien compris il n'existe pas de nuance rapide/standard/fin. Ça a l'air de fonctionner correctement dans Cura pour le moment.
Note : à l'exception de definitions/dagoma_discoeasy200.def.json
et meshes/dagoma_discoeasy200_platform.stl
, tout peut être copié dans le home dir. Apparemment, le bug est corrigé dans la version de dev et on peut tout mettre dans le home dir.
Note : je n'ai pas eu de soucis mentionné sur le id
Maintenant le but du jeu c'est...
- de recouper nos travaux en regardant quoi faire pour tous les
TODO
etXXX
qui traînent dans les listes de fields dedefinition.py
,materials.py
etqualities.py
- regarder pour le GCode
- tester si ça marche ; pour l'instant me concernant, je n'ai même pas encore utilisé
Cura_by_dagoma
donc j'ai aucune idée de comment c'est supposé réagir... - passer le tout mainline :)
from dagoma-settings-for-cura.
Je suis en train de regarder comment faire la multiplication par 60 sur le speed dans le GCode. Comme les materials génèrent des vitesses différentes on ne peut pas vraiment hardcoder une valeur.
Mais en attendant j'ai fixé manuellement le GCode généré par Cura et testé une impression :
Je crois qu'il y a encore des trucs à arranger ;)
from dagoma-settings-for-cura.
ça ressemble à un problème de température de buse insuffisante.
Probablement parce que temp_preci
n'est pas ajouté. Je crois que temp_preci
est une extension de CbD, et la valeur est ajoutée à la température défini pour le materials. Du moins, c'est ce que dit le code python de CdB.
from dagoma-settings-for-cura.
Ah, intéressant. Effectivement pour le moment j'ai ignoré ce setting (et il semblerait que ce soit le cas sur ce repo aussi). J'ai changé la température en rajoutant +5°C (profil standard) mais le résultat n'a pas tellement changé :
from dagoma-settings-for-cura.
Dès mon imprimante est dispo, je fais un test de mon coté pour voir.
from dagoma-settings-for-cura.
On pourrait comparer les paramètres passé à curaengine pour voir où est le problème.
(vu dans output.txt)
Voici ce que ça donne avec CbD, profil standard
`
Initialiastion
nozzle_size : 0.4
rectration_enable : True
fan_full_height : 0.5
fan_speed : 50
fan_speed_max : 100
coll_min_feedrate : 20
Filament : PLA Chromatik
filament_diameter : 1.74
filament_flow : 100
Température de base : 205
Remplissage : Creux (coque)
fill_density 0
Précision : Standard (0.15 mm)
layer_height 0.15
bottom_thickness / solid_layer_thickness : 1.05
shell_thickness / wall_thickness : 1.2
print_speed : 50
Print temp à add : 5.0
travel_speed : 60
bottom_layer_speed : 17
infill_speed : 50
inset0_speed : 40
insetx_speed : 45
Support Label : Supports pour impression :
support : None
platform_adhesion : None
Température d'impression : 210.0
Surface d'impression choisie :
name : Verre
height : 0.0
Offset en Z :
Valeur Entrée : 0.0
Valeur Calculée : 0.0
Palpeur Activé: Palpeur
Save in : Z:\home\3d\dagoma0.g
Closing down
`
Et avec Cura 2.4.0 + config du repo ubitux (console Linux filtrée et triée):
`
acceleration_enabled="False"
acceleration_infill="3000"
acceleration_layer_0="3000"
acceleration_prime_tower="3000"
acceleration_print="3000"
acceleration_print_layer_0="3000"
acceleration_skirt_brim="3000"
acceleration_support="3000"
acceleration_support_infill="3000"
acceleration_support_interface="3000"
acceleration_topbottom="3000"
acceleration_travel="5000"
acceleration_travel_layer_0="5000.0"
acceleration_wall_0="3000"
acceleration_wall="3000"
acceleration_wall_x="3000"
adhesion_extruder_nr="0"
adhesion_type="brim"
alternate_carve_order="True"
alternate_extra_perimeter="False"
anti_overhang_mesh="False"
blackmagic="0"
bottom_layers="7"
bottom_thickness="1.05"
brim_line_count="20"
brim_outside_only="True"
brim_width="8.0"
carve_multiple_volumes="False"
center_object="False"
coasting_enable="False"
coasting_min_volume="0.8"
coasting_speed="90"
coasting_volume="0.064"
command_line_settings="0"
conical_overhang_angle="50"
conical_overhang_enabled="False"
cool_fan_enabled="True"
cool_fan_full_at_height="0.3"
cool_fan_full_layer="2"
cool_fan_speed_0="0"
cool_fan_speed="100.0"
cool_fan_speed_max="100.0"
cool_fan_speed_min="100.0"
cooling="0"
cool_lift_head="False"
cool_min_layer_time="10"
cool_min_layer_time_fan_speed_max="10"
cool_min_speed="20"
default_material_print_temperature="205"
draft_shield_dist="10"
draft_shield_enabled="False"
draft_shield_height="10"
draft_shield_height_limitation="full"
dual="0"
dual_pre_wipe="True"
experimental="0"
extruder_nr="0"
extruder_prime_pos_abs="False"
extruder_prime_pos_x="0"
extruder_prime_pos_x="0"
extruder_prime_pos_y="0"
extruder_prime_pos_y="0" -g -e0
extruder_prime_pos_z="0"
extruder_prime_pos_z="0"
fill_perimeter_gaps="everywhere"
gantry_height="99999999999"
gradual_infill_step_height="5.0"
gradual_infill_steps="0"
infill="0"
infill_before_walls="True"
infill_hollow="False"
infill_line_distance="0"
infill_line_width="0.4"
infill_mesh="False"
infill_mesh_order="0"
infill_overlap="10"
infill_overlap_mm="0.04"
infill_pattern="grid"
infill_sparse_density="0.0"
infill_sparse_thickness="0.15"
infill_wipe_dist="0.1"
jerk_enabled="False"
jerk_infill="20"
jerk_layer_0="20"
jerk_prime_tower="20"
jerk_print="20"
jerk_print_layer_0="20"
jerk_skirt_brim="20"
jerk_support="20"
jerk_support_infill="20"
jerk_support_interface="20"
jerk_topbottom="20"
jerk_travel="30"
jerk_travel_layer_0="30.0"
jerk_wall_0="20"
jerk_wall="20"
jerk_wall_x="20"
layer_0_z_overlap="0.11"
layer_height_0="0.3"
layer_height="0.15"
layer_start_x="0.0"
layer_start_y="0.0"
line_width="0.4"
machine_acceleration="4000"
machine_center_is_zero="False"
machine_depth="211"
machine_disallowed_areas="[]"
machine_end_gcode="[...]"
machine_extruder_count="1"
machine_extruder_end_pos_abs="false" -e0 -l "0"
machine_extruder_end_pos_x="0"
machine_extruder_end_pos_y="0"
machine_extruder_start_pos_abs="false"
machine_extruder_start_pos_x="0"
machine_extruder_start_pos_y="0"
machine_filament_park_distance="16"
machine_gcode_flavor="DiscoGCode"
machine_head_polygon="[[-1, 1], [-1, -1], [1, -1], [1, 1]]"
machine_head_with_fans_polygon="[[-17, -40], [-17, 70], [17, 70], [17, -40]]"
machine_heated_bed="False"
machine_heat_zone_length="16"
machine_height="205"
machine_max_acceleration_e="10000"
machine_max_acceleration_x="9000"
machine_max_acceleration_y="9000"
machine_max_acceleration_z="100"
machine_max_feedrate_e="299792458000"
machine_max_feedrate_x="500"
machine_max_feedrate_y="500"
machine_max_feedrate_z="5"
machine_max_jerk_e="5.0"
machine_max_jerk_xy="20.0"
machine_max_jerk_z="0.4"
machine_min_cool_heat_time_window="50.0"
machine_minimum_feedrate="0.0"
machine_name="DiscoEasy200"
machine_nozzle_cool_down_speed="2.0"
machine_nozzle_expansion_angle="45"
machine_nozzle_head_distance="3"
machine_nozzle_heat_up_speed="2.0"
machine_nozzle_offset_x="0"
machine_nozzle_offset_y="0"
machine_nozzle_size="0.4"
machine_nozzle_tip_outer_diameter="1"
machine_settings="0"
machine_shape="rectangular"
machine_show_variants="False"
machine_start_gcode="[...]"
machine_use_extruder_offset_to_offset_coords="True"
machine_width="211"
magic_fuzzy_skin_enabled="False"
magic_fuzzy_skin_point_density="1.25"
magic_fuzzy_skin_point_dist="0.8"
magic_fuzzy_skin_thickness="0.3"
magic_mesh_surface_mode="normal"
magic_spiralize="False"
material="0"
material_bed_temperature="60"
material_bed_temperature_layer_0="60"
material_bed_temp_prepend="True"
material_bed_temp_wait="True"
material_diameter="2.85"
material_extrusion_cool_down_speed="0.7"
material_final_print_temperature="190"
material_flow="100"
material_flow_dependent_temperature="False"
material_flow_temp_graph="[[3.5,200],[7.0,240]]"
material_initial_print_temperature="195"
material_print_temperature="205"
material_print_temperature_layer_0="210"
material_print_temp_prepend="False"
material_print_temp_wait="True"
material_standby_temperature="150"
max_feedrate_z_override="0"
meshfix="0"
meshfix_extensive_stitching="False"
meshfix_keep_open_polygons="False"
meshfix_union_all_remove_holes="False"
meshfix_union_all="True"
mesh_position_x="0"
mesh_position_y="0"
mesh_position_z="0"
mesh_rotation_matrix="[[1,0,0], [0,1,0], [0,0,1]]"
multiple_mesh_overlap="0.15"
nozzle_disallowed_areas="[]"
ooze_shield_angle="60"
ooze_shield_dist="2"
ooze_shield_enabled="False"
outer_inset_first="False"
platform_adhesion="0"
prime_tower_enable="False"
prime_tower_flow="100"
prime_tower_line_width="0.4"
prime_tower_min_volume="10"
prime_tower_position_x="200"
prime_tower_position_y="200"
prime_tower_size="15"
prime_tower_wall_thickness="1.2084713039410424"
prime_tower_wipe_enabled="True"
print_sequence="all_at_once"
raft_acceleration="3000"
raft_airgap="0.22"
raft_base_acceleration="3000"
raft_base_fan_speed="0"
raft_base_jerk="20"
raft_base_line_spacing="1.6"
raft_base_line_width="0.8"
raft_base_speed="18.75"
raft_base_thickness="0.36"
raft_fan_speed="0"
raft_interface_acceleration="3000"
raft_interface_fan_speed="0"
raft_interface_jerk="20"
raft_interface_line_spacing="1.0"
raft_interface_line_width="0.8"
raft_interface_speed="18.75"
raft_interface_thickness="0.22499999999999998"
raft_jerk="20"
raft_margin="5"
raft_speed="25.0"
raft_surface_acceleration="3000"
raft_surface_fan_speed="0"
raft_surface_jerk="20"
raft_surface_layers="2"
raft_surface_line_spacing="0.4"
raft_surface_line_width="0.4"
raft_surface_speed="25.0"
raft_surface_thickness="0.15"
resolution="0"
retract_at_layer_change="False"
retraction_amount="3.5"
retraction_combing="all"
retraction_count_max="90"
retraction_enable="True"
retraction_extra_prime_amount="0"
retraction_extrusion_window="3.5"
retraction_hop="0"
retraction_hop_after_extruder_switch="True"
retraction_hop_enabled="False"
retraction_hop_only_when_collides="False"
retraction_min_travel="0.8"
retraction_prime_speed="50"
retraction_retract_speed="50"
retraction_speed="50"
shell="0"
skin_alternate_rotation="False"
skin_line_width="0.4"
skin_no_small_gaps_heuristic="True"
skin_outline_count="0"
skin_overlap="5"
skin_overlap_mm="0.02"
skirt_brim_line_width="0.4"
skirt_brim_minimal_length="150"
skirt_brim_speed="17"
skirt_gap="3"
skirt_line_count="2"
speed="0"
speed_equalize_flow_enabled="False"
speed_equalize_flow_max="150"
speed_infill="50"
speed_layer_0="17"
speed_prime_tower="50"
speed_print="50"
speed_print_layer_0="17"
speed_slowdown_layers="2.0"
speed_support="50"
speed_support_infill="50"
speed_support_interface="33.333333333333336"
speed_topbottom="25.0"
speed_travel="60"
speed_travel_layer_0="20.4"
speed_wall_0="40"
speed_wall="25.0"
speed_wall_x="45"
start_layers_at_same_position="False"
sub_div_rad_add="0.4"
sub_div_rad_mult="100"
support="0"
support_angle="50"
support_bottom_distance="0.15"
support_bottom_height="1"
support_bottom_stair_step_height="0.3"
support_conical_angle="30"
support_conical_enabled="False"
support_conical_min_width="5.0"
support_connect_zigzags="True"
support_enable="False"
support_extruder_nr="0"
support_extruder_nr_layer_0="0"
support_infill_extruder_nr="0"
support_infill_rate="20"
support_interface_density="100"
support_interface_enable="False"
support_interface_extruder_nr="0"
support_interface_height="1"
support_interface_line_distance="0.4"
support_interface_line_width="0.4"
support_interface_pattern="concentric"
support_interface_skip_height="0.3"
support_join_distance="2.0"
support_line_distance="2.0"
support_line_width="0.4"
support_mesh="False"
support_minimal_diameter="3.0"
support_offset="0.2"
support_pattern="lines"
support_roof_height="1"
support_top_distance="0.15"
support_tower_diameter="3.0"
support_tower_roof_angle="65"
support_type="everywhere"
support_use_towers="True"
support_xy_distance="0.7"
support_xy_distance_overhang="0.2"
support_xy_overrides_z="z_overrides_xy"
support_z_distance="0.15"
switch_extruder_prime_speed="20"
switch_extruder_retraction_amount="16"
switch_extruder_retraction_speed="20"
switch_extruder_retraction_speeds="20"
top_bottom_pattern="lines"
top_bottom_thickness="1.05"
top_layers="7"
top_thickness="1.05"
travel="0"
travel_avoid_distance="0.625"
travel_avoid_other_parts="True"
travel_compensate_overlapping_walls_0_enabled="True"
travel_compensate_overlapping_walls_enabled="True"
travel_compensate_overlapping_walls_x_enabled="True"
wall_0_inset="0"
wall_0_wipe_dist="0.2"
wall_line_count="3"
wall_line_width_0="0.4"
wall_line_width="0.4"
wall_line_width_x="0.4"
wall_thickness="1.2"
wireframe_bottom_delay="0"
wireframe_drag_along="0.6"
wireframe_enabled="False"
wireframe_fall_down="0.5"
wireframe_flat_delay="0.1"
wireframe_flow="100"
wireframe_flow_connection="100"
wireframe_flow_flat="100"
wireframe_height="3"
wireframe_nozzle_clearance="1"
wireframe_printspeed="5"
wireframe_printspeed_bottom="5"
wireframe_printspeed_down="5"
wireframe_printspeed_flat="5"
wireframe_printspeed_up="5"
wireframe_roof_drag_along="0.8"
wireframe_roof_fall_down="2"
wireframe_roof_inset="3"
wireframe_roof_outer_delay="0.2"
wireframe_straight_before_down="20"
wireframe_strategy="compensate"
wireframe_top_delay="0"
wireframe_top_jump="0.6"
wireframe_up_half_speed="0.3"
xy_offset="0"
z_seam_type="shortest"
z_seam_x="105.5"
z_seam_y="633"
`
from dagoma-settings-for-cura.
Je viens de me rendre compte que Cura est sortie en version 2.4.0
Du coup, je pense qu'il serait préférable que je passe mon dépôt en obsolète et que l'on se concentre sur celui de Ubitux https://github.com/ubitux/cura-dagoma
from dagoma-settings-for-cura.
@BuBuaBu j'ai commencé à comparer par rapport aux settings par défaut de Cura en fait. Voici les settings qui diffèrent de leur imprimante de référence fdmprinter
(minus machine_{start,end}_gcode
) :
machine_name: Unknown -> DiscoEasy200
machine_width: 100 -> 211
machine_depth: 100 -> 211
machine_height: 100 -> 205
machine_gcode_flavor: RepRap (Marlin/Sprinter) -> DiscoGCode
machine_head_with_fans_polygon: [[-20, 10], [10, 10], [10, -10], [-20, -10]] -> ((-17, -40), (-17, 70), (17, 70), (17, -40))
retraction_speed: 25 -> 50
retraction_amount: 6.5 -> 3.5
cool_min_layer_time: 5 -> 10
retraction_hop: 1 -> 0
skirt_line_count: 1 -> 2
skirt_brim_minimal_length: 250 -> 150
cool_fan_speed: 100 -> 50
cool_min_speed: 10 -> 20
skin_overlap: 5 -> 25
support_pattern: zigzag -> lines
support_infill_rate: 15 -> 20
support_z_distance: 0.1 -> 0.15
brim_line_count: 20 -> 10
raft_margin: 15 -> 5
raft_base_line_width: 0.8 -> 1.0
raft_interface_thickness: 0.15 -> 0.27
raft_interface_line_width: 0.7 -> 0.4
raft_airgap: 0.3 -> 0.22
La liste est finalement assez petite, mais il y a peut-être quelque chose qui n'est pas terrible là dedans. Ou peut-être simplement qu'il en manque à importer (Cf toujours les TODO
/XXX
). Ou encore, un problème dans la configuration des materials
/qualities
...
Je vais regarder à faire marcher la metadata has_machine_materials
qui n'avait pas l'air de vouloir se laisser faire, peut-être qu'un lien n'est pas correctement fait entre l'imprimante et la configuration des materials
.
@DelphinPETER ah oui, et en plus je teste même la version git de Cura/CuraEngine/Uranium/libArcus...
Mais bref, je serais intéressé par des tests d'autres personnes, peut-être que c'est simplement une merde de mon coté.
from dagoma-settings-for-cura.
En fait, je pense avoir une piste : on dirait que les paramètres des materials ne sont pas pris en compte dans Cura, donc je vais regarder de ce côté.
from dagoma-settings-for-cura.
Effectivement, le "material_diameter" est à 2.85, je l'ai édité dans l'ui pour 1.74 et le résultat et acceptable.
En vert la version Cura 2.4 (standard), en noir CuraByDagoma en rapide.
from dagoma-settings-for-cura.
Avec Cura 2.3 pour que les fichiers(material/qualité) soient bien filtrés il était impératif que les qualités mentionnent le nom de l'imprimante ET le nom du matérial. Exemple : 'material = chromatik_pla_discoeasy200', de plus j'avais noté que si l'ID de l'imprimante était trop long cela ne marchais pas non plus. Il faut détester tout ça avec Cura 2.4 voir si c'est toujours gérer de la même façon, auquel cas il faudra s'adapter.
from dagoma-settings-for-cura.
Je suis en train de voir avec eux sur ce problème ici : Ultimaker/Cura#1496
Sinon, j'ai pu fixer le problème du travel_speed * 60
ici :
ubitux/cura-dagoma@5422ba2
On pourra peut-être utiliser ce genre de mécanisme pour temp_preci
.
En attendant, la priorité c'est de faire correspondre correctement les materials avec les profils (Cf l'issue Cura). Je vous tiens au courant.
from dagoma-settings-for-cura.
Avec Cura 2.3 pour que les fichiers(material/qualité) soient bien filtrés il était impératif que les qualités mentionnent le nom de l'imprimante ET le nom du matérial. Exemple : 'material = chromatik_pla_discoeasy200', de plus j'avais noté que si l'ID de l'imprimante était trop long cela ne marchais pas non plus.
Alors, perso si je mets le nom de l'id de l'imprimante (ou n'importe quoi d'autres) dans metadata.material
dans les quality config files, je "casse" la référence. Même en renommant tout de dagoma_discoeasy200
vers juste discoeasy200
, le lien n'est pas fait. Par contre, en l'état j'ai bien un lien qui semble fonctionner, mais il fonctionne justement "trop" bien (Cf l'issue).
C'est un peu ghetto toute cette histoire, j'espère clarifier tout ça bientôt.
from dagoma-settings-for-cura.
@BuBuaBu le temp_preci
est correctement honoré maintenant depuis ubitux/cura-dagoma@8c70ad2. C'était plus simple que prévu finalement.
Il y a l'air d'y avoir d'autres façons de moduler la température (je vois notamment des jeux avec material_initial_print_temperature
et material_final_print_temperature
dans divers profils UM), mais à priori ce que je fais là correspond au comportement voulu par Dagoma.
from dagoma-settings-for-cura.
En ajustant manuellement le diameter
dans le Print Setup
:
J'obtiens un résultat plutôt correct (Chromatik PLA, Standard) :
Le problème de diameter
a l'air lié à Ultimaker/Cura#1441.
J'ai aussi je crois un problème avec mon z-offset, l'imprimante essaie d'imprimer trop bas, j'ai eu beaucoup de mal à détacher le tapis de soutien (et on en voit encore les traces). Et j'ai dû abandonner la tentative en Thin
où le problème était encore plus marqué.
Note : c'est curieux les glitch de fracturation sur les bordures.
from dagoma-settings-for-cura.
Related Issues (20)
- True / true - False / false HOT 4
- Mettre dans le bon ordre (par thème) HOT 2
- erreur température HOT 5
- erreur vitesse ventilateur HOT 2
- Suivi paramètre personnalisation JSON et CFG HOT 4
- Erreur / Coque / Epaisseur du dessous HOT 2
- La vitesse d’impression - un vaste sujet - Point N°1 HOT 3
- La vitesse d’impression - un vaste sujet - Point N°2
- La vitesse d’impression - un vaste sujet - Point N°3
- La vitesse d’impression - un vaste sujet - Point N°4
- La vitesse d’impression - un vaste sujet – Final => le code qui est produit HOT 3
- La vitesse d’impression - un vaste sujet – Final => Erreur vitesse dans le GCODE HOT 3
- La vitesse d’impression – Profile rapide => Corrections
- Support de la Discovery200 HOT 8
- dagoma_discoeasy200_plateform.s/STL/stl/ dans meshes HOT 1
- Probleme supports d'impression HOT 5
- Question HOT 1
- Definition de la retraction et de la premiere couche HOT 1
- Definition des caracteristiques du support HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dagoma-settings-for-cura.