Macro FCCircularText/pl

Macro FCCircularText

Opis
Makro to wykorzystuje narzędzie Kształt z tekstu do tworzenia linii tekstu rozmieszczonej w różnych układach kołowych, w tym obwodowym oraz spiralnym (na wzór kolumny Trajana). Może być również użyte do utworzenia tarczy zegara z cyframi arabskimi 1, 2, 3, itd. lub rzymskimi I, II, III, itd.

Macro version: 0.22e
Last modified: 2024/07/11
FreeCAD version: 0.19 and more
Download: Ikona paska narzędzi
Autor: Mario52
Autor
Mario52
Do pobrania
Ikona paska narzędzi
Odnośniki
Wersja Makrodefinicji
0.22e
Data zmian
2024/07/11
Wersja FreeCAD
0.19 and more
Domyślny skrót
Brak
Zobacz również
-

Opis

Makro to wykorzystuje narzędzie Kształt z tekstu środowiska Rysunek Roboczy do tworzenia linii tekstu umieszczonej w różnych orientacjach kołowych, w tym obwodowo i spiralnie na podobieństwo Kolumny Trajana. Można go również użyć do stworzenia tarczy zegara z cyframi arabskimi 1, 2, 3 itd. lub rzymskimi I, II, III itd. To ostatnie zastosowanie zostało zainspirowane przez wątek na forum Macro to Create Clock Face autorstwa członka społeczności 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/b80bc84eb1f39084a20564cf02c48764906fd6b8/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/b80bc84eb1f39084a20564cf02c48764906fd6b8/Macro_FCCircularText.FCMacro")
<class="rawcodeurl"><a href="https://gist.githubusercontent.com/mario52a/a25e802498bae6959335/raw/b80bc84eb1f39084a20564cf02c48764906fd6b8/Macro_FCCircularText.FCMacro">raw code</a>


360 stopniowe rozmieszczenie

Przykład działania makra przedstawiającego tekst rozmieszczony w układzie 360 stopni

Użycie

Uruchom folder makr FcString dla utworzonych znaków oraz plik FcClock dla utworzonych zegarów.

Wszystkie znaki są i pozostają niezależne. Podczas tworzenia wyciągnięć nic nie jest usuwane. Jeśli tworzony jest obiekt złożony za pomocą Run Comp, jest on kopiowany poza folder.

Opcje są domyślnie wyszarzone i aktywne we wszystkich funkcjach, jeśli są zaznaczone jako PRAWDA:

Z wyjątkiem jednej opcji w usłudze zegara, pole ustawienia pozycji Z jest aktywne i przesuwa tekst w kierunku osi Z, aby umieścić go na powierzchni nośnej.

Uwagi

Interfejs

Przegląd

GUI

Pierwsza sekcja

Dostępne opcje

Po pierwszym użyciu należy zmodyfikować następujące parametry:

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

switchModeTextList

switchFontComBox

setSystemFonts

 * przeszukuje wszystkie czcionki (we wszystkich folderach i podfolderach dysku C:) — czasochłonne!!
 * przeszukuje czcionki tylko w określonym katalogu (oraz we wszystkich jego podfolderach)

seTtextAlignement

setFontByDefault

switchResetFALSE

Przykład

[\[File\:FCCirculatText Config 0000A0.png]]

  1. switchModeTextList= Template:FAŁSZ
  2. switchFontComBox = Template:FAŁSZ
  3. setSystemFonts = Template:FAŁSZ
  4. seTtextAlignement = 0

  1. switchModeTextList= Template:PRAWDA
  2. switchFontComBox = Template:FAŁSZ
  3. setSystemFonts = Template:FAŁSZ
  4. seTtextAlignement = 0

  1. switchModeTextList= Template:PRAWDA
  2. switchFontComBox = Template:FAŁSZ
  3. setSystemFonts = Template:FAŁSZ
  4. seTtextAlignement = 1 (0=Lewo, 1=Wyśrodkowane, 2=Prawo)

  1. switchModeTextList= Template:PRAWDA
  2. switchFontComBox = Template:PRAWDA
  3. setSystemFonts = Template:FAŁSZ
  4. seTtextAlignement = 1

Druga sekcja

Konfiguracja znaków w FCCircularText

Pierwsza strefa

Twój wybór:

Drugi obszar

Ta sekcja pozwala skonfigurować ogólne zachowanie znaków we wszystkich dostępnych opcjach, choć z pewnymi różnicami. Jeśli polecenie nie jest używane w wybranej opcji, zostanie wyszarzone.

Na zewnątrz

Tryb domyślny. Tekst jest pisany na zewnątrz obwodu koła.

Wewnątrz

Tekst jest pisany po wewnętrznej stronie obwodu koła.

Helisa

Tekst jest wpisywany na zewnętrznym obwodzie helisy.

Zegar

Figury stanowią część koła z cyframi arabskimi lub rzymskimi.

Sekcja ścieżki

Sekcja tytułu zmienia się i wyświetla długość wybranego przewodu.

Jeśli wybierzesz jedną polilinię, łuk, okrąg, linię lub krawędź, sekcja Ścieżka jest podświetlona kolorem zielonym, a niewykorzystane polecenia są oznaczone kolorem czerwonym.

  1. Ortogonalny znak jest ortogonalny do widoku
  2. Styczny znak jest styczny do punktu na ścieżce polilinii
  1. BB Base punkt bazowy znaku jest ustawiony na punkcie ścieżki na polilinii
  2. BB Center środek obwiedni (bounding box) znaku jest ustawiony na punkcie ścieżki na polilinii
  3. BB Top górna krawędź obwiedni (bounding box) znaku jest ustawiona na punkcie ścieżki na polilinii

Ostatni użyty przycisk jest zapisywany w parametrze FreeCAD.

Sekcja Polecenie

Dostępne parametry

Niektóre parametry są dostępne w ustawieniach FreeCAD, zobacz: Menu → Narzędzia → Edytuj parametry...

Uruchom folder makr FcString dla utworzonych znaków oraz plik FcClock dla utworzonych zegarów.

Skrypt

Ikona przycisku:

- w .PNG

- w .SVG

(Zobacz stronę Dostosowanie pasków narzędzi aby uzyskać więcej informacji)

Skrypt

Macro_Circular_Text.FCMacro

lub pobierz skrypt:

- na github Macro_FCCircularText.FCMacro

- na forum Extrude from curved surface of cylinder

Przykład













Przykład na elipsie






Tryb reliefu:





Example section path




Ograniczenia

Uwaga może wystąpić błąd między wersjami. Prosimy zgłaszać problem na forum i czekać na aktualizację lub powrócić do wcześniejszej wersji makra. Dziękujemy.

Możliwe jest, że dwa znaki mogą się nakładać. Jeśli tak się stanie, dostępne jest obejście problemu za pomocą makra Rotate-To-Point.


(nie w pełni rozwinięte)

Planowane:

Pisanie na ścieżce — tekst okrągły względem wybranego obiektu pozycji.

Dziennik zmian

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 : zobacz MasterCATZ skomentował wiadomość z 14 września 2020.

usunięcie sekcji testowej FC 0.18:

#### 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

zastąpienie linii

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

do

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 /_ # testowanie z 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)

Odnośniki internetowe

Aby skomentować Extrude from curved surface of cylinder