Macro FCCircularText/it

Descrizione
Questa macro usa Draft ShapeString è scrive un testo, in piedi o coricato, circonferenziale o elicoidale nel modo di Trajan Column e crea un orologio con numeri arabi 1 2 3 ... o Romani I II III ... (ispirata a Macro to Create Clock Face) FC community member, cblt2l.



Utilizzo
Usare la macro FcString per creare dei caratteri e il file FcClock per creare degli orologi.

Tutti i caratteri sono e rimangono indipendenti. Quando si creano le estrusioni non viene eliminato nulla. Se viene creato un Compound (oggetto Composto) con esso viene copiato in una nuova cartella.

Di default le opzioni sono disattivate e si attivano quando si seleziona una delle funzioni:

Fatta eccezione per la casella Z di Placement per Clock che è attiva e che sposta il testo lungo l'asse Z per consentire posizionare il testo sulla superficie di appoggio.

Nota
Le opzioni che sono facoltative per la funzione selezionata sono inattive e quindi non utilizzabili.

L'interfaccia grafica di Circular Text
Panoramica



Prima sezione



 * La finestra di editazione del testo che consente di inserire il testo da visualizzare (cliccando su, nella finestra del titolo si può vedere quanti caratteri contiene la stringa di input)
 * Il pulsante serve per invertire il testo
 * selezionata, questa opzione considera il testo come parola, il testo viene tagliato nello spazio e scrive il testo parola per parola (invece carattere per carattere nell'uso normale)
 * LineEdit : visualizza il percorso e il nome del font del file
 * Il visualizza la pagina wiki nel browser FreeCAD
 * ComboView per il font scelto
 * ARIAL.TTF è il font di default

Opzioni disponibili
Dopo il primo utilizzo, è possibile modificare i parametri vedere:

User parameter:BaseApp/Preferences/Macros/FCMmacros/FCCircularText

switchModeTextList
 * 0 = modalità testo normale (e nero) chiude switchFontComBox
 * 1 = consente switchFontComBox 1

switchFontComBox
 * 0 = (e switchModeTextList = 1) modalità testo (a colori) nell'elenco ComboBox, più veloce
 * 1 = (e switchModeTextList = 1) font ComboBoxst più lento ma più bello!

setSystemFonts
 * 0 = matplotlib.font_manager.findSystemFonts ("C:/", "ttf")
 * fare tutti i caratteri (in tutte le cartelle e sottocartelle del DD) tempo !!
 * 1 = fontman.findSystemFonts (self.pathFont)
 * esegue tutti i caratteri nella directory (e in tutte le sottocartelle)

seTtextAlignement
 * 0 = AlignLeft (default)
 * 1 = AlignCenter
 * 2 = AlignRight

setFontByDefault
 * Font impostazione predefinita (ultimo utilizzato)

switchResetFALSE
 * 0 = reset (predefinito)
 * 1 = nessun reset (sconsigliato) alcuni switch possono rimanere aperti o chiusi inaspettatamente!

Esempio


 * 1) switchModeTextList=
 * 2) switchFontComBox =
 * 3) setSystemFonts   =
 * 4) seTtextAlignement = 0


 * 1) switchModeTextList=
 * 2) switchFontComBox =
 * 3) setSystemFonts   =
 * 4) seTtextAlignement = 0


 * 1) switchModeTextList=
 * 2) switchFontComBox =
 * 3) setSystemFonts   =
 * 4) seTtextAlignement = 1 (0=Left, 1=Centered, 2=Right)


 * 1) switchModeTextList=
 * 2) switchFontComBox =
 * 3) setSystemFonts   =
 * 4) seTtextAlignement = 1

Seconda sezione
Configurare i caratteri in FCCircularText



Prima zona
Scegliere:



Seconda zona
Questa sezione permette di configurare il comportamento complessivo dei caratteri in tutte le scelte disponibili, ma con qualche variazione. I comandi non utilizzabili con l'opzione scelta sono visualizzati in grigio.


 * Radius of circle : Raggio del cerchio. (Default 10)
 * Size character  : Altezza del carattere. (Default 2)
 * Begin angle     : Angolo a cui posizionare il primo carattere. (Default 0 °)
 * End angle       : Angolo a cui posizionare l'ultimo carattere. (Default 360)
 * Correction angle : Angolo di correzione per rendere il carattere tangente al cerchio. (Default 10 °)
 * Correction radius: Corregge il raggio del cerchio dei caratteri (optional). (Default 0.15)
 * : Estrusione dei caratteri. (di default è disattivato)
 * : Posizione del testo nella vista 3D. (di default è disattivato)
 * : Inclinazione del testo rispetto agli assi X, Y e Z (ad esempio per scrivere su un cono). (di default è disattivato)
 * : Inclinazione del testo rispetto agli assi X, Y e Z (ad esempio per scrivere su un cono). (di default è disattivato)

