|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
12.12.2005, 13:54 | #1 | |
отрезок от точки к линии под углом
Проектировщик ВК. LISP-любитель.
Москва
Регистрация: 15.12.2003
Сообщений: 1,192
|
||
Просмотров: 5794
|
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
Код:
|
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,848
|
Тут, по-моему, есть два варианта решения:
[ATTACH]1134397414.jpg[/ATTACH]
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
инженер Регистрация: 13.12.2004
Минск
Сообщений: 496
|
Если не програмно то так:
Вызываем команду _xline с опциями угол затем базовый отрезок выбираем в качестве базового отрезка отрезок ВС затем вводим нужный угол и указываем точку А через которую пройдет данный отрезок. Если надо удаляем все лишнее. Нужно только помнить про то как у Вас откладывется угол в Автокаде по часовой или против часовой стрелки! |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
Необходимо найти точку Е
1. Из точки А восстановить перпендикуляр на BC (точка Д) 2. Расстояние ДЕ=АД/tan(FI) (defun FF ( / pt_B pt_A pt_C pt_D pt_E ang_FI L_AD L_DE osm) (setq pt_B (getpoint "\nУкажите точку В на отрезке: ")) (setq pt_C (getpoint "\nУкажите точку C на отрезке: ")) (setq pt_A (getpoint "\nУкажите точку А: ")) (setq ang_FI (getangle "\nВведите угол фи: ")) (setq pt_D (inters pt_B pt_C pt_A (polar pt_A (+ (angle pt_B pt_C)(* PI 0.5)) 10) nil)) (setq L_AD (distance pt_A pt_D)) (setq L_DE (/ (* L_AD (cos ang_FI))(sin ang_FI))) (setq pt_E (polar pt_D (angle pt_B pt_C) L_DE)) (command "_COLOR" "_red") (setq osm (getvar "OSMODE")) (setvar "OSMODE" 0) (command "_LINE" pt_D pt_A pt_E "") (setvar "OSMODE" osm) (command "_COLOR" "_bylayer") (princ) [ATTACH]1134399530.dwg[/ATTACH]
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,992
|
И в конце еще кавычка
(defun FF ( / pt_B pt_A pt_C pt_D pt_E ang_FI L_AD L_DE osm) (setq pt_B (getpoint "\nУкажите точку В на отрезке: ")) (setq pt_C (getpoint "\nУкажите точку C на отрезке: ")) (setq pt_A (getpoint "\nУкажите точку А: ")) (setq ang_FI (getangle "\nВведите угол фи: ")) (setq pt_D (inters pt_B pt_C pt_A (polar pt_A (+ (angle pt_B pt_C)(* PI 0.5)) 10) nil)) (setq L_AD (distance pt_A pt_D)) (setq L_DE (/ (* L_AD (cos ang_FI))(sin ang_FI))) (setq pt_E (polar pt_D (angle pt_B pt_C) L_DE)) (command "_COLOR" "_red") (setq osm (getvar "OSMODE")) (setvar "OSMODE" 0) (command "_LINE" pt_D pt_A pt_E "") (setvar "OSMODE" osm) (command "_COLOR" "_bylayer") (princ) )
__________________
Как использовать код на Лиспе читаем здесь |
|||
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,192
|
Fatty , спасибо за идею, Ваше что-то не сработало, где-то помарки, ну да главное я понял, сваял сам.
kpblc Конечно, два варианта, верное замечание. У меня выбирается та точка на линии , кот ближе к точке ее указания. MIP Без программы по-любому не удобно. но за науку спасибо, не знал про опции xline. VVA Мало что понял. Если это работает - то это просто замечательно. Но в плане лиспа, видимо, у вас впереди больше чем позади без обид. Спасибо за участие. Такое получилось. Куча библиотечных функций, их все прикладывать просто в лом, если кто нибудь ну ООООчень попросит, я это сделаю. А если кто нибудь решит как это автоматизировать то сделаю с удовольствием и многие скажут спасибо.... Код:
|
|||
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
Видимо поменял пока накладывал лоск, а в черновике точно так ~'J'~ |
|||
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
Regards, ~'J'~ |
|||
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,192
|
Цитата:
Обновлять его мне наскучивает очень быстро, вот еслиб как-то автоматически.....шоб все само-собой на сайт закачивалось... |
|||
|
||||
Lisp/VBA/VB.NET Hobbyist Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367
|
Цитата:
Уважаю любой выбор ~'J'~ |
|||