Macro Testo Circolare

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of the page Macro Circular Text and the translation is 100% complete.

Other languages:
English • ‎français • ‎italiano

FCCircularTextButtom.png Testo Circolare

Descrizione
Questa macro crea un testo intorno ad un cilindro.
Ultima Versione=0.14 Date=2019/04/27
Download the toolBar icon


Versione macro: 0.14-2
Ultima modifica: 2019/07/22
Download: ToolBar Icon
Autore
Mario52
Download
ToolBar Icon
Link
Versione macro
0.14-2
Data ultima modifica
2019/07/22
Versioni di FreeCAD
None
Scorciatoia
Nessuna
Vedere anche
Nessuno


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)

Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon_Installer.


##This code is copied instead of the original macro code

##to guide the user to the offline download page

##Use it if the code of the macro is larger than 64 KB and cannot be included in the wiki

##or if the RAW code url is extra wiki location

import PySide

from PySide import QtGui ,QtCore

diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,u"Information",
    "This macro must by downloaded with this link" + "\n"
    " " + "\n"
    "https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/ef4312f8f63f65e298e9ae22e9d2e9a5550cf707/Macro_FCCircularText.FCMacro" + "\n"
    " " + "\n"
    "Quit this window for access in the download page" )

diag.setWindowFlags(PySide.QtCore.Qt.WindowStaysOnTopHint)

diag.setWindowModality(QtCore.Qt.ApplicationModal)

diag.exec_()

import webbrowser 

webbrowser.open("https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/ef4312f8f63f65e298e9ae22e9d2e9a5550cf707/Macro_FCCircularText.FCMacro")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/ef4312f8f63f65e298e9ae22e9d2e9a5550cf707/Macro_FCCircularText.FCMacro">raw code</a>


texte 360 degrees

Utilizzo

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

Le opzioni che non riguardano la funzione selezionata sono disattivate.

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 Run Comp 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.

L'interfaccia grafica di Circular Text

GUI


Prima sezione

FCCircularText 07.png


  • La finestra di editazione del testo che consente di inserire il testo da visualizzare (cliccando su Reset, nella finestra del titolo si può vedere quanti caratteri contiene la stringa di input)
  • Il pulsante Reverse serve per invertire il testo
  • Il pulsante New Font serve per selezionare un font diverso
    • ARIAL.TTF è il font di default

Seconda sezione

Configurare i caratteri in Circular Text

FCCircularText 08.png


Prima zona

Scegliere:

FCCircularText 09.png


FCCircularText 24.png
  • Mode Stand o Mode Flat : Il testo può essere messo in piedi o coricato e le opzioni Outdoor e Indoor indicano se è rivolto verso l'esterno o verso l'interno .


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.

FCCircularText 10.png
  • 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)


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.

FCCircularText 11.png
  • L'area dell'elica è in grigio per impostazione predefinita.
FCCircularText 14.png
  • 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.
FCCircularText 15.png
  • 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.

FCCircularText 12.png
  • Di default, la sezione è disattivata.
FCCircularText 16.png
  • Quando si seleziona l'orologio, diventano utilizzabili le seguenti funzioni:
    1. Angolo iniziale.
    2. Angolo finale.
    3. Angolo di correzione.
    4. Correzione del raggio.
    5. I pulsanti Mode Stand o Mode Flat.
  • L'area Clock è attiva.


FCCircularText 19.png
  • 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.


FCCircularText 17.png
FCCircularText 38.png
FCCircularText 18.png
FCCircularText 37.png


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

Comandi

FCCircularText 13.png


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

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

Script

Scaricare lo script da:

- on github Macro_FCCircularText.FCMacro ver 0.14-1 11/06/2019

- o dal forum Extrude from curved surface of cylinder

L'icona per ill pulsante:

- in .PNG FCCircularTextButtom.png

- in .SVG FCCircularTextButtom.svg

Per maggiori informazioni vedere Personalizzare la barra degli strumenti

Esempi











Esempi su ellisse






Modalità rilievo:





Piccolo bug

È 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

(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)

Currently:

       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() )
latest testing:

#OS: Windows 10
#Word size of OS: 64-bit
#Word size of FreeCAD: 64-bit
#Version: 0.19.16523 (Git)
#Build type: Release
#Branch: master
#Hash: 9b3ec233c8b21e0df66fada487cd10f471d60cac
#Python version: 3.6.6
#Qt version: 5.6.2
#Coin version: 4.0.0a
#OCC version: 7.3.0
  • 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
  • ver 0.12 03/07/2016 optimize the code for accept the decimal number in determination angle

replace the line

for angleTr in range(debut,rotation,((rotation-debut)/nombre)):

to

for angleTrFloat in range((debut*10000),(rotation*10000),int((round(((float(rotation)-float(debut))/float(nombre)),4)*10000)) ):    # pour 4 decimales
                angleTr = (float(angleTrFloat)/10000)
  • ver 0.10 17/05/2015 adding lines 1365, 1366 only created more clock face ?? ()
supp.MakeFace = True
            App.activeDocument().recompute()
  • ver 0.9 11/05/2015 thank you NormandC for testing

replace

self.DS_InclinaisonX.setSuffix(" X°")
        self.DS_InclinaisonY.setSuffix(" Y°")
        self.DS_InclinaisonZ.setSuffix(" Z°")

to

self.DS_InclinaisonX.setSuffix(unicode(" X°"))
        self.DS_InclinaisonY.setSuffix(unicode(" Y°"))
        self.DS_InclinaisonZ.setSuffix(unicode(" Z°"))
  • 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.8 10/05/2015 /_ # testing with OS :
##################################################################################################
# OS: Ubuntu 14.04.1 LTS                          # OS: Ubuntu 14.04.2 LTS
# Platform: 32-bit                                # Word size of OS: 32-bit
# Version: 0.14.2935 (Git)                        # Word size of FreeCAD: 32-bit
# Branch: master                                  # Version: 0.16.4928 (Git)
# Hash: eab159b6ee675012bf79de838c206a311e911d85  # Branch: master
# Python version: 2.7.6                           # Hash: d8f63bcfd10301f3d1e141cced4370f0782238d0
# Qt version: 4.8.6                               # Python version: 2.7.6
# Coin version: 4.0.0a                            # Qt version: 4.8.6
# SoQt version: 1.6.0a                            # Coin version: 4.0.0a
# OCC version: 6.7.0                              # OCC version: 6.8.0.oce-0.17
##################################################################################################
# OS: Windows Vista                               # OS: Windows Vista
# Word size of OS: 32-bit                         # Word size of OS: 32-bit
# Word size of FreeCAD: 32-bit                    # Word size of FreeCAD: 32-bit
# Version: 0.15.4527 (Git)                        # Version: 0.15.4671 (Git)
# Branch: master                                  # Branch: releases/FreeCAD-0-15
# Hash: 0da2e4c45a9a259c26abd54c2a35393e1c15696f  # Hash: 244b3aef360841646cbfe80a1b225c8b39c8380c
# Python version: 2.7.8                           # Python version: 2.7.8
# Qt version: 4.8.6                               # Qt version: 4.8.6
# Coin version: 4.0.0a                            # Coin version: 4.0.0a
# OCC version: 6.7.1                              # OCC version: 6.8.0.oce-0.17
##################################################################################################
  • 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