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 |
Przepisy na makropolecenia Jak zainstalować makrodefinicje Dostosowanie pasków narzędzi |
Wersja Makrodefinicji |
0.22e |
Data zmian |
2024/07/11 |
Wersja FreeCAD |
0.19 and more |
Domyślny skrót |
Brak |
Zobacz również |
- |
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")
Przykład działania makra przedstawiającego tekst rozmieszczony w układzie 360 stopni
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.
Przegląd
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]]
Konfiguracja znaków w FCCircularText
Twój wybór:
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.
Tryb domyślny. Tekst jest pisany na zewnątrz obwodu koła.
Tekst jest pisany po wewnętrznej stronie obwodu koła.
Tekst jest wpisywany na zewnętrznym obwodzie helisy.
Figury stanowią część koła z cyframi arabskimi lub rzymskimi.
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.
Ostatni użyty przycisk jest zapisywany w parametrze FreeCAD.
Niektóre parametry są dostępne w ustawieniach FreeCAD, zobacz: Menu → Narzędzia → Edytuj parametry...
switchModeTextList
:
switchFontComBox
:
setSystemFonts
:
seTtextAlignement
: 0 = Wyrównanie do lewej (domyślnie), 1 = Wyrównanie do środka, 2 = Wyrównanie do prawejsetFontByDefault
: Domyślna czcionka (ostatnio używana)switchResetFAŁSZ
: Template:FAŁSZ reset (domyślnie), Template:PRAWDA brak resetu (niezalecane), niektóre przełączniki mogą pozostać otwarte lub zamknięte niespodziewanie!setPathOrthogonal
: Template:PRAWDA Template:FAŁSZsetPathTangent
: Template:PRAWDA Template:FAŁSZsetPositionBase
: Template:PRAWDA Template:FAŁSZsetPositionCenter
: Template:PRAWDA Template:FAŁSZsetPositionTop
: Template:PRAWDA Template:FAŁSZswitchVersionSearch
: Template:PRAWDA Template:FAŁSZVersion
: wersja FCCircularTextUruchom folder makr FcString dla utworzonych znaków oraz plik FcClock dla utworzonych zegarów.
Ikona przycisku:
(Zobacz stronę Dostosowanie pasków narzędzi aby uzyskać więcej informacji)
Macro_Circular_Text.FCMacro
lub pobierz skrypt:
- na github Macro_FCCircularText.FCMacro
- na forum Extrude from curved surface of cylinder
Tryb reliefu:
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.
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")
dla systemu Cofnij/Przywróć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)
Aby skomentować Extrude from curved surface of cylinder