30 settembre 2022

Le variabili di sistema per i testi

Sono incredibilmente numerose le variabili di sistema destinate a governare i Testi del CAD, forse anche troppe.
In questo articolo una panoramica su alcune variabili da conoscere per impostare al meglio il proprio disegno Template. 

Alcune sono raggiungibili dalle finestre del comando Opzioni altre possono essere impostate o tramite variabile o dall'interno dell'editor di testo.

Le ho raggruppate in 4 macro categorie :

  • Aspetto dei testi
  • L'editor di testo
  • I font
  • Utilità


Aspetto dei testi

Di seguito la descrizione delle variabili che influenzano l’aspetto dei testi creati con il comando Testo o con il comando Testom. 

TEXTFILL 

Determina se i testi, il cui stile adotta un font True Type, debbano essere rappresentati in stampa con caratteri pieni (variabile con valore 1) o solo con il contorno (variabile a 0)


Potrebbe essere utile impostare la variabile uguale a 0 quando si fanno delle stampe di prova al fine di contenere il consumo di inchiostro sempre che, nel disegno, la presenza di testi sia consistente.  

TEXTSIZE

Indica l’altezza di default per i futuri oggetti di testo che saranno creati. Nel caso in cui lo stile di testo utilizzato avesse una altezza fissa il valore di TEXTSIZE sarebbe ignorato.

Una buona idea sarebbe quella di impostare questa variabile con il giusto valore nel disegno prototipo /template (.DWT) che si utilizza.

TEXTQLTY

Accetta valori da 0 a 100 ed influenza la qualità, in stampa, dei testi aventi stile con font True Type. 

In particolare controlla la tassellazione, cioè la definizione dei tratti curvi dei caratteri che possono essere più o meno definiti in funzione del valore che assume questa variabile. Valore da incrementare se si stampano testi di grandi dimensioni su fogli di grande formato.

Per disegni aventi un numero elevato di testi un valore basso può comunque influenzare favorevolmente i tempi di elaborazione per la stampa. Il valore di default è 50.

TEXTSTYLE

Indica il nome dello stile di testo corrente.

MIRRTEXT

Questa variabile influenza il risultato del comando Specchio. Il comando Specchio consente di specchiare gli oggetti selezionati rispetto ad un asse di simmetria.

Quando si specchiano i testi essi risultano poi illeggibili (essendo specchiati) come è giusto che sia. Questo naturalmente è sconveniente in un disegno tecnico. 

La variabile MIRRTEXT, se impostata con valore pari a 0, evita che questo avvenga e fa si che i testi mantengano il verso di lettura una volta specchiati.

testo specchiato

Da notare che la variabile non influenza i testi contenuti nei blocchi, mentre, gli attributi presenti nei blocchi specchiati, seguono le impostazioni della variabile MIRRTEXT.

HIDETEXT

È giusto includere in questo paragrafo anche questa variabile. HIDETEXT fa si che gli oggetti Testo e TestoM (cioè testi multilinea) vengano considerati o meno durante una operazione di calcolo delle linee nascoste (comando Nascondi).

Se il valore della variabile è 1 gli oggetti testo sono presi in considerazione nel calcolo delle linee nascoste e quindi possono apparire anche occlusi da eventuali oggetti posti tra l’osservatore ed il testo.


In modalità Off (0) il testo appare sempre visibile qualunque sia la sua posizione.

Attenzione: non confondere il comando “Nascondi” con la modalità di visualizzazione “Nascosto” che ha un comportamento indipendente dal valore della variabile.

QTEXTMODE

L'effetto di questa variabile è un po’... drastico. Se questa variabile ha valore 1 i testi vengono rappresentati solo tramite il loro box di ingombro. Vale anche per gli attributi.

Poco utilizzata attualmente, era utile più in passato quando, in presenza di PC non velocissimi, spostarsi in disegni pieni di testi con stili aventi font complessi, significava attendere parecchi secondi le continue rigenerazioni che richiedeva il programma.

