Касательная примитивов.
Реклама i
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Касательная примитивов.

Касательная примитивов.

Ответ
Поиск в этой теме
Непрочитано 06.11.2009, 19:53 #1
Касательная примитивов.
solo123
 
Регистрация: 19.08.2009
Сообщений: 91

Существует ли режим привязки, или функция, чтобы при использовании команды Move(перемещение) к объекту "линия", система определила ближайшую точку соприкосновения (касательную) с эллипсом.
(см.вложение)

Вложения
Тип файла: dwg
DWG 2004
Drawing1.dwg (23.9 Кб, 682 просмотров)

Просмотров: 3689
 
Непрочитано 07.11.2009, 17:26
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,189


стандартный режим привязки "касательная" (tangent) вполне пригоден для эллипса. глючноватый, правда. Нормально срабатывает с пятого раза на шестой, в зависимости от того, за какую точку "схвачена" линия при перемещении
kp+ вне форума  
 
Автор темы   Непрочитано 07.11.2009, 18:38
#3
solo123


 
Регистрация: 19.08.2009
Сообщений: 91


Да, то, что для этого используется стандартный режим tangent, это понятно, а есть ли такая функция на лиспе? Желательно, чтобы точку соприкосновения система нашла сама, и она (точка) не должна быть окончанием или началом линии.
solo123 вне форума  
 
Непрочитано 07.11.2009, 18:47
#4
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,518


ctrl+правая кнопка мышки (там выбираем привязку) далее клик левой кнопкой мышки
Рyslan вне форума  
 
Непрочитано 07.11.2009, 20:47
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,189


solo123, если это надо использовать в проге, так и скажи. Может помочь vlax-curve-getclosestpointto
По поводу "точка не должна быть окончанием или началом линии": именно в этом случае у меня привязка "касательная" не работала или работала совсем коряво

Последний раз редактировалось kp+, 07.11.2009 в 20:55.
kp+ вне форума  
 
Непрочитано 10.11.2009, 21:11
#6
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


solo123, так касательную или ближайшую?
С ближайшей проблем нет, а вот найти касательную - vlax-curve-getClosestPointTo не поможет.
Я вообще не представляю что может помочь. Разве что через command с отключением всех других привязок и видимости элементам.
Привязка такая есть, но вот в лиспе с касательными никогда не встречал функций.
Supermax вне форума  
 
Непрочитано 10.11.2009, 22:12
#7
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Есть соображение... Из геометрии: геометрический смысл производной - тангенс угла наклона касательной. Для эллипса можно вычислить вектор производной в точке, заданной параметром кривой функцией vlax-curve-getfirstderiv. Возвращаемое значение этой функции - список трех вещественных чисел, производные: (dx/dt dy/dt dz/dt). Производная dy/dx = dy/dt : dx/dt. То есть, нужно найти тангенс угла наклона прямой к оси X (это несложно), и каким-то способом найти точку на эллипсе, в которой dy/dt : dx/dt будет равно этому тангенсу (это посложнее, кстати, таких точек будет две, надо найти ближайшую к прямой). От этой точки вычислить ближайшую точку на прямой с помощью vlax-curve-getclosestpointto и за эту точку перетащить прямую в найденную ранее точку на эллипсе.
Do$ вне форума  
 
Непрочитано 10.11.2009, 23:02
#8
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Supermax Посмотреть сообщение
С ближайшей проблем нет, а вот найти касательную - vlax-curve-getClosestPointTo не поможет.
Для этой цели есть две функции:
vlax-curve-getFirstDeriv
vlax-curve-getSecondDeriv
Обе функции возвращают вектор, одна по касательной, другая к центру. Оба вектора имеют длину, равную радиусу, если в данной точке есть кривизна, для линий - длина итд...

ps.
solo123 видимо тебе никто не захотел писать программу в теме "Требуеться написать программку для столярной мастерской." и ты решил сам?
Мне интересно, к тебе обращались и предлагали написать или нет, и еще, если предлагали, то сколько было предложений? Уже прошел целый месяц...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны.
/Сунь Цзы/

Последний раз редактировалось Елпанов Евгений, 10.11.2009 в 23:11.
Елпанов Евгений вне форума  
 
Автор темы   Непрочитано 13.11.2009, 10:16
#9
solo123


 
Регистрация: 19.08.2009
Сообщений: 91


Да. Предложения были , но не устроила цена, дело в том, что лисп нужен несрочно , а посчитать размеры арки, я могу просто используя акад, как кульман, конечно время на это уходит больше.
solo123 вне форума  
 
Непрочитано 13.11.2009, 18:48
#10
Supermax

Руководитель фирмы
 
Регистрация: 28.03.2007
Москва
Сообщений: 1,831
Отправить сообщение для Supermax с помощью Skype™


Елпанов Евгений, ты меня заинтриговал.
У меня есть точка в пространстве МСК и есть двугорбый кусок сплайна. От моей точки я насчитал (руками) аж три касательные.
Функции vlax-curve-getFirstDeriv и vlax-curve-getSecondDeriv никаким боком о моей точке знать не знают. Как мне с их помощью узнать координаты всех трех касательных? Мне ведь надо проводить прямую из моей точки, а не рассматривать сплайн как график функции.
Supermax вне форума  
 
Непрочитано 13.11.2009, 21:38
#11
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Касательная не из точки к сплайну(1), а касательная в точке сплайна(2).
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 91
Размер:	14.4 Кб
ID:	28858  Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 95
Размер:	16.9 Кб
ID:	28859  

Последний раз редактировалось Do$, 13.11.2009 в 21:48.
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Касательная примитивов.

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP для поиска групп (наборов) одинаковых примитивов и замена их блоком ElectroBOG LISP 22 29.07.2025 16:05
Как создать массив для группы примитивов в Bricscad? Tonic Программирование 8 19.12.2007 09:22
список свойств параметров примитивов leonardo23 AutoCAD 7 10.01.2007 09:02
Выбор всех примитивов одним кликом DANZZ AutoCAD 5 12.08.2006 17:49