Macro FCCircularText/fr

Description
Cette macro écrit un texte debout (axe Z) avec une forme cylindriquee ou à plat avec lecture interne ou externe et sur une hélice comme la Colonne Trajane et peut créer une horloge avec chiffres 1 2 3 ... ou Romains I II III ... au choix (inspiré de Macro to Create Clock Face) (le même résultat peut être obtenu avec les fonctions standards de FCCircularText)



Utilisation
Principle: Les fonctions non utilisées de façon standard sont grisées (rend l'utilisation plus claire).

Une fonction peut se griser si elle n'est pas nécessaire.

La création d'un texte crée un dossier "FcString" si vous créez une horloge, un dossier FcClock est créé.

Tous les caractères restent indépendants. Si vous créez une extrusion, rien n'est effacé. Si vous créez un Compount avec le bouton il sera créé dans l'arbre principal de votre projet.

Ces options sont grisées par défaut et activées en cochant le bouton :
 * Extrude Char.
 * Placement.
 * SP. inclination.

Seul la fonction Clock active la fonction Placement dans la direction Z pour déplacer manuellement le texte sur la surface du support (pour construire un relief ou une cavité).

Présentation
Vue globale de l'interface.



Première section



 * La fenêtre de TextEdit vous permet de copier le texte a créer (cliquez sur le bouton vous permet de connaître la longueur de la chaîne entrée qui est affichée dans le titre de la fenêtre)
 * Le bouton permet de sélectionner une nouvelle police de travail
 * Par défaut la police ARIAL.TTF est imposée, pour modifier le chemin d'accès et la police par défaut de manière permanente, changer la ligne n° 83 (pour windows).

Seconde Section
Configuration des caractère dans FCCircularText



Première zone
Votre choix :



Seconde section
Cette section vous permet de configurer le comportement global des caractères dans tous les choix disponibles, mais avec quelques variations. Si une fonction n'est pas utilisée de façon standard dans l'option choisie, cette fonction sera grisée.


 * Radius of circle : Rayon du cercle. (Défault 10)
 * Size character  : Hauteur des characteres. (Défault 2)
 * Begin angle     : Angle de départ du premier charactère du sur le cercle. (Default 0°)
 * End angle       : Angle de fin du dernier charactère du texte. (Default 360)
 * Correction angle : Angle de correction du texte pour le faire correspondre à la tangente du cercle. (Défault 10 °)
 * Correction radius: Correction du rayon (optionnel en rapport avec "Correction angle"). (Défault 0.15)
 * Extrude Char    : Case à cocher pour extruder les charactères. (Inactif par Défault)
 * Placement       : Place le texte dans la vue 3D. (Inactif par Défault)
 * Sp. inclination : Inclinaison des charactères dans les axes X, Y et Z (exemple pour créer un texte sur un cône). (Inactif par Défault)
 * Sp. inclination : Inclinaison des charactères dans les axes X, Y et Z (exemple pour créer un texte sur un cône). (Inactif par Défault)

Outdoor
Mode par défaut. Le texte est écrit sur la surface extérieur du cylindre.

Indoor
Le texte est écrit sur la surface interne d'un tube ou courbe.

Helix
Le texte écrit suit le tracé d'une hélice.


 * La section helix est grisée par défaut.


 * Toute les options de configurations des caractères sont actives.
 * Step of helix Step correspond au pas de la spire de l'hélice : 2 (correspond à la hauteur du caractère) par défaut.
 * Char. per turn Nombre de caractères par tour ici 10 par défaut, qui correspond à 10 caractères par tour d'hélice.


 * Si Step of helix (pas de l'hélice) est égal à zero, les Spinboxes Base Helix et End Helix sont activés.
 * Base Helix détermine le début (base) de placement des caractère dans l'élice (direction Placement Z). Si Placement Z est différent de zero, le départ est ajouté au Placement Z déjà déterminé plud haut.
 * End Helix Fin de l'hélice, le pas de l'hélice calculé est proportionnel à la hauteur et au nombre de caractères par tour d'hélice.

Clock
Les horloges peuvent avoir des caractères numériques Arabes ou Romains au choix.


 * By default, the section is grayed.


 * When the selection is made, the following functions get dark and are usable:
 * Begin angle.
 * End angle.
 * Correction angle.
 * Correction radius.
 * The buttom or.
 * The area Clock is activated.


 * Radius of support : If a value is given, support will be created (default 0).
 * If Support number face is different from zero a support is created. (If Extrude support = zero then a face is created).
 * 1 = A circle is created (circle appears).
 * 2 = A rectangle is created (length = (Radius of media * 1.5) width = Radius of support) (Rectangle appears).
 * 3 = A triangle is created (circumscribed) (Triangle appears).
 * 4 = A square is created (Radius of support) (Square appears).
 * 5 = A polygon with the number of faces displayed (circumscribed) (Polygon appears).
 * Extrude support is activated and an extrusion dimension can be given.






 * If Support number face is equal to zero there is no support.
 * : The writing will be in Roman figures I II III IIII V VI VII VIII IX X XI XII
 * : The figures will be written axially.

Commands



 * : Leaves the macro.
 * : Reset all values and displays the number of characters displayed in the window.
 * : Launches the macro and creates a Compount object of all characters.
 * : Launches the macro

Launch the macro folder FcString for created characters and a file FcClock for created clocks.

Script
'''PS: false zip delete the ".zip" and copy the macro Macro_FCCircularText.FCMacro in your folder Macro of FreeCAD '''

Download the script here Macro FCCircularText.FCMacro.zip ver 0.8 10/05/2015

or to the forum Extrude from curved surface of cylinder

The button icone here .PNG and .SVG    Customize_ToolsBar

Example
(not fully developed)

Planned :

Writing on a path circular text of position object selected.

(PS : it is possible that an error is made between version 2 Please wait for the next or return to the previous version thank you)

Currently:

 * 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

(2383)

Links
To comment on the Extrude from curved surface of cylinder