Część: Cecha
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).
Ś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), i dziedziczy wszystkie jego właściwości. Posiada również kilka dodatkowych właściwości. W szczególności właściwość DANEKształt, która przechowuje kształt topologiczny obiektu. Jest to geometria, która jest wyświetlana w oknie widoku 3D. Inne właściwości tego obiektu to te związane z wyglądem jego kształtu topologicznego.
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 Pokaż ukryte w menu kontekstowym okna edycji właściwości.
Dane
Podstawa
- DANE (Hidden)Proxy (
PythonObject): niestandardowa klasa powiązana z tym obiektem. Występuje tylko w wersji Python. Zobacz Tworzenie skryptów. - DANE (Hidden)Shape (
PartShape): Kształt topologiczny powiązany z tym obiektem. - DANEShape Material (
Material): materiał obiektu. - DANEPlacement (
Placement): położenie obiektu. Położenie jest określane przez punktBase(wektor) orazRotation(oś i kąt). Zobacz Umiejscowienie.- Angle: kąt obrotu wokół DANEAxis. Domyślnie
0°(zero stopni). - Axis: wektor jednostkowy określający oś obrotu dla położenia. Każdy składnik jest wartością zmiennoprzecinkową pomiędzy
0a1. Jeśli jakakolwiek wartość przekracza1, wektor zostanie znormalizowany tak, by jego długość wynosiła1. Domyślnie dodatnia oś Z:(0, 0, 1). - Position: wektor współrzędnych 3D punktu bazowego. Domyślnie punkt początkowy
(0, 0, 0).
- Angle: kąt obrotu wokół DANEAxis. Domyślnie
- DANE (Hidden)_ Element Map Version (
String): Do określenia. dostępne w wersji 1.1 - DANELabel (
String): edytowalna przez użytkownika nazwa obiektu; dowolny ciąg UTF8. - DANE (Hidden)Label2 (
String): dłuższy, edytowalny opis obiektu; dowolny ciąg UTF8 mogący zawierać znaki nowej linii. Domyślnie pusty ciąg"". - DANE (Hidden)Expression Engine (
ExpressionEngine): lista wyrażeń. Domyślnie pusta[]. - DANE (Hidden)Visibility (
Bool): czy obiekt ma być widoczny.
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.
Podstawa
- WIDOK (Ukryte)Pośrednik (
PythonObject): klasa własna dostawca widoku związana z tym obiektem. Istnieje wyłącznie dla wersji środowiska Python. Zobacz sekcję tworzenie skryptów. - WIDOK (Hidden)Przemieść początek (
Placement): przechowuje punkt początkowy używany przez Przemieszczenie. dostępne w wersji 1.1
Opcje wyświetlania
- WIDOKRamka otaczająca (
Bool): jeśli prawda, 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ż w drzewie (
Bool): jeśli prawda, obiekt pojawi się w 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ż elementy ukryte w widoku drzewa. Następnie można wybrać ukryty element i wartość WIDOKPokaż w drzewie przełączyć z powrotem na
PRAWDA. - WIDOKPokaż Umiejscowienie (
Bool): jeśli prawda, pokazywany jest układ współrzędnych wskazujący DANEUmiejscowienie obiektu. dostępne w wersji 1.1 - WIDOKWidoczność (
Bool): jeśli prawda, obiekt pojawia się w widoku 3D; inaczej jest niewidoczny. Domyślnie ta właściwość może być włączana i wyłączana za pomocą klawisza Spacja.
Wygląd obiektu
- WIDOKAngular Deflection (
Angle): jest uzupełnieniem właściwości WIDOKDeviation. To inny sposób określenia, jak dokładna ma być siatka generowana do wyświetlania na ekranie lub eksportu. Wartość domyślna to28.5 degreeslub0.5 radians. Jest to wartość maksymalna — im mniejsza wartość, tym gładszy wygląd i dokładniejsza siatka eksportowa. - WIDOKDeviation (
FloatConstraint): jest uzupełnieniem właściwości WIDOKAngular Deflection. To inny sposób określenia dokładności siatki generowanej do wyświetlania lub eksportu. Domyślna wartość to0.5%. Jest to wartość maksymalna — im mniejsza, tym gładszy wygląd i dokładniejsza siatka. - WIDOKDraw Style (
Enumeration):Solid(domyślnie),Dashed,Dotted,Dashdot; definiuje styl krawędzi. - WIDOKLighting (
Enumeration):Two side(domyślnie),One side; oświetlenie pochodzi z dwóch stron lub jednej strony w widoku 3D. - WIDOKLine Color (
Color): krotka czterech wartości zmiennoprzecinkowych RGBA określająca kolor krawędzi. - WIDOK (hidden)Line Color Array (
ColorList): lista krotek RGBA określających kolory, podobnie jak WIDOKLine Color. - WIDOK (hidden)Line Material (
Material): materiał powiązany z krawędziami tego obiektu. Domyślnie pusty. - WIDOKLine Width (
FloatConstraint): liczba zmiennoprzecinkowa określająca szerokość krawędzi w pikselach.
- WIDOKKolor wierzchołka (
Color): podobnie jak WIDOKKolor linii, definiuje kolor wierzchołków. - WIDOK (Ukryte)Macierz kolorów wierzchołków (
ColorList): jest to lista krotek RGBA określających kolory, podobna do WIDOKKolor wierzchołka. - WIDOK (Ukryte)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. - WIDOKShape Appearance (
MaterialList): lista materiałów definiujących wygląd obiektu. Domyślnie lista zawiera jeden element, który jest używany dla wszystkich ścian obiektu. Alternatywnie może zawierać osobny materiał aplikacji dla każdej ściany. Zobacz Kolor dla ściany. W edytorze właściwości wyświetlany jest tylko pierwszy materiał aplikacji. Edytowanie go spowoduje utworzenie listy z jednym elementem. Materiał aplikacji zawiera następujące właściwości:- Diffuse Color: zobacz tutaj dla wyjaśnienia tej oraz kolejnych właściwości koloru.
- Ambient Color
- Specular Color
- Emissive Color
- Shininess
- Transparency
- WIDOKTransparency (
Percent): liczba całkowita z zakresu od0do100, określająca poziom przezroczystości ścian. Wartość100oznacza całkowicie niewidoczne ściany; są one niewidoczne, ale nadal można je zaznaczyć, o ile WIDOKSelectable ma wartośćPRAWDA. Zmiana tej właściwości spowoduje również zmianę listy WIDOKShape Appearance obiektu. Powstała lista będzie zawierać jeden element.
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ść toWyłaczone, co oznacza, że nie pojawi się żadne specjalne podświetlenie. WartośćWłączoneoznacza, że obiekt pojawi się na wierzchu każdego innego obiektu, gdy zostanie wybrany,Objectoznacza, że obiekt pojawi się na wierzchu tylko jeśli cały obiekt jest zaznaczony w widoku drzewa. WartośćElementoznacza, ż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 prawda, obiekt może być wybrany kursorem myszki w widoku 3D. W przeciwnym razie, obiekt może być wybrany tylko w widoku drzewa. - WIDOKStyl wyboru (
Enumeration): kontroluje sposób podświetlania obiektu. Jeśli wybranoKształt, cały kształt (wierzchołki, krawędzie i ściany) będzie podświetlony w widoku 3D; jeśli jest toRamka otaczająca, pole ograniczające pojawi się wokół obiektu i zostanie podświetlone.
Ugięcie kątowe i odchylenie
Ugięcie kątowe i parametry odchylenia; d < odchylenie 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
Zobacz również: Podstawy tworzenia skryptów FreeCAD, oraz Obiekty skryptowe.
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.
Metoda 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". NazwaNamemoż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.
Etykietamoże przyjąć dowolny ciąg znaków UTF8, włączając w to akcenty i spacje. Ponieważ widok drzewa wyświetlaEtykietę, dobrą praktyką jest zmiana atrybutuEtykietyna bardziej opisowy ciąg znaków.- Domyślnie
Etykietajest unikalna, tak jakNazwa. 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ólnieEtykietamoże być powtarzana w tym samym dokumencie, podczas testowania dla konkretnego elementu użytkownik powinien polegać naNazwie, a nie naEtykiecie.
- Rdzenne: App: Obiekt dokumentu
- Podstawowe: : Właściwości Python, App: Cechy geometrii, Część: Cecha, Siatka: Cecha, MES: Siatka
- Kształty wewnętrzne: Część: Kształt topologiczny, Siatka: Obiekt siatki, MES: Siatka
- Struktura: App: Obiekt grupy dokumentu (Std: Grupa), App: Część (Std: Część), App: Link
- Pochodne: Część: Part2DObject, Szkicownik: Obiekt szkicu, Projekt części: Zawartość, Projekt części: Cecha
- Jak zacząć
- Instalacja: Pobieranie programu, Windows, Linux, Mac, Dodatkowych komponentów, Docker, AppImage, Ubuntu Snap
- Podstawy: Informacje na temat FreeCAD, Interfejs użytkownika, Profil nawigacji myszką, Metody wyboru, Nazwa obiektu, Edytor ustawień, Środowiska pracy, Struktura dokumentu, Właściwości, Pomóż w rozwoju FreeCAD, Dotacje
- Pomoc: Poradniki, Wideo poradniki
- Środowiska pracy: Strona Startowa, Złożenie, BIM, CAM, Rysunek Roboczy, MES, Inspekcja, Siatka, OpenSCAD, Część, Projekt Części, Punkty, Inżynieria Wsteczna, Robot, Szkicownik, Arkusz Kalkulacyjny, Powierzchnia 3D, Rysunek Techniczny, Test Framework