Rysunek Roboczy: Kształt z tekstu

From FreeCAD Documentation
Revision as of 09:17, 27 September 2023 by Kaktus (talk | contribs)

Rysunek Roboczy: Kształt z tekstu

Lokalizacja w menu
Kreślenie → Kształt z tekstu ...
Środowisko pracy
Rysunek Roboczy, Architektura
Domyślny skrót
brak
Wprowadzono w wersji
0.14
Zobacz także
Tekst, Etykieta, Wyciągnij

Opis

Polecenie Kształt z tekstu tworzy złożony kształt reprezentujący ciąg tekstowy. Kształt ten może być użyty do tworzenia liter 3D za pomocą polecenia Wyciągnij środowiska pracy Część.

Polecenie Kształt z tekstu nie jest przeznaczone do wykonywania standardowych adnotacji tekstowych. W tym celu należy użyć polecenia Tekst lub Etykieta.

Pojedynczy punkt wymagany do pozycjonowania obiektu Kształt z tekstu

Użycie

Dla użytkowników Windows OS: przeczytaj najpierw akapit Wybór pliku czcionki w systemie Windows.

  1. Polecenie można wywołać na kilka sposobów:
    • Naciśnij przycisk Kształt z tekstu.
    • Wybierz opcję z menu Kreślenie → Kształt z tekstu.
  2. Otworzy się panel zadań Kształt z tekstu.
  3. Kliknij punkt w oknie widoku 3D lub wpisz współrzędne.
  4. Opcjonalnie naciśnij przycisk Zresetuj współrzędne punktu, aby zresetować punkt do położenia punktu początkowego.
  5. Wprowadź Ciąg znaków.
  6. Określ Wysokość.
  7. Aby wybrać czcionkę, wykonaj jedną z poniższych czynności:
    • Wprowadź ścieżkę do pliku w polu wprowadzania Plik czcionki.
    • Naciśnij przycisk ... i wybierz plik.
  8. Naciśnij przycisk OK, aby zakończyć polecenie.
  9. Opcjonalnie można zmienić włąściwość DANEWyrównanie dla tekstu. Zobacz Właściwości.

Opcje

  • Naciśnij przycisk Esc lub przycisk Anuluj aby przerwać wykonywanie polecenia.

Uwagi

  • Szkic obiektu Kształt z tekstu może być edytowany poprzez dwukrotne kliknięcie go w Widoku drzewa. dostępne w wersji 0.20
  • Obsługiwane czcionki to TrueType (.ttf), OpenType (.otf) i Type 1 (.pfb).
  • Polecenie jest ograniczone do tekstu LTR (od lewej do prawej). Dlatego w tej chwili tekst RTL (od prawej do lewej + od góry do dołu) nie jest obsługiwany.
  • Bardzo małe wysokości tekstu mogą skutkować zdeformowanymi kształtami znaków z powodu utraty szczegółów podczas skalowania.
  • Wiele czcionek wygeneruje problematyczną geometrię. Wynika to z faktu, że kontury czcionek mogą się nakładać, mieć małe odstępy i mieć różne kierunki w obrębie glifu. Warunki te są uważane za błędy w poliliniach używanych do definiowania ścian.
  • Kształt z tekstu można również utworzyć za pomocą makrodefinicji Fonts Win10 PYMP.
  • Aby utworzyć Kształt tekstu ułożony w okrąg, należy użyć makrodefinicji FCCircularText.

Wybór pliku czcionki w systemie Windows

W systemie Windows dostęp do domyślnego folderu czcionek jest chroniony. Ma to wpływ na wybór pliku czcionki dla obiektu Kształt z tekstu. W FreeCAD istnieją trzy przypadki, w których można określić plik czcionki dla tekstu: w panelu zadań Kształt z tekstu, podczas zmiany właściwości DANEPlik czcionki tekstu oraz podczas określania domyślnego pliku czcionki w Ustawieniach środowiska pracy Rysunek Roboczy.

Naciśnięcie przycisku ..., a następnie wybranie pliku z domyślnego folderu czcionek systemu Windows nie jest możliwe podczas korzystania z natywnego okna dialogowego plików. Istnieje kilka rozwiązań:

  • Upewnij się, że wartość opcji DontUseNativeFontDialog jest ustawiona na Prawda, co jest wartością domyślną dla tej preferencji. Spowoduje to wywołanie innego, nienatywnego okna dialogowego pliku tylko po naciśnięciu przycisku ... na panelu zadań Kształt z tekstu. Za pomocą tego okna dialogowego plików można uzyskać dostęp do domyślnego folderu czcionek systemu Windows.
  • Zmień wartość opcji DontUseNativeDialog na Prawda. To instruuje FreeCAD, aby zawsze używał okna dialogowego innego niż systemowe.
  • Określ plik czcionki w polu wprowadzania. Możesz oczywiście wpisać pełną ścieżkę lub skopiować-wkleić ścieżkę z Eksploratora plików Windows. Istnieje jednak również inny sposób wprowadzenia ścieżki. Jeśli wpiszesz C:\, pojawi się lista rozwijana. Wybierz Windows z tej listy i dodaj \F. Z nowej listy rozwijanej wybierz Fonts. Na koniec dodaj \ i pierwszą literę (lub kilka) pliku czcionki, a następnie wybierz ją z rozwijanej listy.
  • Utwórz niestandardowy folder dla plików czcionek.

