Współrzędne, OSNAPZ, UCS, ELEVATION i powiązane zagadnienia
We wszystkich systemach CAD (FLUID DESK BIM, AutoCAD i BricsCAD) istnieją ważne zagadnienia, o których użytkownicy powinni pamiętać podczas wprowadzania współrzędnych, wskazywania punktów lub modyfikowania obiektów za pomocą uchwytów (grips) albo polecenia STRETCH. Chociaż wszystkie moduły oprogramowania FLUID DESK umożliwiają pracę w środowisku 2D, w rzeczywistości operują na pełnym modelu 3D, w którym wysokość (a więc współrzędna Z) ma bardzo duże znaczenie.
Przykładowo, jeśli podczas przesuwania obiektów za pomocą polecenia MOVE wskażesz punkty o różnych wartościach współrzędnej Z, elementy zostaną również przesunięte w tym kierunku — niezależnie od tego, czy było to zamierzone. Rozwiązaniem tego problemu jest ustawienie zmiennej systemowej OSNAPZ na wartość 1. Spowoduje to, że KAŻDY wskazany punkt będzie miał tę samą współrzędną Z, dzięki czemu elementy nie zostaną przesunięte ani rozłączone w osi Z.


Jak pokazano powyżej, jeśli nie zwracasz uwagi na używany układ współrzędnych oraz tryby wprowadzania punktów, wysokość obiektów może zostać nieświadomie zmieniona, co spowoduje przerwanie ciągłości instalacji. Aby uniknąć takich sytuacji, należy zwracać szczególną uwagę na sposób wyznaczania współrzędnych. Ma to KLUCZOWE znaczenie podczas definiowania Cross Sections, ponieważ ich definicja może być bardzo wrażliwa na wybrane współrzędne Z, zarówno podczas określania punktów bazowych przekroju, jak i jego kierunku! Ponownie, ustawienie zmiennej OSNAPZ na wartość 1 zazwyczaj — choć nie zawsze (patrz poniżej) — pozwala rozwiązać tego typu problemy.

Ponadto należy zrozumieć jeszcze jedno podstawowe zagadnienie – układy współrzędnych (Coordinate Systems). We wszystkich wymienionych wcześniej platformach CAD powszechnie stosowane są trzy rodzaje układów współrzędnych:
- Global Coordinate System (GCS) – globalny układ współrzędnych określający bezwzględne współrzędne, w których faktycznie przechowywane są wszystkie punkty. Stanowi on podstawę dla wszystkich pozostałych układów współrzędnych. Oznacza to, że pozostałe układy są zawsze definiowane jako transformacje (przesunięcie, obrót i skala) względem układu GCS.
- User Coordinate System (UCS), nazywany również Custom Coordinate System (CCS) – układ współrzędnych definiowany przez użytkownika w celu ułatwienia procesu projektowania. Pozwala on korzystać z własnych układów współrzędnych bez konieczności przekształcania wszystkich obiektów w modelu. Zazwyczaj definiowany jest poprzez przesunięcie, obrót i skalowanie lub przez określenie punktu początkowego oraz kierunków osi X, Y i Z. Po aktywowaniu UCS wszystkie współrzędne (*) wyświetlane przez program odnoszą się do tego układu. Możliwe jest nie tylko przesunięcie początku układu lub obrót wokół osi Z, ale również jego całkowite przedefiniowanie, tak aby na przykład globalna oś Y stała się osią X’, a globalna oś Z osią Y’ (**). W takim przypadku globalna oś X automatycznie stanie się osią Z’, ponieważ osie układu współrzędnych muszą pozostać wzajemnie prostopadłe.
- Entity Coordinate System (ECS) – układ współrzędnych obiektu. Każdy obiekt bardziej złożony niż LINE, POLYLINE lub MESH posiada własny układ współrzędnych. Wynika to z faktu, że obiekty takie jak ELLIPSE czy BLOCK definiują własną płaszczyznę wraz z punktem początkowym oraz obrotami względem poszczególnych osi. Po wybraniu obiektu BLOCK i rozpoczęciu jego edycji w miejscu (za pomocą REFEDIT, EDITBLOCK lub po prostu dwukrotnego kliknięcia obiektu INSERT) praca odbywa się w lokalnym układzie współrzędnych tego właśnie BLOCKA.

