| Description |
|---|
| Esta macro hace uso de la herramienta Draft ShapeString para crear una línea de texto colocada en diferentes orientaciones circulares, incluyendo circunferenciales y helicoidales (en forma de una columna trajana). También se pude utilizar para crear una cara de reloj con números arábigos "1, 2, 3", etc., o números romanos "I, II, III", etc. Macro version: 0.22e Last modified: 11/07/2024 FreeCAD version: 0.19 y más Download: Icono de la barra de herramientas Author: Mario52 |
| Author |
| Mario52 |
| Download |
| Icono de la barra de herramientas |
| Links |
| Macros recipes How to install macros How to customize toolbars |
| Macro Version |
| 0.22e |
| Date last modified |
| 11/07/2024 |
| FreeCAD Version(s) |
| 0.19 y más |
| Default shortcut |
| None |
| See also |
| None |
Esta macro hace uso de la herramienta Draft ShapeString para crear una línea de texto colocada en diferentes orientaciones circulares, incluyendo circunferenciales y helicoidales en forma de Trajan's Column. También se puede utilizar para crear una cara de reloj con números arábigos "1, 2, 3", etc., o números romanos "I, II, III", etc. Este último uso se inspiró en el hilo del foro Macro to Create Clock Face por el miembro de la comunidad FC, cblt2l.
Temporary code for external macro link. Do not use this code. This code is used exclusively by Addon Manager. Link for optional manual installation: Macro
# This code is copied instead of the original macro code
# to guide the user to the online 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 somewhere else in the wiki.
from PySide import QtGui, QtCore
diag = QtGui.QMessageBox(QtGui.QMessageBox.Information,
"Information",
"This macro must be downloaded from this link\n"
"\n"
"https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/3a7b030af1395ebe515b7ac7ff399636df55fbc8/Macro_FCCircularText.FCMacro" + "\n"
"\n"
"Quit this window to access the download page")
diag.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)
diag.setWindowModality(QtCore.Qt.ApplicationModal)
diag.exec_()
import webbrowser
webbrowser.open("https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/3a7b030af1395ebe515b7ac7ff399636df55fbc8/Macro_FCCircularText.FCMacro")
Ejemplo de la macro que muestra texto en una orientación de 360 grados
Inicie la carpeta de macros FcString para los personajes creados y un archivo FcClock para los relojes creados.
Todos los caracteres son y permanecen independientes. Al crear extrusiones, no se elimina nada. Si se crea un compuesto con Run Comp, se copia fuera de la carpeta.
Las opciones están sombreadas de forma predeterminada y están activas en todas las funciones si están marcadas :
Excepto por una casilla de Clock Service Placement Z, es activado y mueve el texto en la dirección Z para colocar el texto en la superficie de soporte.
Descripción general
Después del primer uso, deberá modificar los siguientes parámetros:
Parámetro de usuario:BaseApp/Preferences/Macros/FCMmacros/FCCircularText
switchModeTextList
switchFontComBox
setSystemFonts
seTtextAlignment
setFontByDefault
switchResetFALSE
Ejemplo
truefalsefalse
Configuración de caracteres en FCCircularText
Tu elección:

Esta sección permite configurar el comportamiento general de los personajes en todas las opciones disponibles, pero con algunas variaciones. Si el comando no se usa en la opción elegida, aparecerá en gris.

Modo predeterminado. El texto esta escrito en el exterior de la circunferencia del círculo.
El texto está escrito en el lado interior de la circunferencia del círculo.
El texto esta introducido en la circunferencia exterior de una hélice.


Las figuras forman parte de un círculo con números arábigos o romanos.


La sección del título cambia y muestra la longitud del cable seleccionado.
Si selecciona un cable, arco, círculo, línea y borde, la sección Ruta se colorea en verde y el comando no utilizado se colorea en rojo
the last Radio Button used is saved in the parameter of FreeCAD
Certain parameter are available in the parameters of FreeCAD see: Menu → Tools → Edit parameters...
switchModeTextList :
false normal text mode (and black) turns off switchFontComBoxtrue allow switchFontComBox 1 (default)switchFontComBox :
false (and switchModeTextList = 1) text mode (in color) in Faster ComboBox list (default)true (and switchModeTextList = 1) font Family in ComboBox list slower but more beautiful!setSystemFonts :
false matplotlib.font_manager.findSystemFonts ("C: /", "ttf") do all fonts (in all folders and subfolders of the HD) time !!true fontman.findSystemFonts (self.pathFont)seTtextAlignement : 0 = AlignLeft (default) 1 = AlignCenter 2 = AlignRightsetFontByDefault : Font by Default (the last used)switchResetFALSE : false reset (default), true no reset (not recommended) some switches can stay open or close unexpectedly!setPathOrthogonal : true falsesetPathTangent : true falsesetPositionBase : true falsesetPositionCenter : true falsesetPositionTop : true falseswitchVersionSearch : true falseVersion : FCCircularText versionLaunch the macro folder FcString for created characters and a file FcClock for created clocks.
The button icon:
(See Customize_Toolbars for more)
Macro_Circular_Text.FCMacro
or download the script :
- on github Macro_FCCircularText.FCMacro
- at the forum Extrude from curved surface of cylinder
Mode relief:
Note it is possible that an error may occur between versions. Please post the issue on the forum and wait for the updated fix or rollback to a previous version of the macro. Thank you)
It is possible that two characters may overlap. If this happens, here's a workaround is available using the Rotate-To-Point Macro.
(not fully developed)
Planned:
Writing on a path circular text of position object selected.
see Curved text on a flat surface?
sel = Gui.Selection.getCompleteSelection()
#delete objects
#restore previous selection
Gui.Selection.clearSelection()
for s in sel:
Gui.Selection.addSelection(s.Object,s.SubElementNames)
FreeCAD.ActiveDocument.openTransaction("FCCTc") for Undo/Redo systemver 16d 2020/09/15 : see the MasterCATZ commented Sep 14, 2020 message
delete the FC 0.18 test section:
#### Test FreeCAD.Version simple ############################################################################################################
if int(FreeCAD.Version()[1]) < 18: # Version de FreeCAD
FreeCAD.Console.PrintMessage("This version " + __Title__ + " rmu work with the FreeCAD 0.18 or higher." + "\n\n")
FreeCAD.Console.PrintMessage("For the precedent version see the page " + "\n\n")
FreeCAD.Console.PrintMessage("https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/db47f78f2b20a35137ac213b8d1a62d30f525dcb/Macro_FCCircularText.FCMacro" + "\n\n")
#### Test FreeCAD.Version simple ############################################################################################################
OS: Windows 10 (10.0)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.20655 (Git)
Build type: Release
Branch: master
Hash: e8e67e8c5ebbc9f9ed9ea67aba5b891969595ece
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
carDegrees = b' \xc2\xb0'.decode("utf-8") #thanks wmayer https://forum.freecad.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)
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
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)
supp.MakeFace = True
App.activeDocument().recompute()
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°"))
<div lang="en" dir="ltr" class="mw-content-ltr">
# ver 0.8 10/05/2015 /_ # testing with OS :
</div>
##################################################################################################
# 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
##################################################################################################
(2537)
To comment on the Extrude from curved surface of cylinder