A sinistra i testi e gli attributi nei rettangoli rossi. A destra i testi rappresentati con il solo loro box d'ingombro impostndo la variabile QTEXTMODE a 1

L’uso di questa variabile potrebbe trovare una utilità pratica, per esempio, quando si devono fare delle stampe provvisorie e, per motivi di riservatezza, non si vuole che le didascalie presenti nel disegno siano leggibili.

TEXTALLCAPS

Se attivata questa variabile fa sì che i testi creati siano sempre con caratteri maisucoli. Vale sia per i testi a linea singola che per i testi multilinea. E' un peccato che lo stato di questa variabile venga salvato nei registri di sistema e non nel singolo disegno. Sarebe stato comodo che la sua impostazione fosse in base al disegno.

MTEXTAUTOSTACK

Una delle cose più seccanti che capita durante la digitazione di un testo è quella di quando una semplice "/" fra 2 numeri fa interpretare al CAD che quella sia una frazione :



si è costretti quindi a eliminare all'interno dell'editor l'impilaggio dei 2 numeri.

Con la variabile MTEXTAUTOSTAK posta a Off tutte le "/" saranno interpretate come semplici separatirici tra numeri e non come linee di frazione.

Anche i caratteri speciali "#" e "^", che hanno la funzione di comporre le frazioni, sono interessati da questa variabile.

TSTACKALIGN 

Regola l'allineamento verticale del testo impilato. Può avere tre valori :
  • 0 Allineato in basso 
  • 1 Allineato al centro
  • 2 Allineato in alto


TSTACKSIZE

Controlla la percentuale dell'altezza del testo impilato rispetto all'altezza corrente del testo selezionato. I valori validi sono compresi tra 25 e 125.

L’editor di testo

Con il susseguirsi delle versioni, i CAD, hanno fornito agli utenti editor di testi dalle funzionalità sempre più avanzate. Una buona parte dei controlli sono nelle iconcine raggruppate nella toolbar dell'editor.

MTEXTED

Per quanto riguarda il testo multilinea (TestoM), c'è la possibilità di utilizzare un editor esterno scelto dall'utenteLa variabile MTEXTED permette di impostare il nome dell’editor da utilizzare per i TestoM.

Se viene specificato un percorso e il nome del file eseguibile di un editor esterno esso sarà avviato in fase di creazione o modifica del testo multilinea.

Il classico esempio è quello di Blocco Note di Windows. In questo caso basta settare la variabile con il valore "notepad.exe".  

Un messaggio di errore tipo questo: “impossibile trovare il programma della shell” significa che si è specificato in maniera errata il nome e/o percorso del file eseguibile da utilizzare.

Se si imposta la variabile con il valore di "interno" o con ".", sarà utilizzato l'editor di testo di default.

Un'ultima possibilità è quella di utilizzare un funzione AutoLISP per la gestione dell'editing del Testom.

Settando MTEXTED con il valore “:lisped” si richiama un editor predefinito di AutoCAD, mostrato nell'immagine seguente:


Lisped è una funzione Lisp che risiede in memoria ed è presente all'interno del file ACAD20xxDOC.LSP che viene caricato all'apertura del programma.

Questa è il codice della funzione Lisped:
;;; ===== Single-line MText editor =====
(defun LispEd (contents / fname dcl state)
  (if (not (setq fname (getvar "program")))
     (setq fname "acad")
  )
  (strcat fname ".dcl")
  (setq dcl (load_dialog fname))
  (if (not (new_dialog "LispEd" dcl)) (exit))
  (set_tile "contents" contents)
  (mode_tile "contents" 2)
  (action_tile "contents" "(setq contents $value)")
  (action_tile "accept" "(done_dialog 1)")
  (action_tile "mtexted" "(done_dialog 2)" )
  (setq state (start_dialog))
  (unload_dialog dcl)
  (cond
    ((= state 1) contents)
    ((= state 2) -1)
    (t 0)
  )
)

Prendendo spunto dal codice mostrato sopra e dalla sua finestra di dialogo (file DCL) si potrebbe cambiare l'editor aggiungendo nuove funzionalità. In alternativa si potrebbe anche specificare il nome di una nostra funzione AutoLISP .

