Macro FCCircularText/it

Descrizione
Questa macro 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)



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:
 * Extrude Char.
 * Placement.
 * SP. inclination.

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.

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
 * Il pulsante serve per selezionare un font diverso
 * ARIAL.TTF è il font di default

Options available
User parameter:BaseApp/Preferences/Macros/FCMmacros/

switchModeTextList
 * 0 = normal text mode (and black) cuts the switchFontComBox
 * 1 = allows switchFontComBox 1

switchFontComBox
 * 0 = (and switchModeTextList= 1) text mode (in color) in ComboBox list, faster
 * 1 = (and switchModeTextList= 1) fontFamily slower but more beautiful ComboBoxst!

setSystemFonts
 * 0 = matplotlib.font_manager.findSystemFonts("C:/", "ttf")
 * do all the fonts (in all folders and sub-folders of the DD) time !!
 * 1 = fontman.findSystemFonts(self.pathFont)
 * do all the fonts in the directory (and in all the sub-folders)

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

setFontByDefault
 * Font by Default

switchResetFALSE
 * 0 = reset (default)
 * 1 = no reset (not recommended) some switches can remain open or close unexpectedly!

Example


 * 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=Rigth)


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

Seconda sezione
Configurare i caratteri in Circular Text



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)
 * Pivot Character : Ruota il carattere su se stesso. (Predefinito inattivo)
 * Extrude Char    : Estrusione dei caratteri. (di default è disattivato)
 * Placement       : Posizione del testo nella vista 3D. (di default è disattivato)
 * Sp. inclination : Inclinazione del testo rispetto agli assi X, Y e Z (ad esempio per scrivere su un cono). (di default è disattivato)
 * Sp. inclination : 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 è in grigio per impostazione predefinita.


 * 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, la sezione è disattivata.


 * 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.

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

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.14-4 2020/04/25

- o dal forum Extrude from curved surface of cylinder

Piccolo bug
(PS: è possibile che la versione 2 produca degli errori. In questo caso, si prega di attendere la prossima versione o di tornare alla versione precedente, 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

Currently:

 * 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