Za pomocą pliku szablonu wyodrębniania atrybutów można wyodrębnić informacje zawarte w atrybutach z rysunku i zapisać w oddzielnym pliku tekstowym, umożliwiając w ten sposób analizę w programie bazy danych.
Informacje zawarte w atrybutach można wyodrębnić z rysunku i zapisać w oddzielnym pliku tekstowym, umożliwiając w ten sposób analizę w programie bazy danych. Ta właściwość jest użyteczna przy tworzeniu list części na podstawie danych wprowadzonych do bazy danych rysunku. Wyodrębnianie informacji o atrybutach nie zmienia istniejącego rysunku.
Aby utworzyć listę części
Aby wyodrębnić informacje o atrybutach, najpierw za pomocą dowolnego edytora tekstu utwórz plik szablonu wyodrębniania atrybutów, następnie wygeneruj plik wyodrębniania atrybutów, a na zakończenie otwórz ten plik w aplikacji bazodanowej. Jeżeli zamierzasz wyodrębniać informacje o atrybutach do pliku DXF, to nie jest konieczne tworzenie pliku szablonu pobierania atrybutów.
Należy upewnić się, że plik wyodrębniania atrybutów nie ma takiej samej nazwy, jak plik szablonu.
Przed wyodrębnieniem danych atrybutów należy utworzyć plik ASCII szablonu, aby zdefiniować strukturę pliku zawierającego wyodrębnione informacje o atrybutach. Plik szablonu zawiera informacje o nazwie oznaczenia, typie danych, długości pola i liczbie miejsc dziesiętnych danych, które mają zostać wyodrębnione.
Każde pole w pliku wzorcowym odczytuje informacje z odniesień do bloków na rysunku. Każda linia w pliku szablonu (obejmująca nazwę pola, jego szerokość i dokładność zapisu liczb) określa jedno pole, które będzie zapisane w pliku wyodrębniania atrybutów. Każdy rekord w pliku wyodrębniania atrybutów obejmuje wszystkie zdefiniowane pola w kolejności podawanej w pliku szablonu.
Następujący plik szablonu zawiera 15 możliwych pól. N oznacza liczbę, C oznacza znak, www jest trzycyfrową liczbą oznaczającą całkowitą długość pola, a ddd jest trzycyfrową liczbą, oznaczającą liczbę miejsc dziesiętnych, jakie mają być wyświetlane.
BL:NAME Cwww000 (nazwa bloku)
BL:LEVEL Nwww000 (poziom zagnieżdżenia bloku)
BL:X Nwwwddd(X współrzędna X punktu wstawienia bloku)
BL:Y Nwwwddd(współrzędna Y punktu wstawienia bloku)
BL:Z Nwwwddd(współrzędna Z punktu wstawienia bloku)
BL:NUMBER Nwww000 (licznik bloku, jak WWSTAW)
BL:HANDLE Cwww000 (uchwyt bloku, jak WWSTAW)
BL:LAYER Cwww000 (nazwa warstwy dla wstawiania bloku)
BL:ORIENT Nwwwddd(kąt obrotu bloku)
BL:XSCALE Nwwwddd(współczynnik skali dla osi X)
BL:YSCALE Nwwwddd(współczynnik skali dla osi Y)
BL:ZSCALE Nwwwddd(współczynnik skali dla osi Z)
BL:XEXTRUDE Nwwwddd(komponent X kierunku wyciągania prostego bloku)
BL:YEXTRUDE Nwwwddd(komponent Y kierunku wyciągania prostego bloku)
BL:ZEXTRUDE Nwwwddd(komponent Z kierunku wyciągania prostego bloku)
numeric Nwwwddd (oznaczenie atrybutu liczbowego)
character Cwww000 (oznaczenie atrybutu tekstowego)
Plik szablonu może zawierać dowolną liczbę pól BL:xxxxxxx, ale musi zawierać co najmniej jedno pole oznaczenia atrybutu. Pola oznaczeń atrybutów określają jakie atrybuty, a wraz z nimi jakie bloki, zostaną włączone do pliku wyodrębniania atrybutów. Jeśli blok zawiera tylko niektóre z określonych atrybutów, brakujące wartości zostaną puste lub wypełnią je zera, w zależności od typu pola – tekstowego lub liczbowego.
W pliku szablonu atrybutu nie powinno się umieszczać komentarzy.
Ilustracja i tabela przedstawiają przykład typu danych, które można wyodrębnić: nazwa bloku, producent, numer modelu i koszt.
Pole |
Znak (C) lub Dane numeryczne (N) |
Maksymalna długość pola |
Miejsca dziesiętne |
---|---|---|---|
Nazwa bloku |
C |
040 |
000 |
Producent |
C |
006 |
000 |
Model |
C |
015 |
000 |
Koszt |
N |
006 |
002 |
Można utworzyć dowolną liczbę plików szablonu w zależności od sposobu użytkowania danych. Każda linia pliku szablonu opisuje jedno pole pliku wyodrębniania atrybutów.
Postępuj zgodnie z poniższymi dodatkowymi wskazówkami:
Poniższy przykład przedstawia plik szablonu.
BL:NAME C008000 (nazwa bloku, 8 znaków)
BL:X N007001 (współrzędna X, format nnnnnn.d)
BL:Y N007001 (współrzędna Y, format nnnnnn.d)
SUPPLIER C016000 (nazwa producenta, 16 znaków)
MODEL C009000 (numer modelu, 9 znaków)
PRICE N009002 (cena jednostkowa, format nnnnnnnn.dd)
Po utworzeniu pliku szablonu można wyodrębnić informacje o atrybutach za pomocą jednego z następujących formatów:
Format CDF tworzy plik zawierający jeden rekord dla każdego odniesienia do bloku znajdującego się na rysunku. Pola danych w każdym rekordzie są oddzielone od siebie przecinkami, a pola tekstowe są ujęte w cudzysłowie. Format ten może być czytany bezpośrednio przez niektóre programy baz danych.
Format SDF także tworzy pliki zawierające po jednym rekordzie dla każdego odniesienia do bloku na rysunku. Pola każdego rekordu mają stałą długość i nie stosuje się żadnych separatorów pól ani ograniczników ciągów tekstowych. Polecenie Copy programu dBASE III. SDF tworzy także pliki w formacie SDI. Operacja Dołącz z... SDF umożliwia wczytanie pliku w formacie dBASE IV, który może być z łatwością przetwarzany w innych programach napisanych w języku FORTRAN.
DXF tworzy podzestaw formatu DXF zawierający tylko odniesienia do bloków, atrybuty i obiekty końca sekwencji. Opcja ta nie wymaga tworzenia pliku szablonu do wyodrębniania atrybutów. Rozszerzenie .dxx odróżnia pliki wyodrębniania atrybutów w formacie DXF od innych plików używających tego formatu.
W pliku wyodrębniania atrybutów zapisane są wartości i inne informacje dla oznaczeń określonych w pliku szablonu.
Jeżeli przy użyciu przykładowego szablonu określono format CDF, to plik wynikowy może wyglądać następująco:
'BIURKO', 120.0, 49.5, 'ACME INDUST.', '51-793W', 379.95
'KRZESŁO', 122.0, 47.0, 'ACME INDUST.', '34-902A', 199.95
'BIURKO', -77.2, 40.0, 'TOP DRAWER INC.', 'X-52-44',249.95
Domyślnie pola tekstowe są ujęte w cudzysłów pojedynczy (apostrofy). Domyślnym znakiem oddzielającym pola jest przecinek. Te standardowe wartości można zmienić, używając następujących dwóch rekordów szablonu:
C:QUOTE c (znak oddzielający pola tekstowe)
C:DELIM c (znak oddzielający pola)
Pierwszy znak następujący po ciągu C:QUOTE lub C:DELIM nie będący spacją zostaje określony jako odpowiedni znak separatora. Przykładowo, jeśli ciągi znaków mają być ujmowane w cudzysłów, należy w pliku szablonu wyodrębniania atrybutów umieścić następujący wpis:
C:QUOTE "
Separator pól tekstowych nie może być znakiem, który może wystąpić w polu tekstowym. Podobnie separator pól nie może być znakiem, który może wystąpić w polu liczbowym.
Jeżeli przy użyciu przykładowego szablonu wybrano format SDF, plik wynikowy wyglądać może następująco.
(NAZWA) |
(X) |
(Y) |
(DOSTAWCA) |
(MOBSZAR) |
(CENA) |
---|---|---|---|---|---|
BIURKO |
120.0 |
49.5 |
ACME INDUST. |
51-793W |
379.95 |
KRZESŁO |
122.0 |
47.0 |
ACME INDUST. |
34-902A |
199.95 |
BIURKO |
-77.2 |
40.0 |
TOP DRAWER INC. |
X-52-44 |
249.95 |
Kolejność pól odpowiada kolejności pól w plikach szablonów. Pliki te mogą być używane w innych programach (np. arkuszach kalkulacyjnych) przetwarzających zawarte w nich dane według potrzeb. W dokumentacji programu arkusza kalkulacyjnego można znaleźć informacje na temat sposobu pobierania danych z innych aplikacji. Jeżeli plik zostanie otwarty za pomocą edytora tekstu lub procesora tekstu, zawarte w nim dane można wklejać jako tekst do rysunku.
Wiersz BL:LEVEL w pliku szablonu określa poziom zagnieżdżenia odniesienia do bloku. Blok wstawiony do rysunku ma poziom zagnieżdżenia 1. Odniesienie do bloku będące częścią innego bloku ma poziom zagnieżdżenia 2 itd.
Dla zagnieżdżonego odniesienia do bloku wartości współrzędnych X,Y i Z, współczynniki skali, kierunek wyciągnięcia oraz kąt obrotu dotyczą rzeczywistego położenia, orientacji i obrotu zagnieżdżonego bloku w globalnym układzie współrzędnych.
W pewnych złożonych przypadkach zagnieżdżone odniesienia do bloków nie mogą być odpowiednio odwzorowane za pomocą dwóch współczynników skali lub kąta obrotu, np. odniesień obróconych w przestrzeni 3D. W takim przypadku współczynnik skali i kąt obrotu w rekordzie wyodrębnionym z pliku będą miały wartość zero.
Jeśli pole nie jest dostatecznie szerokie, aby pomieścić dane, zostaną one przycięte i pojawi się następujący komunikat:
** Przepełnienie pola w rekordzie <numer rekordu>
Błąd ten może wystąpić na przykład, jeśli pole BL:NAME ma szerokość 8 znaków, a nazwa jednego z bloków na rysunku zawiera 10 znaków.