Draft: Stile delle annotazioni

From FreeCAD Documentation
Revision as of 11:32, 19 May 2020 by Renatorivo (talk | contribs) (Created page with "# Premere il pusante {{Button|16px Stile delle annotazioni}}. # Aprire la casella combinata, quind...")

Draft AnnotationStyleEditor

Posizione nel menu
Annotazioni → Stile delle annotazioni...
Ambiente
Draft
Avvio veloce
Nessuno
Introdotto nella versione
0.19
Vedere anche
Testo, Quota, Etichetta

Descrizione

Lo strumento Stile delle annotazioni permette di definire stili che influenzano le proprietà visive di oggetti simili ad annotazioni, come quelli creati da Testo, Quota, e Etichetta.

File:Draft AnnotationStyleEditor example.png

Editor di stile per configurare le annotazioni.

Utilizzo

  1. Premere il pusante Stile delle annotazioni.
  2. Aprire la casella combinata, quindi scegliere Aggiungi nuovo... per definire un nuovo stile o selezionare uno degli stili esistenti.
  3. Regolare le proprietà dello stile, quindi premere OK.

Use the Rename or Delete to rename or delete the active style.

Scripting

The annotation styles are saved as serialized dictionaries in the Meta attribute of the document. This attribute is inspected by the annotation style editor when it is opened.

>>> print(App.ActiveDocument.Meta["Draft_Style_Lane 1:100"])
{"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 "}

Each style that appears in the editor is internally saved with the style name prefixed by Draft_Style_; this will prevent name clashes with other keys that may be saved in Meta, which can hold arbitrary information.

You may define any new style by adding the necessary information to a key that starts with Draft_Style_. The corresponding value of this key must be a dictionary serialized using json.

import json

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

The values not entered will be filled automatically when this style is selected in the style editor.

In a similar way, any serialized dictionary can be unpacked for edition.

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

Because the graphical interface widgets check the units of the input values, many of these values must be saved as strings, rather than floating point numbers.

Strings:

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

Numbers:

props = {
  "ScaleMultiplier": 1.0,
  "Decimals": 2,
  "LineWidth": 1,
  "LineColor": 1095216660480,
  "ArrowType": 0
}

The line color corresponds to the 32-bit integer, from which the individual RGBA values can be extracted.

Boolean:

props = {
  "ShowUnit": False,
  "ShowLines": True
}