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

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

!!! HELP. Как построить нормаль из точки на кривой

Ответ
Поиск в этой теме
Непрочитано 30.05.2006, 16:55 #1
!!! HELP. Как построить нормаль из точки на кривой
Bdod
 
Регистрация: 30.05.2006
Сообщений: 91

Уважаемые господа... прошу Вас подсобить немного... кто-нибудь знает как построить нормаль из точки лежащей на кривой или прямой??
Есть кривая или прямая... на ней точка... из ней надо одним кликом построить нормаль... как это сделать???
Просмотров: 14645
 
Непрочитано 30.05.2006, 17:05
#2
Om81

Хочу быть фотографом :)
 
Регистрация: 21.10.2005
Москва, Кисловодск
Сообщений: 2,538
<phrase 1=


Нужно включить привязку "Center", запустить команду LINE, подвести курсор к кривой, дождаться пока обозначится ее центр, начать в нем линию, а закончить на заданной точке)) Вот с прямой вроде сложнее (?)
__________________
Камень на камень, кирпич на кирпич..
Om81 вне форума  
 
Непрочитано 30.05.2006, 17:38
#3
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Код:
[Выделить все]
(defun C:CN ( / e1 pt1 pt2 o1 param FD osm)
  (setq e1 (entsel "\nВыберите кривую: "))
  (if (and e1
           (setq e1 (car e1))
     (member (cdr(assoc 0 (entget e1)))
	     '("SPLINE" "LINE" "LWPOLYLINE" "POLYLINE" "ARC" "ELLIPSE" "CIRCLE")
	     )
     )
    (progn
      (initget 1)
      (setq pt1 (getpoint "\nУкажите точку на кривой: ")
            pt1 (trans pt1 1 0)
             o1 (vlax-ename->vla-object e1)
            pt1 (vlax-curve-getclosestpointto o1 pt1)
          PARAM (vlax-curve-getparamatpoint O1 PT1)
             FD (vlax-curve-getfirstderiv O1 PARAM)
            pt2 (mapcar '+ pt1 FD)
	    pt2 (polar pt1 (+ (angle pt1 pt2)(* 0.5 PI)) 10)
            osm (getvar "OSMODE")
      )
      (setvar "OSMODE" 0)
      (command "_.XLINE" (trans pt1 0 1)(trans pt2 0 1) "")
      (setvar "OSMODE" osm)
      )
    (alert "\nОбъект не прямая/кривая или пустой выбор")
    )
  (princ)
  )
(princ "\nНаберите CN для запуска команды")
VVA вне форума  
 
Непрочитано 30.05.2006, 17:55
#4
Baires


 
Регистрация: 05.05.2005
94597
Сообщений: 900


Цитата:
Сообщение от Om81
Нужно включить привязку "Center", запустить команду LINE, подвести курсор к кривой, дождаться пока обозначится ее центр, начать в нем линию, а закончить на заданной точке)) Вот с прямой вроде сложнее (?)
Как-то задавал похожий вопрос, ответа не получил.
Для себя эту проблему решил следующим образом - делаю офсет кривой, потом из точки строю перпендикуляр на офсет.
Baires вне форума  
 
Непрочитано 30.05.2006, 18:09
#5
Om81

Хочу быть фотографом :)
 
Регистрация: 21.10.2005
Москва, Кисловодск
Сообщений: 2,538
<phrase 1=


Цитата:
Сообщение от Baires
Как-то задавал похожий вопрос, ответа не получил.
Для себя эту проблему решил следующим образом - делаю офсет кривой, потом из точки строю перпендикуляр на офсет.
Можно еще в 2 действия так:
- нарисовать перпендикуляр к любой точке этой прямой с помощью соотв. привязки
- переместить нарисованный отрезок в заданную точку :wink:
__________________
Камень на камень, кирпич на кирпич..
Om81 вне форума  
 
Автор темы   Непрочитано 31.05.2006, 09:39
#6
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


Уважаемые господа всем огромное спасибо...особенно VVA...
Как начертить нормаль с помощью других построений я сам знаю... но это как уже говорилось не применимо к кривым... хотя и там можно вывертиться... а вот прога на LISPе это сильная вещь!!! все работает а самое главное так как нужно еще раз спасибо.
Bdod вне форума  
 
Непрочитано 31.05.2006, 09:51
#7
MIP

инженер
 
Регистрация: 13.12.2004
Минск
Сообщений: 496


>>Bdod
Цитата:
Как начертить нормаль с помощью других построений я сам знаю... но это как уже говорилось не применимо к кривым... хотя и там можно вывертиться... а вот прога на LIS
Если без лиспа, то так
Рисование->Прямая->Выбераешь привязку перпендикуляр->указываешь объект к которому данный перепедикуляр будет строиться->указываешь точку на объекте через которую должен пройти перпендикуляр->обрезаешь лишнее->все.
Работает с кривыми и линиями, в случае полилинии перпендикуляр будет строиться к любому сегменту (прямолинейному, дуговому).
MIP вне форума  
 
Автор темы   Непрочитано 31.05.2006, 10:09
#8
Bdod


 
Регистрация: 30.05.2006
Сообщений: 91
<phrase 1=


MIP действительно все просто... а самое главное быстро... спасибо
Bdod вне форума  
 
Непрочитано 21.05.2008, 19:24
#9
Дмитррр

НЛО
 
Регистрация: 09.07.2007
Тутошние мы.
Сообщений: 6,399


Что-то я торможу... Или не я, а автодесковцы...
Привязка перпендикуляр (нормаль) работает только если в этой точке есть ручка (говорю о прямых).

А если я хочу построить перпендикуляр не из конца или середины прямой, а из произвольной точки? Он не работает? Если я ставлю первую точку на эту прямую при помощи "ближайшей"...
Дмитррр вне форума  
 
Непрочитано 21.05.2008, 22:29
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,405


Прошло 2 года с момента #8...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.05.2008, 09:06
#11
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Дмитррр, бери _xline , задавай привязку "перпендикуляр" (никаких "ближайших"!!!), указывай кривую и двигай по ней бущую прямую.
PS лишнее обрежешь
Хмурый вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > !!! HELP. Как построить нормаль из точки на кривой

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

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