Std: Część

From FreeCAD Documentation
This page is a translated version of the page Std Part and the translation is 100% complete.

Std: Część

Lokalizacja w menu
brak
Środowisko pracy
wszystkie
Domyślny skrót
brak
Wprowadzono w wersji
0.17
Zobacz także
Grupa, Zawartość

Opis

Std: Część (wewnętrznie nazywany App: Część) jest to uniwersalny kontener, który gromadzi wspólnie grupę obiektów, dzięki czemu można je przesuwać razem jako całość w oknie widoku 3D.

Element Std: Część został opracowany jako podstawowy element konstrukcyjny do tworzenia zespołów mechanicznych. W szczególności, ma on za zadanie uporządkować obiekty, które mają kształt części TopoShape, jak Część: Bryły pierwotne, Projekt Części: Zawartość i inne cechy Części. Std: Część dostarcza obiekt Odniesienie położenia z lokalnymi osiami X, Y i Z oraz płaszczyznami standardowymi, które mogą być używane jako odniesienie do położenia obiektów zamkniętych. Ponadto obiekty Std: Część mogą być zagnieżdżone wewnątrz innych obiektów Std: Część w celu utworzenia dużego zespołu z mniejszych podzespołów.

Chociaż jest on przeznaczony głównie dla brył, Std: Część może być użyty do zarządzania dowolnym obiektem, który posiada właściwość Umiejscowienie, więc może również zawierać cechy siatki, szkice i inne obiekty pochodzące z klas App: GeoFeature.

Nie należy mylić elementu Projekt Części: Zawartość z częścią Std: Część. Pierwszym z nich jest określony obiekt używany w środowisku pracy Projekt Części, przeznaczony do modelowania pojedynczej, ciągłej bryły za pomocą funkcji właściwości. Z drugiej strony Std: Część nie jest używana do modelowania, a jedynie do rozmieszczania różnych obiektów w przestrzeni z zamiarem tworzenia złożeń.

Narzędzie Std: Część nie jest zdefiniowane przez konkretne środowisko pracy, lecz przez system bazowy, a więc znajduje się na pasku narzędzi konstrukcja, który jest dostępny we wszystkich środowiskach pracy. Aby dowolnie grupować obiekty bez względu na ich położenie, należy użyć funkcji Std: Grupa. Obiekt ten nie ma wpływu na rozmieszczenie elementów, które zawiera, w zasadzie jest to tylko folder, który jest używany do utrzymania widoku drzewa w sposób zorganizowany.

Z lewej: elementy wewnątrz obiektu Std: Część w widoku drzewa.
Z prawej: obiekty umieszczone w przestrzeni, odnoszące się do odniesienia położenia Std: Części.

Użycie

  1. Naciśnij przycisk Utwórz Część.
  2. Zostanie utworzona pusta część, która automatycznie stanie się aktywna.
  3. Aby dodać obiekty do nowo utworzonej pozycji Części, zaznacz ją w widoku drzewa, a następnie przeciągnij je i upuść nad Częścią.
  4. Aby usunąć obiekty z części, przeciągnij je poza część, na etykietę dokumentu u góry widoku drzewa.
  5. Obiekty można także dodawać i usuwać, edytując właściwość DANEGrupa części.

Uwagi

  • Dany obiekt może należeć tylko do jednej pozycji Części.
  • Operacje 3D, takie jak operacje logiczne środowiska Część, nie mogą być stosowane do części. Na przykład nie można wybrać dwóch części i wykonać operacji Scalenie lub Cięcie.

Właściwości

Std: Część jest wewnętrznie nazywana App: Part (klasa App::Part), i pochodzi z App: GeoFeature (klasa App::GeoFeature), ioraz dziedziczy wszystkie jego właściwości. Posiada również kilka dodatkowych właściwości. W szczególności właściwości, które pomagają zarządzać informacjami w kontekście złożenia, na przykład DANETyp, DANEId, DANELicencja, DANELicencjaURL i DANEGrupa.

Są to właściwości dostępne w edytorze właściwości. Ukryte właściwości można wyświetlić za pomocą polecenia Wyświetl wszystko w menu kontekstowym edytora właściwości.

Dane

