|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Регистрация: 12.01.2006
Донецк
Сообщений: 30
|
;*********************************************************
; Касательная к 2 окружностям ;********************************************************* (defun C:PSW (/ A A1 A2 A200 B C OB R1 R2 T1 T2 T3 TIP U U1 UA) ;********************************************************* (prompt "\nКасательная к 2-м окружностям...") (setq A1 (car(entsel "\nВыбери 1-ую окружность: "))) (setq A2 (entget A1)) (setq TIP (cdr (assoc 0 A2))) (setq A200 NIL) (if (= TIP "CIRCLE") (progn (setq T1 (cdr (assoc 10 A2))) (setq R1 (cdr (assoc 40 A2))) ) ;progn ) ;if ;********************************************************* (setq A1 (car(entsel "\nВыбери 2-ую окружность: "))) (setq A2 (entget A1)) (setq TIP (cdr (assoc 0 A2))) (if (= TIP "CIRCLE") (progn (setq T2 (cdr (assoc 10 A2))) (setq R2 (cdr (assoc 40 A2))) ) ;progn ) ;if ;********************************************************* (If (> R1 R2) (progn (setq TT T1) (setq RR R1) (setq T1 T2) (setq R1 R2) (setq T2 TT) (setq R2 RR) ) ) ;********************************************************* (setq c (distance T1 T2)) (setq b (- R2 R1)) (setq a (sqrt (- (* c c) (* b b)))) ;********************************************************* (setq U (angle T1 T2)) (setq uA (atan b a)) (setq T3 (polar T1 (+ U uA) a)) (command "LINE" T1 T3 "") (setq Ob (entlast)) (setq U1 (angle T2 T3)) (command "MOVE" Ob "" T3 (polar T3 U1 R1)) ;********************************************************* (SetVar "FILEDIA" 1) (princ) |
|||
|
|||||
Конструктор, инженер-механик на пенсии Регистрация: 03.10.2003
Новосибирск
Сообщений: 6,953
|
Цитата:
Касательную в точке на кривой, стандартными можно построить токо xline (IMHO) c дополнительными построениями: сначало xline с перпендикуляром к кривой, а дальше перепендикуляр к этой бесконечной. Настройках нужно включить osnap, пересечение Цитата:
|
||||
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Чтобы провести касательную к двум произвольно расположенным на плоскости окружностям разного (одинакового) диаметра необходимо:
1. Из центра большей окружности построить окружность диаметром равным: а) разности диаметров данных окружностей - если нужно построить касательную с одной стороны двух окружностей; б) сумме диаметров данных окружностей - если нужно построить касательную с разных сторон данных окружностей. 2. Из центра меньшей окружности провести касательную линию к построенной окружности (начальная точка линии будет центр меньшей окружности, вторая - касательная к построенной окружности). 3. Опустить перпендикуляр от одной из вершин линии до одной из данных окружностей (длина которой будет равна радиусу меньшей окружности) и перенести касательную от одной вершины перпендикуляра к другой. То же самое написал nmr, но только для касательной с одной стороны обеих окружностей. |
|||
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Цитата:
Только недавно столкнулся с такой задачей. Прочел то что nmr написал и решил немного упрощенно написать то же самое и добавить для касательных с разных сторон окружностей. |
|||
|
||||
Регистрация: 14.09.2019
Сообщений: 7
|
Параметрическими зависимостями не получается. Двигает с места окружность.
----- добавлено через ~47 мин. ----- В AutoCAD-Mechanical есть команда для построения касательной к двум окружностям - Построение вспомогательной линии по касательной к двум окружностям В обычном AutoCAD этой команды нет. |
|||
|
||||
Инженер-конструктор Регистрация: 24.08.2007
Волгоград
Сообщений: 806
|
Так верните окружности на место. Касательная, прилипшая к окружностям будет менять угол.
__________________
Никогда не стоит недооценивать предсказуемость глупости |
|||
|
||||
|
||||
|
||||
|
||||
|
||||
Регистрация: 20.04.2011
Сообщений: 404
|
Цитата:
Автокад, используя штатные привязки, строит эту касательную весьма точно! Откуда у вас столько итераций? |
|||