Git Product home page Git Product logo

Comments (20)

DelphinPETER avatar DelphinPETER commented on June 27, 2024

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.

ubitux avatar ubitux commented on June 27, 2024

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 et z_offset, les autres sont en commentaires. Les 2 premières se map respectivement sur material_print_temperature et speed_travel. Pour le z_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.

DelphinPETER avatar DelphinPETER commented on June 27, 2024

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.

ubitux avatar ubitux commented on June 27, 2024

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 convention
  • author : 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 avec admesh (voir dans le Makefile 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.

DelphinPETER avatar DelphinPETER commented on June 27, 2024
  • 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 bien default_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 :
  1. j'ai rajouté quelques infos en commentaire au départ, cela peut être supprimé étant donné que ce n'est pas officiel
  2. La section palpeur est écrite en dur, c'est le G29, je sais pas comment le gérer avec une variable
  3. Dans le XML il est écrit G1 F{speed_travel} or dans Cura la variable speed_travel est exprimé en mm/s et dans le GCode il faut écrire la valeur en mm/min soit speed_travel * 60, je n'ai pas trouvé comment gérer cette variable du coup je l'ai écrit en dur soit G1 F3600

Je vais creuser le reste en attendant.

from dagoma-settings-for-cura.

ubitux avatar ubitux commented on June 27, 2024

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 et XXX qui traînent dans les listes de fields de definition.py, materials.py et qualities.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.

ubitux avatar ubitux commented on June 27, 2024

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.

BuBuaBu avatar BuBuaBu commented on June 27, 2024

ç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.

ubitux avatar ubitux commented on June 27, 2024

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.

DelphinPETER avatar DelphinPETER commented on June 27, 2024

Dès mon imprimante est dispo, je fais un test de mon coté pour voir.

from dagoma-settings-for-cura.

BuBuaBu avatar BuBuaBu commented on June 27, 2024

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.

DelphinPETER avatar DelphinPETER commented on June 27, 2024

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.

ubitux avatar ubitux commented on June 27, 2024

@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.

ubitux avatar ubitux commented on June 27, 2024

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.

BuBuaBu avatar BuBuaBu commented on June 27, 2024

Effectivement, le "material_diameter" est à 2.85, je l'ai édité dans l'ui pour 1.74 et le résultat et acceptable.

test-imp

En vert la version Cura 2.4 (standard), en noir CuraByDagoma en rapide.

from dagoma-settings-for-cura.

DelphinPETER avatar DelphinPETER commented on June 27, 2024

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.

ubitux avatar ubitux commented on June 27, 2024

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.

ubitux avatar ubitux commented on June 27, 2024

@DelphinPETER

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.

ubitux avatar ubitux commented on June 27, 2024

@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.

ubitux avatar ubitux commented on June 27, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.