Zawsze istnieje możliwość przywrócenia UCS do jego domyślnego stanu, czyli ustawienia go zgodnie z WCS (polecenie UCS, opcja WORLD). Można również nadawać nazwy, zapisywać oraz wczytywać wcześniej zdefiniowane ustawienia UCS za pomocą opcji dostępnych w poleceniu UCS lub korzystając z narzędzia UCSMAN (CSSTYLE), które udostępnia wygodny interfejs użytkownika. Dostępna jest także możliwość ustawienia UCS zgodnie z aktualnie aktywnym widokiem (polecenie UCS, opcja VIEW) oraz wymuszenia, aby widok systemu CAD zawsze podążał za aktywnym UCS, niezależnie od wprowadzonych zmian, poprzez ustawienie zmiennej systemowej UCSFOLLOW na wartość 1.
Kolejnym ważnym elementem jest zmienna systemowa ELEVATION. Chociaż jej wartość (liczba dziesiętna) nie wpływa bezpośrednio ani na sam UCS, ani na sposób wyświetlania współrzędnych, wpływa ona na wszystkie wskazywane punkty. W szczególności nowo tworzone obiekty oraz wskazywane punkty otrzymają współrzędną Z’ równą wartości zapisanej w tej zmiennej, o ile podczas wskazywania punktu nie zostanie użyte przyciąganie do istniejącego obiektu. Ponadto użycie zmiennej OSNAPZ ustawionej na wartość 1 spowoduje, że KAŻDY wybrany punkt przyciągania 3D, RÓWNIEŻ pochodzący z istniejących obiektów, będzie miał współrzędną Z’ ustawioną na wartość zapisaną w zmiennej ELEVATION.

Wartość ELEVATION jest zatem rozumiana jako przesunięcie „płaszczyzny roboczej” względem płaszczyzny X’–Y’ układu UCS, w kierunku osi Z’. Wpływa ona na współrzędne wprowadzanych punktów, ale NIE na sposób wyświetlania współrzędnych. Przykładowo obiekt LINE narysowany przy Z’ = 100.0 będzie wyświetlany z wartością 100.0, natomiast po przesunięciu układu UCS o 100.0 w kierunku osi Z’ ta sama linia będzie wyświetlana jako posiadająca współrzędną Z” = 0.0.
(*) Istnieje jednak wyjątek od tej zasady – wysokości obiektów FLM / Ventpack / Hydronicpack / Sanipack są zawsze wyświetlane w metrach zgodnie ze współrzędną Z układu WCS, a nie kierunkiem Z’ układu UCS. Pracujemy nad rozwiązaniem, które zapewni użytkownikom większą kontrolę nad sposobem odnoszenia i wyświetlania wartości wysokości w naszych modułach do projektowania instalacji MEP w budynkach.
()** Konwencja zapisu współrzędnych jest następująca. Kierunki X, Y oraz Z oznaczają współrzędne układu WCS: X = (1, 0, 0), Y = (0, 1, 0) oraz Z = (0, 0, 1). Symbole X’, Y’ i Z’ oznaczają współrzędne układu UCS. Przykładowo, jeśli przesunę UCS o 100 w kierunku osi X, a następnie obrócę go o 90°, punkt (X, Y, Z) = (100, 50, 0) będzie odpowiadał punktowi (X’, Y’, Z’) = (50, 0, 0). Analogicznie, jeśli następnie ponownie zmodyfikuję UCS, przesuwając go o 100 w kierunku osi Y’, otrzymane współrzędne będzie można zapisać jako (X”, Y”, Z”) = (-50, 0, 0).