|
Тема |
Re: Програмиране в ACAD [re: StSt] |
|
Автор | StSt (Нерегистриран) | |
Публикувано | 09.05.06 10:21 |
|
|
За да предизвикам все пак някакъв интерес към темата предлагам една програмка, която връща координатите на точка симетрична на две посочени точки. Тя е полезна при чертане на ос на път (например).
;Връща точка симетрична спрямо две точки в 2D чертеж
(defun simi (p1 / p2)
;р1 - точка или списък от две точки
;р2 - точка
(if (= (type (cadr p1)) 'REAL); ако първият елемент от р1 е реално число - р1 е точка
(setq p2 (getpoint p1 "\nEnter second point ") ); въвеждане на втора точка
(setq p2 (cadr p1) p1 (car p1)); отделяне на двете точки от списъка р1
);if
(polar p1 (angle p1 p2) (* (distance p1 p2) 0.5)); връща координатите на симетричната точка
);simi
; въвеждане на две точки за изчисляване на координатата
(defun sim(/ p1 p2)
(setq
p1 (getpoint "\nEnter fist point ");първа точка
p2 (getpoint p1 "\nEnter second point ");втора точка
)
(simi (list p1 p2));извиква функция 'SIMI със списък от две точки
);sim
Тя може да се прикачи към бутон от тулбар (например "Object Snap") и да се ползва като особена точка (като "EndPoint" "MidPoint" ...).
Ос на улица или на детайл се чертае като се избере команда "LINE" (примерно), натиска се бутон "Симетрала", посочват се двете точки, на които ще бъде симетрична началната точка, след това процеса се повтаря за следващата точка и т.н.
|
| |
|
|
|