Outdoor
Modo di default. Il testo viene scritto all'esterno della circonferenza del cerchio.

Indoor
Il testo viene scritto all'interno della circonferenza del cerchio

Helix
Il testo viene inserito all'esterno di un'elica.


 * L'area dell'elica è nascosto e solo visibile se il e verificato.


 * Tutte le opzioni di configurazione dei caratteri sono disponibili.
 * Step of helix passo dell'elica
 * Char. per turn  numero di caratteri per ogni spira dell'elica.


 * Se Step of helix (passo dell'elica) è zero, i campi Base Helix e End Helix sono attivi.
 * Base Helix fornisce la base per iniziare l'elica (anche Placement Z). Se  'Placement Z'  è diverso da zero, il punto di partenza viene aggiunto a Placement Z.
 * End Helix Fine di passo dell'elica che è calcolato rispetto all'altezza e al numero di caratteri per spira.

Orologio
Le figure sono parte di un cerchio con numeri arabi o romani.


 * Di default, è nascosto e solo visibile se il e verificato.


 * Quando si seleziona l'orologio, diventano utilizzabili le seguenti funzioni:
 * Angolo iniziale.
 * Angolo finale.
 * Angolo di correzione.
 * Correzione del raggio.
 * I pulsanti o.
 * L'area Clock è attiva.


 * Radius of support : Se viene dato un valore, viene creato un supporto (default 0).
 * Se Support number face è diverso da zero viene creato un supporto. Se Extrude support = zero viene creata una faccia.
 * 1 = Viene creato un cerchio. Appare un cerchio.
 * 2 = Viene creato un rettangolo. Lunghezza = (Radius of media * 1.5) width = Radius of support. Appare un rettangolo.
 * 3 = Viene creato un triangolo circoscritto. Appare un triangolo.
 * 4 = Viene creato un quadrato, raggio del supporto. Appare un quadrato.
 * 5 = Viene creato un poligono circoscritto con il numero di facce indicate. Appare un poligono.
 * Extrude support viene attivato e si può fornire una dimensione di estrusione.






 * Se Support number face è uguale a zero non c'è il supporto.
 * : La scrittura è in cifre romane I II III IIII V VI VII VIII IX X XI XII
 * : I dati sono scritti assialmente.

Path section


La sezione del titolo cambia e visualizza la lunghezza del filo selezionato.

Se selezioni un filo, un arco, un cerchio, una linea e un bordo, il percorso della sezione è colorato in e il comando inutilizzato è colorato in


 * 1) il carattere è ortogonale alla vista
 * 2) il carattere è tangente al percorso del punto sul filo


 * 1) il punto base del carattere deve puntare il percorso sul filo
 * 2) il centro del bounBox del personaggio deve indicare il percorso sul filo
 * 3) il boundBox superiore del carattere deve indicare il percorso sul filo

l'ultimo pulsante di opzione utilizzato viene salvato nel parametro di FreeCAD

Sezione comandi



 * : Esce dalla macro macro.
 * : Ripristina tutti i valori e visualizza il numero di caratteri visualizzati nella finestra.
 * : Lancia la macro e crea un oggetto Composto da tutti i caratteri.
 * : Lancia la macro