Comando: MTEXTED
Digitare nuovo valore per MTEXTED, o . per nessuno <"">: :editor-mio

Ad esempio immaginiamo che i testi riguardino sigle di prodotti e che vadano verificate ed integrate con altri codici standard della nostra azienda. La finestra di dialogo potrebbe avere un pulsante che esegue la verifica e poi una lista a scomparsa con una serie di sigle/codici eventualmente da inserire.

Questo editor alternativo viene lanciato solo se il testo selezionato è lungo non più di 80 caratteri.

MTEXTTOOLBAR

Con questa variabile si regola la visibilità della toolbar dell'editor di testo. 

Con valore 0 la barra degli strumenti non viene mai visualizzata. Con valore 1 la barra viene visualizzata quando viene selezionato con un doppio click un oggetto TestoM.


TEXTED

Questa variabile imposta il tipo di editor da utilizzare per i testi a linea singola.

Con il valore 0 si può editare l'oggetto così come si trova nell'area grafica. 
Il valore 1 mostra invece una finesta di dialogo con un campo in cui modificare il testo selezionato.
Questa variabile sostituisce la variabile Dtexted il cui richiamo al testo dinamico (D...) non aveva più senso nelle moderne release dei sw CAD.

TEXTEDITMODE

Questa variabile influenza il comportamento del comando MODTESTO (che è quello che viene invocato quando si immette doppio click su un oggetto testo): se ha valore 0 il comando, dopo la sua chiusura, viene riproposto per selezionare ed editare altri oggetti testo.

Per chi deve fare un lavoro di modifica su molti testi questa è una variabile da tenere in considerazione.

MTEXTFIXED        

Questa variabile offre un grande aiuto quando ci troviamo in presenza di testi poco leggibili perchè inclinati o verticali. 

Con il valore 2 si ottiene che i testi fortemente inclinati o verticali siano posti orizzontalmente nell'editor e con uno zoom tale da rendere leggibile il loro contenuto. In alternativa, con valori 0 e 1, l'editor si adeguerebbe alla loro posizione e grandezza.

Valida sia per gli oggetti Testo che TestoM.

TSPACEFAC

Controlla l'interlinea del testo multiriga. Il valore dell’interlinea si esprime come un fattore dell'altezza del testo. Quindi non è un valore assoluto ma è in funzione dell’altezza del testo. Questo garantisce che scalando il testo l’interlinea viene re-impostata in base alla nuova altezza del testo. I valori ammessi sono compresi da un minimo di 0.25 (1/4 dell’altezza del testo) e 4 (4 volte l’altezza del testo).

TSPACETYPE

 Controlla il tipo di interlinea nel testo multilinea. 

L'opzione Almeno (valore 1)  regola l'interlinea in base ai caratteri più alti presenti in una linea.
L'opzione Esatto (valore 2) utilizza l'interlinea specificata, indipendentemente dall'altezza dei singoli caratteri. 


I font

L’aspetto di ogni testo è determinato dal proprio Stile di testo. Ogni Stile di testo fa riferimento ad un determinato font (di sistema o presente in cartelle di supporto).
Il font, quindi, non viene mai inglobato nel disegno ma caricato ad ogni apertura del disegno.

Può capitare dunque di operare con disegni - creati su altri PC - che richiedano font che non sono presenti sulla nostra postazione di lavoro.

FONTALT

Con questa variabile si stabilisce il nome del font che il CAD deve usare per sostituire font non trovati.

Il valore di default del font per sostituire quelli mancanti è "simplex.shx”

Bisogna porre sempre attenzione ai font sostitutivi perché non sempre i caratteri hanno le stesse dimensioni del font originale. Spesso si notano testi con font sostituiti sbordare dalle mascherine o dalle tabelle.

FONTMAP  

Questa variabile indica il nome del file di mappaggio dei font. Il file di mappaggio è un file nel quale si indicano per alcuni font i nomi del font che li deveno sostituire. 

