Draft AnnotationStyleEditor/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
Line 23: Line 23:
La commande [[Image:Draft_AnnotationStyleEditor.svg|24px]] '''Draft Éditeur de styles d'annotations''' vous permet de définir des styles qui affectent les propriétés visuelles des objets de type annotation, comme ceux créés par les commandes [[Draft_Text/fr|Draft Texte]], [[Draft_Dimension/fr|Draft Dimension]] et [[Draft_Label/fr|Draft Étiquette]].
La commande [[Image:Draft_AnnotationStyleEditor.svg|24px]] '''Draft Éditeur de styles d'annotations''' vous permet de définir des styles qui affectent les propriétés visuelles des objets de type annotation, comme ceux créés par les commandes [[Draft_Text/fr|Draft Texte]], [[Draft_Dimension/fr|Draft Dimension]] et [[Draft_Label/fr|Draft Étiquette]].


{{Version|1.0}}: Several bugs have been fixed and a separate Text color button has been added.
[[File:Draft_AnnotationStyleEditor_example.png]]

[[File:Draft_AnnotationStyleEditor_Dialog.png]]
{{Caption|La boîte de dialogue Éditeur de styles d'annotation}}
{{Caption|La boîte de dialogue Éditeur de styles d'annotation}}


<span id="Usage"></span>
== Utilisation ==
== Utilisation ==


Line 40: Line 43:
# Appuyez sur le bouton {{Button|OK}} pour fermer la boîte de dialogue et terminer la commande.
# Appuyez sur le bouton {{Button|OK}} pour fermer la boîte de dialogue et terminer la commande.


<span id="Scripting"></span>
== Script ==
== Script ==


Voir aussi : [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] et [[FreeCAD_Scripting_Basics/fr|FreeCAD Débuter avec les scripts]].
Voir aussi : [https://freecad.github.io/SourceDoc/ Autogenerated API documentation] et [[FreeCAD_Scripting_Basics/fr|FreeCAD Débuter avec les scripts]].

{{Version|1.0}}: The information in this paragraph has been updated and reflects FreeCAD version 1.0.


Les styles d'annotation sont enregistrés en tant que dictionnaires sérialisés dans l'attribut {{incode|Meta}} du document. Cet attribut est inspecté par l'éditeur de style d'annotation lorsqu'il est ouvert.
Les styles d'annotation sont enregistrés en tant que dictionnaires sérialisés dans l'attribut {{incode|Meta}} du document. Cet attribut est inspecté par l'éditeur de style d'annotation lorsqu'il est ouvert.


{{Code|code=
{{Code|code=
>>> print(App.ActiveDocument.Meta["Draft_Style_Lane 1:100"])
>>> print(App.ActiveDocument.Meta["Draft_Style_Text red"])
{"FontName": "DejaVu Sans", "FontSize": "8.0000 ", "LineSpacing": "1 cm", "ScaleMultiplier": 1.0, "ShowUnit": false, "UnitOverride": "", "Decimals": 2, "ShowLines": true, "LineWidth": 2, "LineColor": 1095216660480, "ArrowType": 0, "ArrowSize": "5.0000 ", "DimensionOvershoot": "1.0000 ", "ExtensionLines": "5.0000 ", "ExtensionOvershoot": "1.0000 "}
{"FontName": "DejaVu Sans", "FontSize": 10.0, "LineSpacing": 1.0, "TextColor": 4278190335, "ScaleMultiplier": 1.0, "ShowUnit": false, "UnitOverride": "", "Decimals": 2, "ShowLine": true, "LineWidth": 2, "ArrowType": 0, "ArrowSize": 2.0, "LineColor": 255, "DimOvershoot": 0.0, "ExtLines": 0.0, "ExtOvershoot": 4.0}
}}
}}


Line 54: Line 60:


Vous pouvez définir tout nouveau style en ajoutant les informations nécessaires à une clé commençant par {{incode|Draft_Style_}}. La valeur correspondante de cette clé doit être un dictionnaire sérialisé à l'aide de {{incode|json}}.
Vous pouvez définir tout nouveau style en ajoutant les informations nécessaires à une clé commençant par {{incode|Draft_Style_}}. La valeur correspondante de cette clé doit être un dictionnaire sérialisé à l'aide de {{incode|json}}.

{{Code|code=
{{Code|code=
import json
import json


meta = App.ActiveDocument.Meta
meta = App.ActiveDocument.Meta
props = {"LineWidth": 6, "ArrowSize": "7"}
props = {"LineWidth": 6, "ArrowSize": 7.0}
meta["Draft_Style_Thick_lines"] = json.dumps(props)
meta["Draft_Style_Thick_lines"] = json.dumps(props)
App.ActiveDocument.Meta = meta
App.ActiveDocument.Meta = meta
}}
}}

<div class="mw-translate-fuzzy">
Les valeurs non saisies seront renseignées automatiquement lorsque ce style est sélectionné dans l'éditeur de styles.
Les valeurs non saisies seront renseignées automatiquement lorsque ce style est sélectionné dans l'éditeur de styles.
</div>


De la même manière, tout dictionnaire sérialisé peut être décompressé pour l'édition.
De la même manière, tout dictionnaire sérialisé peut être décompressé pour l'édition.

{{Code|code=
{{Code|code=
import json

meta = App.ActiveDocument.Meta
meta = App.ActiveDocument.Meta
new_dict = json.loads(meta["Draft_Style_Thick_lines"])
new_dict = json.loads(meta["Draft_Style_Thick_lines"])
}}
}}


The properties must have the following types:
Étant donné que les widgets de l'interface graphique vérifient les unités des valeurs d'entrée, bon nombre de ces valeurs doivent être enregistrées sous forme de chaînes de caractères plutôt que de nombres à virgule flottante.


Chaînes de caractères :
Chaînes de caractères :

{{Code|code=
{{Code|code=
props = {
props = {
"FontName": "DejaVu Sans",
"FontName": "DejaVu Sans",
"FontSize": "12.0000 ",
"UnitOverride": ""
"LineSpacing": "1 cm",
"UnitOverride": "m",
"ArrowSize": "5.0000 ",
"DimensionOvershoot": "1.0000 ",
"ExtensionLines": "5.0000 ",
"ExtensionOvershoot": "1.0000 "
}
}
}}
}}


Floats (must be supplied with a decimal point):
Nombres :

{{Code|code=
{{Code|code=
props = {
props = {
"ScaleMultiplier": 1.0,
"FontSize": 10.0,
"Decimals": 2,
"LineSpacing": 1.0,
"LineWidth": 1,
"ScaleMultiplier": 1.0,
"LineColor": 1095216660480,
"ArrowSize": 2.0,
"ArrowType": 0
"DimOvershoot": 0.0,
"ExtLines": 0.0,
"ExtOvershoot": 4.0
}
}
}}
}}

Integers:

{{Code|code=
props = {
"TextColor": 4278190335,
"Decimals": 2,
"LineWidth": 2,
"ArrowType": 0,
"LineColor": 255
}
}}

<div class="mw-translate-fuzzy">
La couleur de la ligne correspond à l'entier 32 bits, à partir duquel les valeurs RGBA individuelles peuvent être extraites.
La couleur de la ligne correspond à l'entier 32 bits, à partir duquel les valeurs RGBA individuelles peuvent être extraites.
</div>


<div class="mw-translate-fuzzy">
Booléen :
Booléen :
</div>

{{Code|code=
{{Code|code=
props = {
props = {
"ShowUnit": False,
"ShowUnit": false,
"ShowLines": True
"ShowLine": true
}
}
}}
}}

Revision as of 18:39, 15 February 2023

Draft Éditeur de styles d'annotations

Emplacement du menu
Annotation → Éditeur de styles d'annotations...
Ateliers
Draft
Raccourci par défaut
Aucun
Introduit dans la version
0.19
Voir aussi
Draft Texte, Draft Étiquette, Draft Dimension

Description

La commande Draft Éditeur de styles d'annotations vous permet de définir des styles qui affectent les propriétés visuelles des objets de type annotation, comme ceux créés par les commandes Draft Texte, Draft Dimension et Draft Étiquette.

introduced in version 1.0: Several bugs have been fixed and a separate Text color button has been added.

La boîte de dialogue Éditeur de styles d'annotation

Utilisation

  1. Il existe plusieurs façons de lancer la commande :
  2. La boîte de dialogue Éditeur de styles d'annotation s'ouvre.
  3. Sélectionnez un style dans la liste déroulante Nom du style ou choisissez Ajouter nouveau... pour définir un nouveau style.
  4. Vous pouvez également ajuster les propriétés du style.
  5. Vous pouvez également appuyer sur le bouton Renommer pour renommer le style.
  6. Vous pouvez également appuyer sur le bouton Supprimer pour supprimer le style.
  7. Vous pouvez également appuyer sur le bouton pour importer tous les styles d'un fichier .json. Cela écrasera les styles existants portant le même nom.
  8. Vous pouvez également appuyer sur le bouton pour exporter tous les styles vers un fichier .json.
  9. Appuyez sur le bouton OK pour fermer la boîte de dialogue et terminer la commande.

Script

Voir aussi : Autogenerated API documentation et FreeCAD Débuter avec les scripts.

introduced in version 1.0: The information in this paragraph has been updated and reflects FreeCAD version 1.0.

Les styles d'annotation sont enregistrés en tant que dictionnaires sérialisés dans l'attribut Meta du document. Cet attribut est inspecté par l'éditeur de style d'annotation lorsqu'il est ouvert.

>>> print(App.ActiveDocument.Meta["Draft_Style_Text red"])
{"FontName": "DejaVu Sans", "FontSize": 10.0, "LineSpacing": 1.0, "TextColor": 4278190335, "ScaleMultiplier": 1.0, "ShowUnit": false, "UnitOverride": "", "Decimals": 2, "ShowLine": true, "LineWidth": 2, "ArrowType": 0, "ArrowSize": 2.0, "LineColor": 255, "DimOvershoot": 0.0, "ExtLines": 0.0, "ExtOvershoot": 4.0}

Chaque style qui apparaît dans l'éditeur est enregistré en interne avec le nom de style préfixé par Draft_Style_. Cela empêchera des conflits de noms avec d'autres clés qui peuvent être enregistrées dans Meta et qui peuvent contenir des informations arbitraires.

Vous pouvez définir tout nouveau style en ajoutant les informations nécessaires à une clé commençant par Draft_Style_. La valeur correspondante de cette clé doit être un dictionnaire sérialisé à l'aide de json.

import json

meta = App.ActiveDocument.Meta
props = {"LineWidth": 6, "ArrowSize": 7.0}
meta["Draft_Style_Thick_lines"] = json.dumps(props)
App.ActiveDocument.Meta = meta

Les valeurs non saisies seront renseignées automatiquement lorsque ce style est sélectionné dans l'éditeur de styles.

De la même manière, tout dictionnaire sérialisé peut être décompressé pour l'édition.

import json

meta = App.ActiveDocument.Meta
new_dict = json.loads(meta["Draft_Style_Thick_lines"])

The properties must have the following types:

Chaînes de caractères :

props = {
    "FontName": "DejaVu Sans",
    "UnitOverride": ""
}

Floats (must be supplied with a decimal point):

props = {
    "FontSize": 10.0,
    "LineSpacing": 1.0,
    "ScaleMultiplier": 1.0,
    "ArrowSize": 2.0,
    "DimOvershoot": 0.0,
    "ExtLines": 0.0,
    "ExtOvershoot": 4.0
}

Integers:

props = {
    "TextColor": 4278190335,
    "Decimals": 2,
    "LineWidth": 2,
    "ArrowType": 0,
    "LineColor": 255
}

La couleur de la ligne correspond à l'entier 32 bits, à partir duquel les valeurs RGBA individuelles peuvent être extraites.

Booléen :

props = {
    "ShowUnit": false,
    "ShowLine": true
}