Ćwiczenie 2: Definiowanie klasy obiektu

Każda nowa klasa obiektu musi być oparta na obiekcie istniejącym. Definiowanie należy rozpocząć od otworzenia mapy zawierającej obiekty typowe dla definiowanej klasy obiektów („obiekty modelowe”). W tym przykładzie należy otworzyć mapę dróg, aby zdefiniować klasy obiektów Drogi.

Uwaga: W niniejszym ćwiczeniu każdy zestaw obiektów jest zapisany w osobnym pliku. Jeśli obiekty są zapisane w warstwach w jednym pliku, można zdefiniować wszystkie klasy obiektów z tego pliku. Proces jest taki sam.

Podczas definiowania klasy obiektów można wybrać istniejące właściwości obiektu modelowego i uwzględnić je w definicji klasy obiektu. Można również dodać właściwości. Dla każdej uwzględnionej właściwości można określić domyślną wartość oraz dopuszczalny zakres.

Uwaga: W tym ćwiczeniu używany jest plik definicji klasy obiektu MyDefinition.xml object class definition , który utworzono w sekcji Ćwiczenie 1: Tworzenie pliku definicji klasy obiektu.

Aby zdefiniować klasę obiektów

  1. W programie AutoCAD Map 3D otwórz plik Classify_Roads.dwg. Kliknij OtwórzRysunek.
  2. Na karcie Eksplorator mapy, która należy do okna zadań, kliknij prawym przyciskiem myszy opcję Klasy obiektów, a następnie kliknij opcję Dołącz plik definicji.
  3. Wybierz utworzony plik definicji MyDefinition.xml.
  4. Kliknij kolejno: kartę Ustawienia mapypanel Klasa obiektuDefiniuj. Wyszukiwanie .
    Wyszukiwanie

    Zdefiniuj klasę obiektu, wybierając obiekt modelowy.

  5. Wybierz dowolną drogę jako obiekt modelowy dla tej klasy.
  6. W oknie dialogowym Zdefiniuj klasyfikację obiektu wprowadź Roads jako nazwę dla tej klasy obiektów. Zaznacz najwyżej położone pole wyboru na liście Typy obiektów (AcDbEntity).

    Określ metodę tworzenia obiektu, która będzie musiała zostać zastosowana do obiektów istniejących, aby mogły one należeć do tej klasy obiektów.

    We wszystkich istniejących obiektach dodawanych do tej klasy musi być użyty typ obiektu, zaznaczony w tym miejscu. Jeśli nie wiadomo, czy wszystkie obiekty zostały utworzone za pomocą metody AcDbLine czy AcDbCurve, bezpieczniej jest zaznaczyć metodę AcDbEntity.

  7. Kliknij kartę Lista właściwości, a następnie zaznacz właściwości, które mają zostać dołączone do tej klasy obiektów.

    Obiekty dołączone do tej klasy zawsze zachowują swoje właściwości. Właściwości określone w tej sekcji są właściwościami całej klasy. Wybierz właściwości w celu ustawienia ich wartości domyślnych lub dopuszczalnych zakresów lub w celu udostępnienia ich do edycji dla wszystkich elementów klasy.

    Na przykład: aby umożliwić zmianę warstwy, typu linii lub koloru dla wszystkich elementów klasy Roads jako grupy, wybierz te właściwości. Jeśli to konieczne, można ustawić wartości domyślne. Na przykład: można przypisać wszystkie elementy klasy Roads do warstwy Roads.

    Można dołączyć następujące typy właściwości:

    • Właściwości ogólne, takie jak kolor lub warstwa
    • Właściwości różne, takie jak generacja typu linii
    • Właściwości obiektu, takie jak nazwa ulicy (ST_NAME).

    Określ właściwości dla obiektów w tej klasie obiektów, a także wartości domyślne dla tych właściwości.

    W poniższej tabeli przedstawiono sugerowany zestaw właściwości ogólnych i wartości dla klasy Roads.

    Właściwość Wartość
    Właściwości ogólne  
    Kolor Czerwony
    Warstwa Schema_Roads
    Rodzaj linii Brak wartości
    Szerokość linii 0.13
  8. Określ pola danych obiektu (OD) i ich wartości.

    Dla pól danych obiektu usuń wartości specyficzne dla wybranego obiektu modelowego. Na przykład: dołącz właściwości NAME i ST_NAME w celu upewnienia się, że wszystkie nowe utworzone drogi zawierają te właściwości. Usuń wartości dla tych właściwości, ponieważ nazwa każdej nowej drogi będzie się różnić od nazwy obiektu modelowego.

    Na przykład: kliknij właściwość ST_NAME i odszukaj jej wartości. Domyślną wartością nazwy ulicy jest nazwa obiektu modelowego. Ta wartość jest niepoprawna dla niemal każdej nowo utworzonej drogi. Zaznacz tę wartość i usuń ją.

    Obiekty przypisane do tej klasy posiadają właściwość ST_NAME, ale wartość będzie nazwą dla tej drogi (zapisana we właściwościach obiektu). Jeśli żadna wartość nie istnieje, właściwość będzie pusta. W poniższej tabeli przedstawiono sugerowany zestaw właściwości OD:Schema_Roads i wartości dla klasy Roads.

    Właściwość Wartość
    Autogenerated_SDF_ID Brak wartości
    LENGTH Brak wartości
    NAME Brak wartości
    PREFIX Brak wartości
    SEG_ID Brak wartości
    ST_NAME Brak wartości
    ST_TYPE Brak wartości
    SUFFIX Brak wartości
    TYP Brak wartości
  9. Aby dodać nową właściwość, która będzie określała liczbę pasów jezdni, wykonaj następujące czynności:
    • Kliknij opcję Nowa właściwość.

      Zdefiniuj właściwości niestandardowe dla klasy obiektów.

    • W obszarze Nazwa właściwości, wpisz NumberLanes i kliknij OK.

      Właściwość NumberLanes jest zaznaczona i wybrana.

  10. Określ, że wartość NumberLanes jest liczbą całkowitą o wartości od 1 do 6, a wartość 2 jest domyślna:
    • Dla opcji Typ wybierz Całkowite.
    • Dla opcji Zakres wpisz [1,6].
    • W polu Domyślne wpisz 2.
  11. Kliknij kartę Ustawienia klasy. Dla opcji Metoda tworzenia wybierz Wielokąt.

    W wypadku nowych obiektów tworzonych w tej klasie należy wybrać opcję Metoda tworzenia.

    Jeśli ta klasa jest używana do tworzenia drogi, użyj polilinii w celu jej utworzenia. Istniejące obiekty dodawane do tej klasy nie muszą być poliliniami.

  12. Kliknij opcję Zapisz definicję.
  13. Pozostaw plik Classify_Roads.dwg otwarty.

Aby kontynuować, przejdź do sekcji Ćwiczenie 3: Dodawanie klas obiektów do pliku definicji.