Podstawa

  • DANETyp (String): opis dla obiektu. Domyślnie jest to pusty łańcuch znaków "".
  • DANEMateriał (Link): materiał wybrany dla tego obiektu.
  • DANE (Ukryte)Meta (Map): wprowadza dodatkowe informacje meta. Domyślnie jest ona pusta. {}.
  • DANEId (String): numer identyfikacyjny lub numer części dla obiektu. Domyślnie jest to pusty łańcuch znaków "".
  • DANE (Hidden)Uid (UUID): uniwersalny, niepowtarzalny identyfikator (UUID) (liczba 128-bitowa) obiektu. Jest on nadawany w czasie tworzenia.
  • DANELicencja (String): pole do określenia licencji dla obiektu. Domyślnie jest to pusty łańcuch znaków "".
  • DANELicencjaURL (String): pole do podania adresu strony internetowej z licencją lub umową dla tego obiektu. Domyślnie jest to pusty łańcuch znaków "".
  • DANEKolor (Color): tupla czterech zmiennoprzecinkowych wartości RGBA (r,g,b,a) do określenia koloru obiektu. Domyślnie jest to (1.0, 1.0, 1.0, 1.0), która jest wyświetlana jako [255,255,255] w bazie 255, white color.
  • DANEUmieszczenie (Placement): ustawienie obiektu w oknie widoku 3D. Umieszczenie jest określone przez punkt (wektor) Baza i Obrót (oś i kąt). Patrz: Umiejscowienie.
    • DANEKąt: kąt obrotu wokół DANEOsi. Domyślnie jest to (zero stopni).
    • DANE: wektor jednostkowy, który określa oś obrotu dla położenia. Każdy komponent jest wartością zmiennoprzecinkową pomiędzy 0 a 1. Jeśli jakaś wartość znajduje się powyżej 1, wektor jest normalizowany tak, że jego wielkość wynosi 1. Domyślnie ustawiono dodatnią oś Z, (0, 0, 1).
    • DANEPozycja: wektor ze współrzędnymi przestrzennymi punktu bazowego. Domyślnie, jest to punkt startowy (0, 0, 0).
  • DANEEtykieta (String): edytowalna przez użytkownika nazwa obiektu, jest to dowolny ciąg znaków w standardzie UTF8.
  • DANE (Ukryte)Etykieta2 (String): dłuższy, edytowalny przez użytkownika opis tego obiektu, jest to dowolny ciąg znaków UTF8, który może zawierać znaki nowej linii. Domyślnie jest to pusty łańcuch "".
  • DANE (Ukryte)Silnik wyrażeń (ExpressionEngine): lista wyrażeń. Domyślnie jest ona pusta [].
  • DANE (Ukryte)Widoczność (Bool): określa, czy obiekt ma być wyświetlany, czy nie.
  • DANE (Ukryte)Odniesienie położenia (Link): obiekt App: Odniesienie położenia, który jest pozycyjnym odniesieniem dla wszystkich elementów wymienionych w DANEGrupie.
  • DANEGrupa (LinkList): lista obiektów, których dotyczą odniesienia. Domyślnie jest pusta [].
  • DANE (Ukryte)_ Group Touched (Bool): określa czy grupa jest poddana edycji, czy nie.

Widok

Opcje wyświetlania

  • WIDOKTryb wyświetlania (Enumeration): Grupa.
  • WIDOKWyświetl w drzewie (Bool): jeśli ma wartość PRAWDA, obiekt pojawia się w widoku Widok drzewa. W przeciwnym razie jest on niewidoczny..
  • WIDOKWidoczność (Bool): jeśli ma wartość PRAWDA, obiekt pojawia się w oknie widoku 3D. W przeciwnym razie jest niewidoczny. Domyślnie właściwość ta może być włączana i wyłączana przez naciśnięcie klawisza Spacja na klawiaturze.

Wybieranie

  • WIDOKNa wierzchu po wybraniu (Enumeration): Wyłączone (domyślnie), Wyłączone, Objekt, Element.
  • WIDOKStyl wyboru (Enumeration): Kształt (domyślnie), BoundBox. Jeśli opcja ma wartość Kształt, cały kształt (wierzchołki, krawędzie i ściany) zostanie podświetlony w oknie widoku 3D. Jeśli wartość to Ramka otaczająca, podświetlone zostanie tylko pole ograniczające.

Szczegółowe wyjaśnienia

Status aktywności

Otwarty dokument może zawierać wiele części. Ale tylko jedna Część może być aktywna. Aktywna Część zostanie wyświetlona w widoku drzewa przy zastosowaniu koloru tła określonego w edytorze preferencji przez wartość Aktywny kontener (domyślnie, jasnoniebieski). Etykieta aktywnej części zostanie również wyświetlona pogrubionym tekstem.

