W rozdziale niniejszym omówione są procedury programu AlfaCAD zwiększające szybkość wykonywania rysunków przy zachowaniu możliwie najwyższej dokładności ich wykonania.
Punkty wprowadzane przy użyciu urządzenia wskazującego mogą być umieszczone na rysunku w miejscach odpowiadających położeniu wyimaginowanej siatki prostokątnej zlokalizowanej w globalnym lub lokalnym układzie współrzędnych. Rozdzielczość jest tutaj określana jako odległość pomiędzy węzłami siatki.
Standardowo kursor porusza się po węzłach siatki o minimalnej rozdzielczości deklarowanej w funkcji /Parametry/ menu głównego edytora rysunków. W zależności od aktualnych potrzeb ruch kursora można ograniczyć do rozdzielczości zadeklarowanej w opcji /Krok kursora/ menu pomocniczego /Parametry/ . Dostępne są 8 standardowych rozdzielczości :
/[A] 2.5 */
/[B] 1.25 */
/[C] 0.25 */
/[D] 0.5/
/[E] 1/
/[F] 5/
/[G] 10/
/[H] X/
oraz dowolna rozdzielczość definiowana przez użytkownika ([x]) i rozdzielczość minimalna odpowiadająca dokładności deklarowanej w funkcji /Parametry/ menu głównego. Rozdzielczość wyrażona jest jednostkach zadeklarowanych w opcji /Parametry/ menu głównego.
Skok kursora może być dowolnie zmieniany w czasie tworzenia rysunku. Parametr ten zapisywany jest w bazie danych rysunku i przy ponownej jego edycji skok kursora przyjmuje wartość zdefiniowaną przed ostatnim zapisem rysunku do zbioru dyskowego. Wartość inicjacyjna skoku kursora dla nowego rysunku przyjmuje wartość zdefiniowaną w rysunku prototypowym, a jeżeli rysunek taki nie istnieje - wartość domyślną zdefiniowaną jako skok minimalny.
Program AlfaCAD pozwala na wyświetlanie na ekranie pomocniczej siatki punktów o gęstości zadeklarowanej przez użytkownika w zależności od aktualnych potrzeb. Siatka ta (tzw. siatka lokalizacyjna) pomaga w ocenie wielkości rysowanych obiektów jak ich wzajemnych relacji.
Siatka pomocnicza zorientowana jest w globalnym lub lokalnym układzie współrzędnych. Gęstość siatki może być wielokrotnie zmieniana podczas edycji rysunku, może być ona włączana bądź wyłączana.
Siatka lokalizacyjna nie jest częścią rysunku, nie jest więc drukowana na drukarce ani kreślona na ploterze. Gęstość siatki stanowi jednak parametr zapisywany w bazie danych rysunku i przy ponownej jego edycji gęstość ta przyjmuje wartość zdefiniowaną przed ostatnim zapisem rysunku do zbioru dyskowego.
Wartość inicjacyjna gęstości
siatki dla nowego rysunku przyjmuje wartość zdefiniowaną w rysunku
prototypowym, a jeżeli rysunek taki nie istnieje - wartość domyślną
10 wyrażoną w zadeklarowanych jednostkach rysunku. W zależności od
aktualnych potrzeb gęstość siatki można deklarować w opcji /Gęstość
siatki/ menu
pomocniczego /Parametry/.
Dostępne są 5 standardowe gęstości :
/[A] 2.5 */
/[B] 1/
/[C] 5 /
/[D] 10/
/[E] 100/
oraz dowolna gęstość definiowana przez użytkownika ([X]). Gęstość siatki wyrażona jest w jednostkach zadeklarowanych w opcji /Parametry/ menu głównego.
Gęstość siatki nie musi odpowiadać wartości aktualnego kroku kursora choć zalecane jest deklarowanie jej jako wielokrotności kroku kursora co znakomicie ułatwia wykonywanie rysunków. Zadeklarowanie gęstości siatki nie jest równoznaczne z wyświetlaniem siatki na ekranie. W celu wizualizacji siatki konieczne jest ustawienie trybu wyświetlania punktów siatki realizowanego w opcji /Punkty siatki/ menu pomocniczego /Parametry/.
Siatka lokalizacyjna o zadeklarowanej gęstości może być wyświetlana na ekranie. Ustawienie trybu wyświetlania siatki realizowane jest w opcji /Punkty siatki/ menu pomocniczego /Parametry/.
Tryb wyświetlania punktów siatki stanowi parametr rysunku i zapamiętywany jest w jego bazie danych. Dla nowego rysunku tryb wyświetlania siatki przyjmowany jest na podstawie parametrów rysunku prototypowego. Jeżeli rysunek prototypowy nie istnieje, punkty siatki nie są wyświetlane.
Jeżeli skala ekranu nie pozwala na wyświetlenie punktów siatki w sposób czytelny, siatka nie jest wyświetlana a program dodatkowo wyświetla komunikat o przyczynie zignorowania siatki.
Wprowadzając punkt początkowy odcinka linii (<Linia od punktu>) a następnie punkt końcowy (<Linia do punktu>), AlfaCAD wyświetla dynamicznie linię pomocniczą łączącą punkt początkowy ze zmieniającym swe położenie (wraz z kursorem) punktem końcowym. Zadaniem linii pomocniczej jest ułatwienie wizualnej oceny przesunięcia wynikającego z aktualnego położenia urządzenia wskaźnikowego. Jeżeli zachodzi potrzeba przesuwania punktu końcowego względem punktu początkowego jedynie wzdłuż linii ortogonalnych zgodnych z globalnym lub lokalnym układem współrzędnych, to można skorzystać z trybu prostopadłości ograniczającego ruch linii pomocniczej.
Tryb prostopadłości deklaruje się
w opcji /Prostopadłość/
menu pomocniczego /Parametry/.
Tryb prostopadłości jest zmienną zapisywaną w bazie danych
rysunku i przy ponownej jego edycji - przywracany. W przypadku edycji
nowego rysunku, tryb prostopadłości przyjmowany jest na podstawie
wartości zapisanej w rysunku prototypowym. Jeżeli rysunek prototypowy
nie istnieje, w przypadku edycji nowego rysunku tryb prostopadłości
nie jest aktywny.
Rysowanie odcinka w trybie prostopadłości rozpoczyna się jak zwykle od wskazania punktu początkowego (<Linia od punktu>). Przesuwaniu kursora w kierunku punktu końcowego towarzyszy rysowanie linii pomocniczej poziomej lub pionowej, zależnie od początkowego (inicjacyjnego) wektora przesunięcia. Zainicjowany kierunek rysowania linii pomocniczej jest zachowywany aż do momentu ustalenia punktu końcowego.
W trybie prostopadłości za punkt końcowy rozumie się punkt wyznaczony przez rzut rzeczywistego położenia kursora we współrzędnych globalnych na oś wyznaczoną przez linię pomocniczą. W celu zmiany kierunku rysowania linii pomocniczej należy przesunąć kursor w "otoczenie" punktu początkowego a następnie ponownie zainicjować prawidłowy wektor początkowy przesunięcia. Za "otoczenie" punktu początkowego należy rozumieć odległość od punktu wyznaczoną przez wyrażenie:
delta X + delta Y <= 20 pxl
gdzie pxl oznacza minimalną rozdzielczość monitora (piksel).
Jeżeli wartości przesunięcia
punktu końcowego względem początkowego podawane są w postaci
liczbowej (lub w postaci wyrażenia arytmetycznego) wystarczające jest
podanie jednej wartości przesunięcia. Program zinterpretuje tą
wartość jako przesunięcie względne na kierunku (i zwrocie)
wyznaczonym przez początkowy wektor przesunięcia.
Jeżeli tryb
prostopadłości nie jest aktywny, konieczne jest podanie obu wartości
delta X i delta Y.
Podobne zasady dotyczące wskazywania punktu
końcowego w zależności od aktualnego trybu prostopadłości dotyczą
tych funkcji edycyjnych, w których procedura wymaga zadeklarowania
punktu początkowego i końcowego przesunięcia (np. przesuwanie,
ciągnięcie, kopiowanie itp.).
Obrót lokalnego układu współrzędnych względem globalnego układu współrzędnych powoduje, że rysowane odcinki linii w trybie prostopadłości obrócone są o ten sam kąt względem globalnego układu współrzędnych. Ta sama zasada dotyczy wektorów przemieszczenia w niektórych operacjach edycyjnych (przesuwanie, ciągnięcie, kopiowanie itp.).
W programie AlfaCAD istnieje możliwość lokalizacji położenia wprowadzanych punktów względem istniejących obiektów (bądź ich fragmentów) spełniających określone warunki geometryczne. Metoda ta uzupełnia podstawową metodę skokowego umieszczania punktów w węzłach siatki lokalizacyjnej. Prostym przykładem wykorzystania tej metody jest zlokalizowanie początkowego punktu odcinka na w punkcie końcowym innego, istniejącego odcinka, czy też w jego punkcie środkowym. Pozwala to na wykonywanie bardzo złożonych konstrukcji geometrycznych przy zachowaniu wysokiej precyzji rysunku.
W programie istnieje możliwość
korzystania jednocześnie z szeregu różnych trybów lokalizacji punktu
względem obiektu. Procedura lokalizacji może być uruchamiana wtedy,
gdy program oczekuje wskazania na rysunku właściwego punktu. Jeżeli
program jest aktualnie w trybie lokalizacji punktu względem obiektu,
do normalnego kursora w postaci krzyża dodawana jest kwadratowa ramka
zwana celownikiem.
Ramka celownika wyznacza obszar, w którym program poszukuje obiektów
mogących posłużyć do zlokalizowania położenia wprowadzanego punktu.
Rozmiary celownika można zmieniać przy pomocy klawiszy {PgUp}
i {PgDn}.
Jeden z trybów lokalizacji punktu względem obiektu może być
włączony w celu wprowadzenia pojedynczego punktu lub też może być
stale aktywny w celu wprowadzenia sekwencji punktów. Jeżeli dany tryb
lokalizacji jest stale aktywny, istnieje możliwość użycia dla
pojedynczego punktu innego trybu lokalizacji, a po wprowadzeniu tego
punktu program powraca do poprzedniego trybu.
Aby wybrać punkt przy użyciu mechanizmu lokalizacji względem obiektu należy przemieścić kursor w taki sposób, aby żądany obiekt (lub grupa obiektów) znalazł się wewnątrz celownika lub go przeciął a następnie zaakceptować położenie kursora przy pomocy klawisza {LMB} lub {Enter}. Program poszukuje w obszarze celownika obiektu (lub obiektów) którego jeden z punktów odpowiada wymogom aktualnego trybu lokalizacji.
Jeżeli w oknie celownika znajdzie się więcej niż jeden punkt spełniający taki warunek, wybierany jest punkt "młodszy". Za punkt "młodszy" należy rozumieć punkt (np. koniec) odcinka linii narysowanego później, bowiem przeszukiwanie obiektów w każdym przypadku rozpoczyna się od ostatnio narysowanych obiektów a kończy się na pierwszym wprowadzonym elemencie rysunku.
Jeżeli zdarzy się, że nie zostanie znaleziony żaden punkt spełniający warunek aktualnego trybu lokalizacji, działanie programu uzależnione jest od aktualnego trybu. Jeżeli żaden z trybów lokalizacji nie jest stale aktywny a jedynie dotyczy on pojedynczego punktu, nieudana próba lokalizacji punktu traktowana jest jako błąd a program oczekuje podjęcia kolejnej próby bądź naciśnięcia klawisza {RMB} lub {Esc}, co zwalnia tryb lokalizacji a program oczekuje na wskazanie punktu według zasad ogólnych.
Jeżeli jeden z trybów lokalizacji jest stale aktywny, fakt nieznalezienia punktu spełniającego warunek danego trybu nie jest traktowany jako błąd a wskazany przy pomocy kursora punkt akceptowany jest przez program.
Jeżeli poza stale aktywnym trybem lokalizacji uaktywniony jest dla pojedynczego punktu inny tryb, nieudana próba lokalizacji tego ostatniego traktowana jest jako błąd a program oczekuje podjęcia kolejnej próby lokalizacji punktu względem obiektu bądź naciśnięcia klawisza {RMB} lub {Esc} co zwalnia ostatni tryb lokalizacji i ponownie uruchamia tryb uaktywniony na stałe.
Po rezygnacji przy pomocy klawisza {RMB} lub {Esc} z lokalizacji punktu w danym trybie, możliwy jest wybór innego trybu lokalizacji i ponowienie próby wskazania punktu spełniającego warunki danego trybu.
Tryb lokalizacji punktu względem obiektu dotyczy wyłącznie obiektów widocznych w polu roboczym ekranie, leżących na warstwach widocznych oraz z włączonym atrybutem "Punkt".
Wprowadzane punkty mogą być lokalizowane względem obiektów według kilku różnorodnych kryteriów. W trybie lokalizacji program rozróżnia odcinki linii, polilinie, okręgi, łuki, wielokąty, elipsy i łuki eliptyczne, punkty, koła i powierzchnie eliptyczne, obszary, ślady oraz linie szkicowe.
Każda krawędź obszaru trójkątnego i czworokątnego oraz śladu traktowana jest jako oddzielny odcinek. Segmenty polilinii traktowane są jako oddzielne odcinki linii lub łuki. Koło traktowane są jak okrąg. Każdy bok wielokąta traktowany jest jako odcinek.
Procedura lokalizacji dostępna jest z poziomu menu pomocniczego /Punkt/. Menu zawiera następujące opcje lokalizacji:
/Tryb powtarzania/ Wybór stałego trybu lokalizacji spośród opcji [B] ... [M]
/Koniec/ Wybierany jest punkt końcowy odcinka albo łuku znajdujący się w oknie celownika
/Bliższy koniec/ Wybierany jest najbliższy punkt końcowy odcinka albo łuku wskazanego oknem celownika
/śrOdek/ Wybierany jest punkt będący środkiem symetrii odcinka lub łuku wskazanego oknem celownika
/Przecięcie/ Wybierany jest punkt przecięcia dwóch odcinków, odcinka z okręgiem lub łukiem, dwóch okręgów lub łuków lub też okręgu z łukiem. Punkt przecięcia musi znajdować się w oknie celownika.
/Centrum/ Wybierany jest środek okręgu, łuku lub wielokąta wskazanego oknem celownika.
/pRostopadle/ Wybierany jest taki punkt leżący na wskazanym oknem celownika odcinku, łuku lub okręgu, że odcinek łączący go z ostatnio wskazanym punktem jest do obiektu prostopadły. Jeżeli wskazanym obiektem jest odcinek linii, wybrany punkt może leżeć także poza obiektem lecz na osi wyznaczonej przez wskazany odcinek. Jeżeli na okręgu lub łuku istnieją dwa punkty spełniające powyższy warunek, wybierany jest punkt bliższy środka okna celownika
/sTycznie / Wybierany jest taki punkt wskazanego okręgu lub łuku, że odcinek łączący go z ostatnim wprowadzonym punktem jest styczny do wskazanego obiektu. Jeżeli na obiekcie istnieją dwa punkty spełniające powyższy warunek, wybierany jest punkt bliższy środka okna celownika.
/Najbliższy/ Wybierany jest pojedynczy punkt albo punkt leżący na odcinku, łuku lub okręgu, położony najbliżej środka okna celownika.
/pUnkt/ wybierany jest punkt o współrzędnych odpowiadających współrzędnym określającym położenie wskazanego obiektu typu "Punkt"
/skok do X, y/ wybierany jest punkt o zadanych współrzędnych bezwzględnych <X, Y> w układzie kartezjańskim
/skok o dx, dY/ wybierany jest punkt o współrzędnych przesuniętych o zadany wektor <dx, dy> względem aktualnego położenia kursora (lub innego punktu)
/skok o L, kąt/ wybierany jest punkt o współrzędnych przesuniętych o wektor <L, kąt> wyrażony w układzie biegunowym względem aktualnego położenia kursora (lub innego punktu) Punkt może być lokalizowany również względem obiektów będących elementami bloku niezależnie od stopnia jego złożoności.
Wybór opcji /Tryb powtarzania/ pozwala na zadeklarowanie stałego trybu lokalizacji każdego wprowadzanego punktu, w jednej z wyżej wymienionych opcji.
Jeżeli aktywny jest stały tryb lokalizacji, wprowadzenie każdego punktu poprzedza procedura lokalizacji według zadeklarowanego kryterium a w przypadku znalezienia punktu spełniających dane wymagania, punkt ten zostaje wybrany przez program. Jeżeli wskazany punkt nie spełnia zadanych kryteriów, procedura lokalizacji zostaje zaniechana a punkt zostaje wstawiony w miejscu wskazanym przez kursor.
Dostępne tryby lokalizacji położenia punktu względem obiektów można stosować dla pojedynczych punktów z pominięciem ewentualnego stałego trybu lokalizacji zadeklarowanego uprzednio. W tym celu należy przed wskazaniem punktu wybrać żądany tryb a następnie wskazać przy pomocy celownika obiekt względem którego ma nastąpić lokalizacja.
Wybór trybu lokalizacji dla pojedynczego punktu, w przeciwieństwie do stałego trybu lokalizacji, wymaga prawidłowego wskazania obiektu względem którego ma być zlokalizowany punkt. Nieudana próba lokalizacji pojedynczego punktu musi być ponowiona bądź też zaniechana poprzez naciśnięcie klawisza {RMB} lub {Esc} po czym program powraca do poprzedniego trybu stałej lokalizacji punktów.
Procedura ta pozwala na przykład na "obwodzenie" konturem (linią grubą) obszaru w nawiązaniu do punktów przecięć uprzednio skonstruowanej siatki pomocniczej linii wyznaczającej np. krawędzie murów, osi modularnych itp.
Niektóre funkcje lokalizacji punktu względem obiektu mogą być składane tworząc procedury dwupoziomowe. I tak aby np. rozpocząć rysowanie linii od punktu oddalonego o żądaną odległość od danego punktu (np. przecięcia innych linii) odmierzoną pod żądanym kątem, należy najpierw wybrać opcję /Przecięcie/ menu pomocniczego /Punkt/ po czym program wyświetli komunikat <Wskaż> oczekując wskazania celownikiem punktu przecięcia odcinków, łuków itp. Jeżeli zamiast wskazania punktu ponownie wybierze z menu pomocniczego /Punkt/ jedną z opcji :
/skok o dX, dy/
/skok o L, kąt/
i zada się liczbowo wartości <dX; dY> lub <L; Kąt>, program zaakceptuje wartości przesunięcia lecz nie odmierzy ich od aktualnego położenia kursora ale kontynuować będzie pierwotnie wywołaną funkcję lokalizacji /Przecięcie/ żądając wskazania punktu przecięcia wyświetlając ponownie komunikat <Wskaż>. Po wskazaniu celownikiem punktu przecięcia, linia zaczepiona zostanie w punkcie przesuniętym o dX; dY (w układzie kartezjańskim) lub L, Kąt (w układzie biegunowym) od wskazanego punktu przecięcia.
Funkcja pomocnicza /Miara/ jest pomocniczą funkcją raportującą przy pomocy której można odczytać współrzędne wskazanego (lub zlokalizowanego) punktu (np. centrum okręgu, końca lub punktu przecięcia linii), odległość pomiędzy wskazanymi punktami, kąt pomiędzy trzema punktami bądź listę parametrów wskazanego obiektu.
Wynik działania funkcji wyświetlany jest we właściwym dla danej opcji formacie:
- dla punktu: X=..... Y=.....
- dla odległości: L=..... DX=..... DY=..... Kąt=.....
- dla kąta: Kąt=.....
- dla listy parametrów:
TYP OBIEKTU
warstwa
kolor
typ linii
grubość linii
punkt początkowy, końcowy, kąty, promień i inne odpowiednie dla typu obiektu
długość, obwód, pole powierzchni odpowiednio dla typu obiektu
nazwa czcionki i pozostałe parametry dla tekstów
ewentualna nazwa bloku do którego należy obiekt
Dodatkowa opcja /Sumowanie/
pozwala na dodawanie lub odejmowanie
kolejnych wyników wskazywanych odległości przy czym format raportu
jest następujący:
SumL=..... L=..... DX=..... DY=..... Kąt=.....
Opcja sumowania pozwala np. na szybkie przygotowanie w dokumentacji przedmiaru robót budowlanych, instalacyjnych itp. poprzez zliczanie sumy długości murów, orurowania, przewodów itp.
Opcja /Miara/ jest stałą pozycją menu pomocniczego, dostępną we wszelkich procedurach rysowania obiektów, funkcjach edycyjnych, blokowych itd. Menu pomocnicze /Miara/ oferuje następujące opcje:
/Kalkulator/
/Punkt/
/Odległość/
/Kąt/
/Sumowanie/
/ Lista parametrów/
W zależności od wybranej opcji /Punkt/,/Odległość/,/Kąt/, program oczekuje na wskazanie (zlokalizowanie) punktu, wskazanie (lub zlokalizowanie) dwóch punktów definiujących odległość lub trzech punktów definiujących kąt.
Opcję /Sumowanie/ można wybrać przy aktywnym trybie wskazywania odległości poprzez wybór właściwej opcji lub poprzez naciśnięcie klawisza funkcyjnego F9 (/Dodawaj/Odejmij/). Przerwanie sumowania na rzecz raportowania odległości uzyskuje się po naciśnięciu klawisza F10 (/Przerwij sumowanie/).
Wszystkie wyniki funkcji /Miara/ dopisywane są do notatnika w postaci listy tekstowej której poszczególne wiersze zawierają kolejne wyniki funkcji we właściwym dla danej opcji formacie. Również wartość wybranego parametru obiektu wskazanego w funkcji "Lista parametrów" zapisywana jest w notatniku.
Raport ten jest wspólny dla innych wartości definiowanych w linii edycyjnej parametrów w danej sesji programu. Wartości umieszczone w notatniku mogą być następnie wykorzystane przy liczbowym wprowadzaniu wartości w innych funkcjach.
Opcja /Kalkulator/ inicjuje funkcję kalkulatora inżynierskiego. W wyświetlonej linii edycyjnej użytkownik może podać wyrażenie matematyczne którego wynik zostanie obliczony. Wartość wynikowa wyświetlana zostaje w tym samym wierszu edycyjnym oraz zapisywana jest w notatniku a program oczekuje na kolejne wyrażenie. Sposób wprowadzania wyrażeń łącznie z możliwością definiowania własnych stałych i zmiennych jest identyczny jak przy wprowadzaniu danych liczbowych w postaci wyrażeń w innych procedurach programu (patrz rozdział 2.4.3).
Podobnie też funkcja kalkulatora pozwala - przy wprowadzaniu wyrażeń w wierszu edycyjnym - na korzystanie z notatnika (przez naciśnięcie klawisza {PgDn} i wybór dowolnego wiersza z menu). Wybór jednego z wierszy menu powoduje jego przepisanie w pole edycyjne.
Jeżeli uprzednio w polu edycyjnym znajdował się tekst podświetlony (nie będący w trybie edycji), wybrany z notatnika tekst zostanie wpisany na jego miejsce.
Jeżeli w polu edycyjnym znajdował się tekst w trybie edycji (bez podświetlenia) wybrany tekst zostanie do niego dopisany.
Procedura taka umożliwia dowolne składanie łańcuchów w jeden tekst (wyrażenie) z możliwością dowolnej jego edycji. Wszystkie podawane w linii edycyjnej wyrażenia umieszczane są w notatniku. Wynik obliczenia wartości wyrażenia jest jedynie wyświetlany w linii edycyjnej w postaci przygotowanej do dalszej ewentualnej edycji w celu kontynuowania obliczeń bazujących na poprzednio obliczonej wartości. Aby wartość ta została zapisana do notatnika, należy po prostu nacisnąć {LMB} lub {Enter}. Pozwala to np. na skorzystanie z zapamiętanej wartości w procedurze rysowania tekstu w celu wprowadzenia wyniku dowolnych obliczeń na rysunek.