Zobacz akapit Ustawienia poniżej, aby sprawdzić lokalizację wspomnianych preferencji.

Poradniki

Ustawienia

Zobacz także: Edytor ustawień, Rysunek Roboczy: Ustawienia i Edytor parametrów.

  • The default font file can be changed in the preferences: Edit → Preferences... → Draft → Texts and dimensions → Default ShapeString font file.
  • For Windows users:
    • Set Tools → Edit parameters... → BaseApp → Preferences → Dialog → DontUseNativeFontDialog to true to use the non-native file dialog when selecting a font file from the ShapeString task panel.
    • Alternatively, set Tools → Edit parameters... → BaseApp → Preferences → Dialog → DontUseNativeDialog to true to always use the non-native file dialog.

Właściwości

See also: Property editor.

A Draft ShapeString object is derived from a Part Part2DObject and inherits all its properties. It also has the following additional properties:

Dane

Draft

  • DANEFont File (File): Font file name.
  • DANEFuse (Bool): Fuse faces if faces overlap, usually not required (can be very slow). Ignored if DANEMake Face is false. introduced in version 0.22
  • DANEJustification (Enumeration): Horizontal and vertical alignment. Options: Top-Left, Top-Center, Top-Right, Middle-Left, Middle-Center, Middle-Right, Bottom-Left, Bottom-Center, Bottom-Right. introduced in version 0.22
  • DANEJustification Reference (Enumeration): Height reference used for justification. Options: Cap Height, Shape Height. The shape height depends on the characters in DANEString. introduced in version 0.22
  • DANEKeep Left Margin (Bool): Keep left margin and leading white space when justification is left. introduced in version 0.22
  • DANEMake Face (Bool): Fill letters with faces.
  • DANEOblique Angle (Angle): Oblique (slant) angle. Must be in the -80° to +80° range. introduced in version 0.22
  • DANEScale To Size (Bool): Scale to ensure cap height is equal to size. If set to false, depending on the font, cap height will not match DANESize exactly. introduced in version 0.22
  • DANESize (Length): Height of text.
  • DANEString (String): Text string. A ShapeString can only display a single text line.
  • DANETracking (Distance): Inter-character spacing. The property type has been updated (introduced in version 0.22).

The height of the red rectangle (solid line) is equal to the cap height.
The height of the green rectangle (dashed line) is equal to the shape height.
The corners, the midpoints of the edges, and the center of the rectangles
match the 9 justification options: Top-Left to Bottom-Right.

Tworzenie skryptów

See also: Autogenerated API documentation and FreeCAD Scripting Basics.

To create a Draft ShapeString use the make_shapestring method (introduced in version 0.19) of the Draft module. This method replaces the deprecated makeShapeString method.

shapestring = make_shapestring(String, FontFile, Size=100, Tracking=0)
  • Creates a shapestring compound shape using the specified String and the full path of a supported FontFile.
  • Size is the height of the resulting text in millimeters.
  • Tracking is the inter-character spacing in millimeters.

The placement of the ShapeString can be changed by overwriting its Placement attribute, or by individually overwriting its Placement.Base and Placement.Rotation attributes.

Przykład:

import FreeCAD as App
import Draft

doc = App.newDocument()

font1 = "/usr/share/fonts/truetype/msttcorefonts/Arial.ttf"
font2 = "/usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf"
font3 = "/usr/share/fonts/truetype/freefont/FreeSerifItalic.ttf"

S1 = Draft.make_shapestring("This is a sample text", font1, 200)

S2 = Draft.make_shapestring("Inclined text", font2, 200, 10)

zaxis = App.Vector(0, 0, 1)
p2 = App.Vector(-1000, 500, 0)
place2 = App.Placement(p2, App.Rotation(zaxis, 45))
S2.Placement = place2

S3 = Draft.make_shapestring("Upside-down text", font3, 200, 10)
S3.Placement.Base = App.Vector(0, -1000, 0)
S3.Placement.Rotation = App.Rotation(zaxis, 180)

doc.recompute()