9. Środki wspomagające rysowanie

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.

9.1. Krok kursora

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 :

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.

9.2. Gęstość siatki

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 :

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/.

9.3. Punkty siatki

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.

9.4. Prostopadłość

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.).


9.4.1. Prostopadłość w lokalnym układzie współrzędnych

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.).

9.5. Lokalizacja punktu względem obiektu

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.

9.5.1. Operacje podstawowe

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".

9.5.2. Tryby lokalizacji punktów względem obiektów

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:

9.5.3. Stały tryb lokalizacji punktów

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.

9.5.4. Lokalizacja punktów z pominięciem aktualnego stałego trybu

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.

9.5.5. Złożone funkcje lokalizacji punktu

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 :

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.

9.6. Miara

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:


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:

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.