Skip to content

Commit

Permalink
Reset error
Browse files Browse the repository at this point in the history
  • Loading branch information
5axes committed Jan 27, 2022
1 parent eb482f8 commit 9f8395d
Show file tree
Hide file tree
Showing 14 changed files with 1,399 additions and 460 deletions.
Binary file added Documentation/Profile-Structure.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions Documentation/Profiles-Settings.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
# Profils & Paramètres
[Document d'origine](https://github.com/Ultimaker/Cura/wiki/Profiles-&-Settings)


Cura utilise un système de profils superposés. Un aperçu schématique de ce système est présenté dans l'image ci-dessous.

![Machine instance](machine_instance.svg)

## Paramètres


Chacune des entrées de la pile (par exemple, Utilisateur, Qualité, Matière, etc.) décrit un profil. Lorsque nous voulons savoir quel pourcentage de remplissage doit être utilisé ("infill_sparse_density"), nous demandons simplement à la pile de l'extrudeuse quelle est sa valeur. La pile de l'extrudeuse demandera ensuite à chacun des profils qui la caractérise (en séquence) s'ils ont une valeur pour le paramètre demandé. Le premier profil à donner une réponse définira le résultat.

Une situation un peu plus compliquée se produit lorsque la valeur d'un paramètre est définie par une fonction. Prenons l'exemple suivant. Nous avons un paramètre "support_xy_distance" (Distance des supports en X/Y par rapport au modèle) dont la valeur est définie par la formule "=wall_line_width_0 * 2". Cette valeur est définie dans le profil de qualité de l'extrudeuse. La valeur de "wall_line_width_0" est définie dans la configuration de l'imprimante uniquement et est fixée à 0.4 (il est lui même égal à
=wall_line_width).

Lorsque nous demandons la valeur de "support_xy_distance", nous nous attendons à obtenir 0.8 en conséquence. Les appels suivants seront effectués dans l'ordre :

>extruder_stack.getProperty("support_xy_distance", "value") -> Returns 0.8
>user.getProperty("support_xy_distance", "value") -> Returns None
>quality_changes.getProperty("support_xy_distance", "value") -> Returns None
>intent.getProperty("support_xy_distance", "value") -> Returns None
>quality.getProperty("support_xy_distance", "value") -> Returns "=wall_line_width_0 * 2"
>user.getProperty("wall_line_width_0", "value") -> returns None
>quality_changes.getProperty("wall_line_width_0", "value") -> Returns None
>intent.getProperty("wall_line_width_0", "value") -> Returns None
>quality.getProperty("wall_line_width_0", "value") -> Returns None
>material.getProperty("wall_line_width_0", "value") -> Returns None
>machine.getProperty("wall_line_width_0", "value") -> Returns "=wall_line_width"
>machine.getProperty("wall_line_width", "value") -> Returns 0.4

## Profiles

Les profils ont une certaine interdépendance les uns avec les autres, comme on peut le voir sur l'image ci-dessous.

![Profile Structure](Profile-Structure.png)

### Utilisateur (User)

Les paramètres de l'utilisateur sont tous les changements qui ne sont pas enregistrés dans un profil. Dans l'interface, une icône circulaire de réinitialisation est affichée pour chacun de ces paramètres. Ils sont totalement indépendants de la qualité, des changements de qualité ou de l'intention. Ils sont uniquement "liés" à une machine.

### Changements de qualité (Quality Changes)

Les modifications de qualité contiennent les paramètres que l'utilisateur a modifiés et enregistrés dans un profil. Ainsi, un profil unique généré par un utilisateur contient au moins 2 fichiers (un **quality_change** pour l'extrudeuse et un pour la pile globale). Les modifications de qualité sont uniquement liées au type_qualité, puisqu'elles décrivent un "delta" à appliquer sur une qualité. Ainsi, même si une qualité change parce qu'un matériau change, le profil des modifications de qualité peut rester le même (puisqu'il n'y a qu'un lien, le **quality_type** reste le même)

### Objectif (Intent)

Les profils d'intention contiennent des paramètres qui modifient la qualité en leur donnant une intention (par exemple : "Engineering" ou "Smooth"). Ces profils dépendent de l'article, de la variante et du type_qualité

### Qualité (Quality)

Les profils de qualité conservent la résolution de l'impression en réglant la hauteur des couches. Comme toutes les extrudeuses doivent avoir la même hauteur de couche, cette valeur est fixée dans la partie global_stack de la qualité.

### Matière (Material)

Conservez tous les paramètres définis par la matière active.

### Variante (Variant)

La variante, dans le cas de l'extrudeuse, contient des réglages qui ont trait à la taille de la buse ou des réglages spécifiques qui s'y rapportent.

### Définition changes (Definition changes)

Si un utilisateur apporte des modifications à une machine, mais pas au point de la considérer comme un type de machine entièrement nouveau, les réglages sont enregistrés ici.

### Définition (Definition)

Les paramètres par défaut de la machine.
76 changes: 76 additions & 0 deletions Documentation/Profiles-Settings_en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Profiles & Settings

*[Origine document ](https://github.com/Ultimaker/Cura/wiki/Profiles-&-Settings) by Jaime van Kessel*

Cura uses a stacked profile system. A schematic overview of this can be seen in the image below.

![Machine instance](machine_instance_en.svg)

## Settings


Each of the entries in the stack (eg; User, Quality, Material, etc) describes a profile. When we want to find out how much infill percentage should be used ("infill_sparse_density"), we simply ask the extruder stack what value it has. The extruder stack will then ask each of the profiles that it has (in sequence) if they have a value for the requested setting. The first profile to give an answer will define what the result is.

A slightly more complicated situation occurs when the value of a setting is defined by a function. Let's take the following example into consideration. We have a setting "foo" which value is defined by the formula "=bar / 2". This is defined in the quality profile of the left extruder. The value of "bar" is defined in the material only and is set to 50.
When we ask for the value of "foo", we expect to get 25 as a result. The following calls will be made in order:

- extruder_stack.getProperty("foo", "value")
- user.getProperty("foo", "value") -> Returns None
- quality_changes.getProperty("foo", "value") -> Returns None
- intent.getProperty("foo", "value") -> Returns None
- quality.getProperty("foo", "value") -> Returns "=bar/2"
- user.getProperty("bar", "value") -> returns None
- quality_changes.getProperty("bar", "value) -> Returns None
- intent.getProperty("bar", "value) -> Returns None
- quality.getProperty("bar", "value) -> Returns None
- material.getProperty("bar", "value) -> Returns 50

## Profiles


The profiles have some interdependency with one other, as can be seen in the picture below.

![Profile Structure](Profile-Structure.png)

### User

The user settings are all changes that are not stored to any profile. In the interface, a circular reset icon is shown for each of these settings. They are completely independant of the quality, quality_changes or intent. They are only "tied" to a machine.


### Quality Changes

Quality changes contain the settings that the user changed and stored to a profile. As such, a single profile generated by a user contains at least 2 files (one quality_change for the extruder and one for the global stack).
The quality changes are only tied to the quality_type, since they describe a "delta" to be applied over a quality. So even if a quality changes because a material changes, the quality changes profile could stay the same (since it's only link, the quality_type remained the same)


### Intent

Intent profiles contain settings that modify the quality by giving them an intent (eg: "Engineering" or "Smooth").
These profiles depend on the material, variant and quality_type.

### Quality

Quality profiles hold the resolution of the print by setting the layer height. Since all extruders must have the same layer height, this value is set in the global_stack part of the quality.


### Material

Hold all the settings as defined by the active material.

### Variant

The variant, in case of the extruder, hold settings that have to do with nozzle size or specific settings that relate to this.


### Definition changes

If a user makes changes to a certain machine, but not to such a degree that it should be considered an entirely new type of machines, the settings are stored here.


### Definition

The machine default settings.




55 changes: 55 additions & 0 deletions Documentation/machine_instance.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 55 additions & 0 deletions Documentation/machine_instance_en.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images_doc/ViewActiveConfiguration.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images_doc/ViewAllCurrentPrinterProfiles.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images_doc/ViewProfilAnalyse.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Images_doc/menu.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 9f8395d

Please sign in to comment.