Aby uaktywnić lub dezaktywować Część:

  • Kliknij dwukrotnie na jej pozycję w widoku drzewa, lub
  • Otwórz menu kontekstowe (klikając prawym przyciskiem myszy) i wybierz Przełącz aktywność części.

Dokument z dwiema Częściami Std, wśród których aktywna jest druga część.

Odniesienie położenia

Początek układu współrzędnych składa się z trzech standardowych osi (X, Y, Z) oraz trzech standardowych płaszczyzn (XY, XZ i YZ). Szkic i inne obiekty mogą być dołączone do tych elementów w trakcie ich tworzenia.

Z lewej: Początek układu współrzędnych Części w widoku drzewa.
Z prawej: reprezentacja początku układu współrzędnych w oknie widoku 3D.


Uwaga: Początek układu współrzędnych jest obiektem App: Odniesienie położenia (klasa App::Origin), podczas gdy osie i płaszczyzny są obiektami odpowiednio typu App::Line oraz App::Plane. Każdy z tych elementów może być ukryty i nieujawniany indywidualnie przy użyciu klawisza spacja. Jest to przydatne przy tworzeniu innych obiektów, aby wybrać właściwe odniesienie.

Uwaga 2: Wszystkie elementy składowe Części są powiązane z jej początkiem, co oznacza, że Część może być przesuwana i obracana w odniesieniu do globalnego układu współrzędnych, bez wpływu na rozmieszczenie jej elementów składowych.

Zarządzanie wyświetlaniem

Parametr wyświetlania Części ma pierwszeństwo określania wyświetlania dowolnego obiektu, który zawiera. Jeśli wyświetlanie Części zostanie ukryte, to obiekty, które zawiera będą również ukryte, nawet jeśli ich indywidualna właściwość WIDOKWidoczność jest ustawiona na true. Jeśli Część jest widoczna, to właściwość każdego obiektu WIDOKWidoczność określa, czy obiekt jest prezentowany na ekranie okna widoku 3D czy nie.

Parametr widoczności Std Części określa, czy zgrupowane pod nią obiekty są prezentowane w oknie widoku 3D, czy też nie.
Po lewej: Część została ukryta, więc żaden z obiektów nie będzie widoczny w oknie widoku 3D.
Po prawej: Część jest widoczna, więc każdy obiekt kontroluje indywidualnie swoje właściwości w zakresie wyświetlania.

Tworzenie skryptów

Zobacz również: Podstawy tworzenia skryptów FreeCAD, oraz Obiekty tworzone skryptami.

Ogólne informacje na temat dodawania obiektów do dokumentu można znaleźć na stronie Część: właściwość.

Element Std: Part (App Part) jest tworzony przy pomocy metody addObject() dokumentu. Gdy istnieje element Part, inne obiekty mogą być do niego dodane za pomocą metod addObject() lub addObjects() tej Części.

import FreeCAD as App

doc = App.newDocument()
part = App.ActiveDocument.addObject("App::Part", "Part")

obj1 = App.ActiveDocument.addObject("PartDesign::Body", "Body")
obj2 = App.ActiveDocument.addObject("Part::Box", "Box")

part.addObjects([obj1, obj2])
App.ActiveDocument.recompute()

Nie można utworzyć skryptu App::Part. Można jednak dodać zachowanie App::Part do obiektu skryptowego Part::FeaturePython za pomocą następującego kodu:

class MyGroup(object):
    def __init__(self, obj=None):
        self.Object = obj
        if obj:
            self.attach(obj)

    def dumps(self):
        return

    def loads(self, _state):
        return

    def attach(self, obj):
        obj.addExtension("App::OriginGroupExtensionPython")
        obj.Origin = FreeCAD.ActiveDocument.addObject("App::Origin", "Origin")

    def onDocumentRestored(self, obj):
        self.Object = obj

class ViewProviderMyGroup(object):
    def __init__(self, vobj=None):
        if vobj:
            vobj.Proxy = self
            self.attach(vobj)
        else:
            self.ViewObject = None

    def attach(self, vobj):
        vobj.addExtension("Gui::ViewProviderOriginGroupExtensionPython")
        self.ViewObject = vobj

    def dumps(self):
        return None

    def loads(self, _state):
        return None

App.ActiveDocument.addObject("Part::FeaturePython",
                             "Group",
                             group.MyGroup(),
                             group.ViewProviderMyGroup(),
                             True)