Macro FCCircularText/de

FC Zirkulärer Text

Beschreibung
Dieses Makro nutzt das Werkzeug Draft Textform, um eine Textzeile zu erstellen, die in verschiedenen kreisförmigen Ausrichtungen platziert werden kann, darunter umlaufend und spiralförmig (ähnlich wie bei der Trajanssäule). Es kann auch verwendet werden, um ein Zifferblatt mit arabischen Ziffern „1, 2, 3“ usw. oder römischen Ziffern „I, II, III“ usw. zu erstellen.

Versionsmakro : 0.22f
Datum der letzten Änderung : 2025/09/23
FreeCAD version : 0.19 und mehr
Herunterladen : Werkzeugleisten-Symbol
Autor: Mario52
Autor
Mario52
Herunterladen
Werkzeugleisten-Symbol
Links
Macro-Version
0.22f
Datum der letzten Änderung
2025/09/23
FreeCAD-Version(s)
0.19 und mehr
Standardverknüpfung
None
Siehe auch
None

Beschreibung

Dieses Makro nutzt das Werkzeug Draft Textform, um eine Textzeile zu erstellen, die in verschiedenen kreisförmigen Ausrichtungen platziert werden kann, darunter umlaufend und spiralförmig in Anlehnung an die Trajanssäule. Es kann auch verwendet werden, um ein Zifferblatt mit arabischen Ziffern „1, 2, 3“ usw. oder römischen Ziffern „I, II, III“ usw. zu erstellen. Letztere Verwendung wurde durch den Forum-Thread Macro to Create Clock Face (Makro zum Erstellen eines Zifferblatts) von FC-Community-Mitglied cblt2l inspiriert.

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")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/3a7b030af1395ebe515b7ac7ff399636df55fbc8/Macro_FCCircularText.FCMacro">raw code</a>


360-Grad-Ausrichtung

Beispiel für das Makro, das Text in einer 360-Grad-Ausrichtung anzeigt

Anwendung

Den Makroordner FcString für erstellte Zeichen und eine Datei FcClock für erstellte Uhren starten.

Alle Zeichen sind und bleiben unabhängig. Beim Erstellen von Extrusionen wird nichts gelöscht. Wenn ein Verbund mit Run Comp erstellt wird, wird er aus dem Ordner kopiert.

Die Optionen sind standardmäßig ausgegraut und in allen Funktionen aktiv, wenn sie aktiviert sind :

Mit Ausnahme einer Uhr-Serviceplatzierungsbox wird Z aktiviert und verschiebt den Text in Richtung Z, um ihn auf der Auflagefläche zu platzieren.

Hinweise

Schnittstelle

Übersicht

GUI

Erster Abschnitt

Verfügbare Optionen

Nach der ersten Verwendung müssen die folgenden Parameter geändert werden:

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

switchModeTextList

switchFontComBox

setSystemFonts

seTtextAlignement

setFontByDefault

switchResetFALSE

Beispiele

  1. switchModeTextList= false
  2. switchFontComBox = false
  3. setSystemFonts = false
  4. seTtextAlignement = 0

  1. switchModeTextList= true
  2. switchFontComBox = false
  3. setSystemFonts = false
  4. seTtextAlignement = 0

  1. switchModeTextList= true
  2. switchFontComBox = false
  3. setSystemFonts = false
  4. seTtextAlignement = 1 (0=Links, 1=Zentriert, 2=Rechts)

  1. switchModeTextList= true
  2. switchFontComBox = true
  3. setSystemFonts = false
  4. seTtextAlignement = 1

Zweiter Abschnitt

Konfigurieren von Zeichen in FCCircularText

Erste Zone

Deine Wahl:

Zweiter Bereich

In diesem Abschnitt kann man das allgemeine Verhalten der Zeichen in allen verfügbaren Optionen konfigurieren, jedoch mit einigen Abweichungen. Wenn der Befehl in der ausgewählten Option nicht verwendet wird, wird er ausgegraut.

Ausserhalb

Standardmodus. Der Text wird an der Außenseite des Kreisumfangs geschrieben.

Innerhalb

Der Text ist auf der Innenseite des Kreisumfangs geschrieben

Helix

Der Text wird auf den Außenumfang einer Helix geschrieben.

Uhr

Die Zahlen sind Teil eines Kreises mit arabischen oder römischen Ziffern.

Abschnitt Pfad

Der Titelbereich ändert sich und zeigt die Länge der ausgewählten Kante an.

Wenn man einen Linienzug, einen Bogen, einen Kreis, eine Linie oder eine Kante auswählen, wird der Abschnitt Pfad in grün und der nicht verwendete Befehl in rot eingefärbt.

  1. Orthogonal Das Zeichen ist orthogonal zur Ansicht.
  2. Tangential Das Zeichen ist tangential zum Punktpfad auf dem Linienzug.
  1. BB Base Der Punktbasis des Charakters soll den Pfad auf dem Linienzug anzeigen.
  2. BB Center Die BounBox-Mitte des Charakters soll den Pfad auf dem Linienzug anzeigen.
  3. BB Top Die obere BoundingBox des Charakters soll den Pfad auf dem Linienzug anzeigen.

Der zuletzt verwendete Radiobutton wird im Parameter von FreeCAD gespeichert.

Abschnitt Befehl

Verfügbare Parameter

Bestimmte Parameter sind in den Parametern von FreeCAD verfügbar, siehe: Menü → Werkzeuge → Parameter bearbeiten

Den Makroordner FcString für erstellte Zeichen und eine Datei FcClock für erstellte Uhren starten.

Skript

Das Schaltflächen-Symbol:

- als .PNG

- als .SVG

(Siehe Symbolleisten anpassen für mehr)

Skript

Macro_Circular_Text.FCMacro

oder das Skript herunterladen:

- auf GitHub Macro_FCCircularText.FCMacro

- im Forum Extrude from curved surface of cylinder

Beispiele













Beispiel auf Ellipse






Modusentlastung:





Example section path




Einschränkungen

Hinweis Es ist möglich, dass zwischen den Versionen ein Fehler auftritt. Bitte das Problem im Forum melden und auf die aktualisierte Fehlerbehebung oder die Rückkehr zu einer früheren Version des Makros warten. Vielen Dank.

Es ist möglich, dass zwei Zeichen überlappen. Wenn dies passiert, hier ist eine Problemumgehung verfügbar unter Verwendung des Rotate-To-Point Makro.


(nicht vollständig entwickelt)

Geplant:

Schreiben eines kreisförmigen Textes auf einem Pfad des ausgewählten Positionsobjekts.

Änderungsprotokoll

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)

ver 16d 2020/09/15 : siehe MasterCATZ kommentiert am 14. September 2020 Nachricht

Den Abschnitt FC 0.18-Test löschen:

#### 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
for angleTr in range(debut,rotation,((rotation-debut)/nombre)):

zu

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°"))
# 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
##################################################################################################

(2537)

Verweise

Um einen Kommentar abzugeben zuExtrude from curved surface of cylinder