Draft: Stile delle annotazioni

From FreeCAD Documentation
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
This page is a translated version of the page Draft AnnotationStyleEditor and the translation is 100% complete.

Stile delle annotazioni

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

Descrizione

Il comando Stile delle annotazioni consente di definire gli stili che influenzano le proprietà visive di oggetti simili ad annotazioni, come quelli creati con i comandi Testo, Quotatura ed Etichetta.

La finestra di dialogo Editor Stile delle Annotazioni

Utilizzo

  1. Esistono diversi modi per invocare il comando:
    • Premere il pulsante Stili di annotazione....
    • Selezionare l'opzione Annotazione → Stili di annotazione... dal menu.
  2. Si apre la finestra di dialogo Editor degli stili di annotazione.
  3. Selezionare uno stile dall'elenco a discesa Nome stile o scegliere Aggiungi nuovo... per definire un nuovo stile.
  4. Regolare facoltativamente le proprietà dello stile.
  5. Facoltativamente, premere il pulsante Rinomina per rinominare lo stile.
  6. Facoltativamente, premere il pulsante Elimina per eliminare lo stile.
  7. Facoltativamente, premere il pulsante per importare tutti gli stili da un file .json. Questo sovrascriverà gli stili esistenti con lo stesso nome.
  8. Facoltativamente, premere il pulsante per esportare tutti gli stili in un file .json.
  9. Premere il pulsante OK per chiudere la finestra di dialogo e terminare il comando.

Script

Vedere anche: Autogenerated API documentation e Script di base per FreeCAD.

Gli stili di annotazione vengono salvati come dizionari serializzati nell'attributo Meta del documento. Questo attributo viene ispezionato dall'editor dello stile di annotazione quando viene aperto.

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

Ogni stile che appare nell'editor viene salvato internamente con il nome dello stile preceduto da Draft_Style_; questo evita i conflitti di nomi con altre chiavi che possono essere salvate in Meta, che può contenere informazioni arbitrarie.

Si può definire qualsiasi nuovo stile aggiungendo le informazioni necessarie a una chiave che inizia con Draft_Style_. Il valore corrispondente di questa chiave deve essere un dizionario serializzato usando json.

import json

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

Le proprietà non inserite verranno compilate automaticamente quando questo stile viene selezionato nell'editor di stile e viene premuto il pulsante OK.

Allo stesso modo, qualsiasi dizionario serializzato può essere decompresso per essere editato.

import json

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

Le proprietà devono avere i seguenti tipi:

Stringhe:

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

Numeri decimali (devono essere forniti con un punto decimale):

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

Numeri interi:

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

TextColor e LineColor corrispondono a un numero intero a 32 bit, da cui è possibile estrarre i singoli valori RGBA. ArrowType è un enumeratore.

Booleane:

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