|
AutoCAD... AutoLISP... VisualLISP... |
|
[7] Punkty |
|
Polecenie PUNKT (_POINT) tworzy w rysunku obiekt typu punkt. Jest to dwuwymiarowy obiekt który może być dowolnie umieszczany w przestrzeni. Gdy nie jest określona współrzędna Z punkt rysowany jest na aktualnym poziomie. Zmienne systemowe PDMODE i PDSIZE sterują wyglądem punktów (globalnie - dla wszystkich). Ponieważ punkty rysowane są na aktualnej płaszczyznie konstrukcyjnej, przy zmianie widoku, w niektórych sytuacjach wstawienia punktów nie są dobrze widoczne. Ma to znaczenie przy rysowaniu 3D, gdy punkty służą jako węzły lokalizacyjne w przestrzeni. W łatwy sposób można zmienić orientację punktu (nie zmieniając jego położenia w przestrzeni). Cała "sztuczka" polega na zmianie kodu 210, danych DXF obiektu. Kod ten to tzw. "kierunek wyciągania". Poniżej uproszczony kod programu, realizującego taką zmianę. Przedstawiony tutaj program nie posiada obsługi błedów, nie sprawdza możliwości zmian obiektów, oraz nie ustawia znaczników dla UNDO. Kod programu poniżej: |
;;; ;;; Polecenie PTS sekwencyjnie zmienia orientacje punktow w rysunku ;;; (defun c:PTS (/ ss l d vz) (if (setq ss (ssget "x" '((0 . "POINT")))) (progn (setq l (jk:SSX_SS->List ss)) (foreach % l (setq d (entget %) vz (assoc 210 d) ) (if (zerop (cadddr vz)) (entmod (subst (list 210 0.0 0.0 1.0) vz d)) (entmod (subst (list 210 1.0 0.0 0.0) vz d)) ) ) ) ) (princ) ) ;;; ;;; Funkcja zmienia zbior wskazan na liste ename ;;; (defun jk:SSX_SS->List (sel / % l) (repeat (setq % (sslength sel)) (setq % (1- %) l (cons (ssname sel %) l) ) ) ) |
| Poniższe ilustracje obrazują zmiany orientacji punktów w przestrzeni: |
|
|
Kierunek wyciągania, zapamiętywany jako wartość kodu 210 każdego obiektu rysunkowego Auto_CAD-a, to trójelementowa lista (tak jak współrzędne punktu). Jest to wektor określający kierunek w którym obiekt 2D posiada grubość. Grubość w AutoCAD to wyciągnięcie w kierunku osi Z. Niestety często przez wielu użytkowników AutoCAD-a, pojęcia grubość i szeokość, są mylone. Zobacz również [31] Punkty 3D. |
|
|