Parametri disponibili
Alcuni parametri sono disponibili nei parametri di FreeCAD vedere:


 * User parameter: BaseApp/Preferences/Macros/FCMmacros/FCCircularText


 * normale modalità di testo (e nero) si trasforma off switchFontComBox
 * permettere switchFontComBox 1 (default)
 * (é switchModeTextList = 1) modalità testo (a colori) nell'elenco ComboBox più veloce (predefinito)
 * (and switchModeTextList = 1) Famiglia di caratteri nell'elenco ComboBox più lento ma più bello!
 * matplotlib.font_manager.findSystemFonts ("C: /", "ttf") fare tutti i caratteri (in tutte le cartelle e sottocartelle dell'HD) tempo !!
 * fontman.findSystemFonts (self.pathFont) crea tutti i caratteri nella directory (e in tutte le sottocartelle) (predefinito)
 * : 0 = AlignLeft (default) 1 = AlignCenter 2 = AlignRight
 * : Carattere predefinito (l'ultimo utilizzato)
 * : reset (default),  no reset (non consigliato) alcuni interruttori possono rimanere aperti o chiudersi inaspettatamente!
 * : FCCircularText versione
 * : Carattere predefinito (l'ultimo utilizzato)
 * : reset (default),  no reset (non consigliato) alcuni interruttori possono rimanere aperti o chiudersi inaspettatamente!
 * : FCCircularText versione
 * : FCCircularText versione
 * : FCCircularText versione
 * : FCCircularText versione
 * : FCCircularText versione
 * : FCCircularText versione
 * : FCCircularText versione

Usare la macro FcString per creare dei caratteri e il file FcClock per creare degli orologi.

Script
Scaricare lo script da:

L'icona per ill pulsante:

- in .PNG

- in .SVG

Per maggiori informazioni vedere Personalizzare la barra degli strumenti

Vedi il Codice
Macro_Circular_Text.FCMacro

o tele carica lo script :

- on github Macro_FCCircularText.FCMacro ver 0.16d 2020/09/15

- o dal forum Extrude from curved surface of cylinder

Limitativo
(PS: è possibile che si verifichi un errore tra le versioni. Pubblica il problema sul forum e attendi la correzione aggiornata o il rollback a una versione precedente della macro. Grazie)

È possibile che due caratteri si sovrappongano, qui un piccolo rimedio con Macro_Rotate_To_Point

(non totalmente sviluppato)

In projetto :

Scrivere un testo circolare posizionato su un oggetto selezionato

Registro delle modifiche:

 * ver 1.19 2021/03/15 : adding button the last object created and the code  for Undo/Redo system


 * Adding CheckBox for switched/activated (requested by users) the natural reset after all push button and . This use checkBox is, is you constade one malfunction pusch the  button or quit FCCircularText and restart.


 * ver 0.18 2021/01/19 : correction bug see FCCircularText Macro issues


 * ver 0.17b 2020/09/28 : correction little bug (pl instead plm in path section) and arrange the window (dimension) Clock, Helix, Path


 * ver 0.17 2020/09/26 : adding create circular text on wire (curve, arc, spline, line ...) selected, mode word

ver 16d 2020/09/15 : vedi MasterCATZ commented Sep 14, 2020 message

Elimina il FC 0.18 test sezione:


 * ver 0.16c 2020/07/24 : modify text proposed by Kunda1 Please review FCVerticalText Macro


 * ver 0.16b 2020/07/24 : correct __title__ to __Title__ in 0.18 FC test (see Please review FCVerticalText Macro)


 * ver 0.16 2020/06/07 : little bug in Linux with the path, impost PolicePath = "/usr/share/fonts/" (stay on path /xx/xx/xx/xx/xx/xx/ on entry)


 * ver 0.15 2020/06/01 : For PySide2 Qt5 adding matplotlib fonts in comboView, config on parameter


 * ver 0.14-4 2020/04/25 : corretto con "DisplayMode = u"Flat Lines" :


 * ver 0.14-3 2020/04/25 : adatto per :


 * ver 0.14-2 2019/07/22 replace chr(176) (give error <FC 0.18) and replace with the wmayer code, see Fehler in Version 0.19 pre ??

carDegrees = b' \xc2\xb0'.decode("utf-8")   #thanks wmayer	https://forum.freecadweb.org/viewtopic.php?f=13&t=36380&p=308476#p308357 self.DS_InclinaisonX.setSuffix(carDegrees) self.DS_InclinaisonY.setSuffix(carDegrees) self.DS_InclinaisonZ.setSuffix(carDegrees)


 * ver 0.14-1 2019/06/11 replace "°" to chr(176)


 * ver 0.14 2019/04/27 compatibile con Python 3.6.6 and Qt 5.6.2 (cause: unicode )


 * ver 0.13 30/01/2018 add feature Pivot for rotate the character on himself


 * ver 0.13 09/08/2016 replace the button "New font" to "fontComboBox" cause, with Windows 10 the window Font stay empty the files are hidden

replace the line
 * ver 0.12 03/07/2016 optimize the code for accept the decimal number in determination angle

to


 * ver 0.10 17/05/2015 adding lines 1365, 1366 only created more clock face ??


 * ver 0.9 11/05/2015 thank you NormandC for testing

replace

to


 * ver 0.8 10/05/2015 replace "String=texte[ii2]" to "String=unicode(texte[ii2])" line 1290. cause "TypeError: Property 'FontFile': type must be str or unicode, not QString"


 * ver 0.7 02/02/2015 suppression 2 str App.Console.PrintMessage(str(PolicePath)+"\n") to App.Console.PrintMessage((PolicePath)+"\n") that caused an error with the characters above 128 in the police path.
 * ver 0.6 23/11/2014 corrected "texte = unicode(self.textEdit.toPlainText)" now accept "'éèà@..."
 * ver 0.5 19/11/2014 Gui
 * ver 0.4 10/10/2014 add variable "rotation" in the loop (for i in range(0,rotation,(rotation/nombre)): # 360 a parametrer)
 * ver 0.4 27/08/2014 correction error of de radius (exterieur=0, debout=1)
 * ver 0.3 26/08/2014 add creation text of flat curve
 * ver 0.2 26/08/2014 add creation text of internal curve
 * ver 0.1

(2537)

Link
I commenti nella pagina del forum: Extrude from curved surface of cylinder