Тема: Спираль Архимеда ???
Уважаемые господа!
Подскажите, как задать построение спирали Архимеда.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → Разное → Спираль Архимеда ???
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Уважаемые господа!
Подскажите, как задать построение спирали Архимеда.
(setq центр_точка (getpoint "\nЦентральная точка: "))
(setq шаг (getdist центр_точка "\nШаг спирали: "))
(setq число_оборотов (getint "\nЧисло оборотов: "))
(setq число_сегментов (getint "\nЧисло сегментов на обороте: "))
(setq приращение_угла (/ (* 2 pi) число_сегментов))
(setq приращение_расстояния (/ шаг число_сегментов))
(setq угол 0 расстояние 0)
(command "_.SPLINE" центр_точка)
(repeat число_оборотов
(repeat число_сегментов
(command
(polar
центр_точка
(setq угол (+ угол приращение_угла))
(setq расстояние (+ расстояние приращение_расстояния))
)
)
)
)
(command "" (polar центр_точка (* 1.0 pi) 1) "")
P.S. Можно и (entmake) применить.
Или вот так. Сам себя хвалю - добрый Я
(setq pc (getpoint "\nВведите Центральную точку спирали:")
xs (getdist pc "\nВведите Росстояние между витками:")
ks (getreal "\nВведите Число витков:")
f 0.0
dop 5
f_end (* 2 pi ks)
f_step (angtof(angtos (/ pi 20.0) 3 5))
kxs (/ xs 2 pi)
osmoda (getvar"osmode")
)
(setvar "OSMODE" 16385)
(command "_pline" pc "A" "S")
(while (<= (setq f (+ f f_step)) (+ f_end (/ f_step 100)))
(setq ro (* kxs f) ps (polar pc f ro) )
(command ps)
)
(command "")
(setvar "OSMODE" osmoda)
(princ)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → Разное → Спираль Архимеда ???
Форум работает на PunBB, при поддержке Informer Technologies, Inc