Grazie all'utilizzo di questo file, avente estensione FMP,  si può cambiare velocemente l'aspetto dei testi in un disegno.
Ad esempio, per sostituire il font Roman con il font Times TrueType, nel file di mappaggio scriveremo:
  
romanc.shx;times.ttf

Se la variabile FONTMAP non punta ad un file di mappaggio dei font, se il file FMP non è disponibile o se il nome file del font specificato nel file FMP non è disponibile, viene utilizzato il font definito nello stile.

La variabile FONTMAP funziona solo per i testi multilinea .

Il file si trova in genere in una cartella simile a:

 C:\Users\Utente\appdata\roaming\autodesk\autocad 20xx - italiano\rxx.0\ita\support\acad.fmp

ma la sua posizione la si controlla tramite il comando Opzioni > scheda File > File di mappaggio dei Font permettendoci di specificare un nostro file personalizzato .FMT

scheda File del comando Opzioni per impostare, olte che con le variabili di sistema, il font sostitutivo e il file di mappaggio

                                  

Utilità

TEXTLAYER

Il valore di questa variabile conserva il nome del layer su cui saranno disegnati i Testi del disegno, indipendentemente dal layer corrente attivo al momento della creazione dei testi.

Da notare che se il layer non esiste sarà creato in automatico. Molto utile !

CENTERMT

Regola l’azione dei grip di stiramento di un TestoM avente l’allineamento centrato.
Se il valore  della variabile è 1 allora l’azione dello stiramento di un grip si ripercuote anche sul grip opposto lasciando la posizione del centro del testo inalterata. 

Se il valore è pari a 0, invece, quando si agisce sul grip di stiramento  anche il grip rappresentante il centro seguirà lo spostamento del grip di stiramento.

TEXTGAPSELECTION

Con il valore di 1 consente di selezionare i testi anche cliccando all'interno degli spazi tra i caratteri. Con 0 bisogna invece che il cursore di selezione sia su un carattere.

MTEXTDETECTSPACE 

Questa variabile cerca di aiutare l'utente nella creazione di elenchi puntati o numerati.

Se si inizia una riga con un simbolo, un numero o una lettera seguita da uno dei simboli seguenti:
 . 
 ,
 )
 >
 }
 ]

alla successiva pressione della Barra Spaziatrice si crea un elenco puntato o numerato.

Con MTEXTDETECTSPACE pari a 1, premendo la barra spaziatrice, si abilitano gli elenchi, con 0 si disabilita l'automatismo.

Le stesse azioni si possono regolare tramite menu contestuale all'interno dell'editor di testo. Nel menu, come si vede nell'animazione seguente, sono presenti altri utili controlli per gestire gli elenchi.


Conclusioni

Le variabili descritte sono tutte presenti in AutoCAD, alcune potrebbero però non essere presenti in altri CAD compatibili.

Al fine di essere più rapido e produttivo io nel mio disegno template (DWT) o nella mia configurazione del CAD userei queste impostazioni:
  • Mirrtext a 0 così quando specchio i testi sono leggibili;
  • Textsize a 0.22 unità se lavoro in metri per i testi generici;
  • Textstyle con il nome dello stile di testo che uso; 
  • Mtextautostck a 0... niente frazioni automatiche; 
  • Mtexttoolbar a 1, la toolbar vicina all'editor è comoda si accede subito ai comandi nelle iconcine;
  • Mtextfixed a 2, nell'editor di testi rende leggibili i testi verticali e piccoli nel disegno;
  • Textlayer settato con "Testi" un nome di layer che in futuro si può sempre rinominare ma mi garantisce che gli oggetti testo stiano (almeno in una fse iniziale) su un unico layer;
  • Textgapselection a 0... a volte si clicca negli spazi tra i caratteri per selezionare qualche oggetto e non voglio rischiare che mi parta l'editor di testo
  • Mtextdetectspace, dipende se capita frequentemente di inserire le liste, io preferisco averla a 0.


Nessun commento:

Posta un commento