Część: Cecha

From FreeCAD Documentation
Revision as of 14:58, 22 February 2022 by Kaktus (talk | contribs)

Wprowadzenie

Obiekt Cecha Części, lub formalnie Part::Feature, jest prostym elementem kształtu topologicznego, który może być wyświetlany w oknie widoku 3D.

Cecha części jest klasą nadrzędną dla większości obiektów 2D (Rysunek roboczy, Szkicownik) i 3D (Część, Projekt części), z wyjątkiem siatek, które są zwykle oparte na cechach siatek, lub obiektach FemMesh dla obiektów MES.

Uproszczony diagram zależności pomiędzy podstawowymi obiektami w programie FreeCAD.

Użycie

Obiekt cecha części jest obiektem wewnętrznym, więc nie można go utworzyć z poziomu interfejsu graficznego, tylko z poziomu konsoli Python jak opisano w sekcji tworzenie skryptów.

Klasa Part::Feature jest zdefiniowana w środowisku Część ale może być użyta jako klasa bazowa dla obiektów tworzonych skryptami we wszystkich środowiskach pracy które produkują kształty geometryczne 2D i 3D. Zasadniczo wszystkie obiekty produkowane w środowisku pracy Część są instancjami Part::Feature.

Part::Feature jest również klasą nadrzędną zawartości Projektu części, cechy Projektu części, oraz Part2DObject, która jest wyspecjalizowana dla kształtów 2D (planarnych).

Element Part::Feature posiada proste właściwości jak umiejscowienie, oraz właściwości wizualne określające wygląd jego wierzchołków, krawędzi i ścian. Środowisko pracy może dodać więcej właściwości do tego podstawowego elementu, aby stworzyć obiekt o złożonym wyglądzie.

Własności

Zobacz stronę Właściwości dla wszystkich typów właściwości, które mogą mieć obiekty tworzone skryptami.

Cecha części (klasa Part::Feature) wywodzi się z podstawowej App: GeoFeature (klasa App::GeoFeature), dlatego dzieli wszystkie właściwości tej ostatniej.

Są to właściwości dostępne w edytorze właściwości|. Ukryte właściwości można pokazać za pomocą polecenia Wyświetl wszystko w menu kontekstowym okna edycji właściwości.

Dane

Podstawowe

  • DANEUmieszczenie (Placement): pozycja obiektu w oknie widoku 3D. Umieszczenie jest określone przez punkt Base (wektor) i Rotation (oś i kąt). Zobacz stronę Umiejscowienie.
    • DANEKąt: kąt obrotu wokół osi DANE. Domyślnie jest to (zero stopni).
    • DANE: wektor jednostkowy określający oś obrotu dla położenia. Każda składowa jest wartością zmiennoprzecinkową pomiędzy 0 a 1. Jeśli jakakolwiek wartość jest powyżej 1, wektor jest normalizowany tak, aby jego wielkość wynosiła 1. Domyślnie jest to dodatnia oś Z, (0, 0, 1).
    • DANEPozycja: wektor zawierający współrzędne 3D punktu bazowego. Domyślnie jest to początek (0, 0, 0).
  • DANEEtykieta (String): nazwa obiektu edytowalna przez użytkownika, jest to dowolny ciąg znaków w kodowaniu UTF8.

Widok

Większość obiektów we FreeCAD ma coś, co nazywa się „dostawca widoku”, jest to klasa definiująca wygląd obiektu w oknie widoku 3D oraz w drzewie widoku. Domyślny dostawca widoku obiektów elementu części definiuje właściwości prezentowane poniżej. Obiekty skryptowe, które pochodzą z elementu cecha części, również będą miały dostęp do tych właściwości.

Podstawowe

Opcje wyświetlania

  • WIDOKRamka otaczająca (Bool): jeśli wartość to true, obiekt wyświetli ramkę ograniczającą w widoku 3D.
  • WIDOKTryb wyświetlania (Enumeration): Linie główne (regularna wizualizacja), Zacieniony (bez krawędzi), Model krawędziowy (bez ścian), Punkty (tylko wierzchołki).
  • WIDOKPokaż na drzewie (Bool): wartość domyślna to true, w którym to przypadku obiekt pojawi się w widoku widoku drzewa. W przeciwnym razie obiekt zostanie ukryty w widoku drzewa. Gdy obiekt w drzewie jest niewidoczny, można go ponownie wyświetlić, otwierając menu kontekstowe nad nazwą dokumentu (prawy przycisk myszy) i wybrać Pokaż ukryte elementy. Następnie można wybrać ukryty element i wartość WIDOKPokaż na drzewie przełączyć z powrotem na true.
  • WIDOKWidoczność (Bool): jeśli ma wartość true, obiekt pojawia się w widoku 3D. W przeciwnym razie jest niewidoczny. Standardowo właściwość ta może być przełączana przez naciśnięcie klawisza Spacja na klawiaturze.

Wygląd obiektu

  • WIDOKOdchylenie kątowe (Angle): jest to towarzysz WIDOKOdchylenia. Jest to kolejny sposób na określenie, jak precyzyjnie wygenerować siatkę do renderowania na ekranie lub podczas eksportu. Domyślną wartością jest 28.5 stopni, lub 0.5 radiana. Jest to wartość maksymalna, im mniejsza wartość tym gładszy będzie wygląd w widoku 3D, i tym drobniejsza będzie siatka, która zostanie wyeksportowana.
  • WIDOKOdchylenie (FloatConstraint): jest to towarzysz WIDOKOdchylenia kątowego. Jest to kolejny sposób na określenie, jak drobna ma być generowana siatka do renderowania na ekranie lub podczas eksportu. Domyślną wartością jest 0.5%. Jest to wartość maksymalna, im mniejsza wartość tym gładszy będzie wygląd w widoku 3D i tym drobniejsza będzie siatka, która zostanie wyeksportowana.
  • WIDOK (hidden)Kolor rozproszenia (ColorList): jest to lista krotek RGB definiujących kolory, podobna do WIDOKKolor kształtu. Domyślnie jest to lista zawierająca jeden ciąg [(0,8, 0,8, 0,8)].
  • WIDOKKolor wierzchołka (Color): podobnie jak WIDOKKolor linii, definiuje kolor wierzchołków.
  • WIDOK (hidden)Tablica kolorów wierzchołków (ColorList): jest to lista krotek RGB określających kolory, podobna do WIDOKKolor wierzchołka. Domyślnie jest to lista [(0.09, 0.09, 0.09)].
  • WIDOK (hidden)Materiał wierzchołka (Material): Materiał powiązany z wierzchołkami w tym obiekcie. Domyślnie wartość jest pusta.
  • WIDOKRozmiar wierzchołka (FloatConstraint): podobnie jak WIDOKSzerokość linii, definiuje rozmiar wierzchołków.
  • WIDOKKolor kształtu (Color): podobnie jak WIDOKKolor linii, określa kolor powierzchni. Domyślnie jest to (0.8, 0.8, 0.8), co jest wyświetlane jako [204, 204, 204] na podstawie 255, a zatem jasny szary.
  • WIDOK (hidden)Materiał kształtu (Material): Materiał związany z tym obiektem. Domyślnie wartość jest pusta.
  • WIDOKPrzejrzystość (Percent): liczba całkowita z zakresu 0 do 100. (wartość procentowa) określająca poziom przezroczystości ścian w widoku 3D. Wartość 100 oznacza całkowicie niewidoczne ściany Ściany są niewidoczne, ale nadal można je wybierać tak długo, jak wartość WIDOKDo wyboru wynosi true.

Wybieranie

  • WIDOKNa wierzchu po zaznaczeniu (Enumeration): kontroluje sposób, w jaki zaznaczenie pojawia się w oknie widoku 3D, jeśli obiekt ma kształt i jest wiele obiektów częściowo zakrytych przez inne. Domyślna wartość to Disabled, co oznacza, że nie pojawi się żadne specjalne podświetlenie. Wartość Enabled oznacza, że obiekt pojawi się na wierzchu każdego innego obiektu, gdy zostanie wybrany, Object oznacza, że obiekt pojawi się na wierzchu tylko jeśli cały obiekt jest zaznaczony w widoku drzewa. Wartość Element oznacza, że obiekt pojawi się na wierzchu tylko jeśli element podrzędny (wierzchołek, krawędź, ściana) jest zaznaczony w widoku 3D.
  • WIDOKDo wyboru (Bool): jeśli parametr ma wartość true, obiekt może być wybrany kursorem myszki w widoku 3D. W przeciwnym razie, obiekt nie może być wybrany dopóki ta opcja nie zostanie ustawiona na true.
  • WIDOKStyl wyboru (Enumeration): kontroluje sposób podświetlania obiektu. Jeśli wybrano Kształt, cały kształt (wierzchołki, krawędzie i ściany) będzie podświetlony w widoku 3D; jeśli jest to Ramka otaczająca, pole ograniczające pojawi się wokół obiektu i zostanie podświetlone.

Wartość odchylenia

Parametry ugięcia algorytmu BRepMesh_IncrementalMesh; d < ugięcie liniowe, α < ugięcie kątowe.

Odchylenie jest wartością w procentach, która jest związana z wymiarami w milimetrach ramki otaczającej obiekt. Odchylenie w milimetrach można obliczyć w następujący sposób:

deviation_in_mm = (w + h + d)/3 * deviation/100

gdzie w, h, d są wymiarami ramki otaczającej.

Tworzenie skryptów

Cecha części jest tworzona za pomocą metody dokumentu addObject().

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::Feature", "Name")
obj.Label = "Custom label"

Dlatego też, dla klasy podrzędnej Python, powinieneś stworzyć obiekt Part::FeaturePython.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("Part::FeaturePython", "Name")
obj.Label = "Custom label"

Nazwa

Zobacz również: Nazwa obiektu, aby uzyskać więcej informacji na temat właściwości Nazwy.

Funkcja addObject posiada dwa podstawowe argumenty typu string.

  • Pierwszy argument wskazuje typ obiektu, w tym przypadku "Part::FeaturePython".
  • Drugi argument jest łańcuchem określającym atrybut Name. Jeśli nie zostanie podany, domyślnie przyjmuje taką samą nazwę jak klasa, czyli "Part__FeaturePython". Nazwa Name może zawierać tylko proste znaki alfanumeryczne oraz podkreślnik, [_0-9a-zA-Z]. Jeśli podane zostaną inne symbole, zostaną one zamienione na znaki podkreślenia, na przykład "A+B:C*" jest zamieniane na "A_B_C_".

Etykieta

W razie potrzeby atrybut Etykieta może zostać zmieniony na bardziej wymowny tekst.

  • Etykieta może przyjąć dowolny ciąg znaków UTF8, włączając w to akcenty i spacje. Ponieważ widok drzewa wyświetla Etykietę, dobrą praktyką jest zmiana atrybutu Etykiety na bardziej opisowy ciąg znaków.
  • Domyślnie Etykieta jest unikalna, tak jak Nazwa. Jednak to zachowanie może być zmienione w Edytorze Preferencji, Edycja → Preferencje → Ogólne → Dokument → Zezwalaj na duplikowanie etykiet obiektów w jednym dokumencie. Oznacza to, że ogólnie Etykieta może być powtarzana w tym samym dokumencie, podczas testowania dla konkretnego elementu użytkownik powinien polegać na Nazwie, a nie na Etykiecie.