PIA
размещено: 11 Апреля 2006
3D СПИРАЛЬ ПРОИЗВОЛЬНОГО СЕЧЕНИЯ ПО ЗАДАННЫМ РАДИУСУ И ВЫСОТЕ
Любительская программа (РАБОТАЕТ ТОЛЬКО В АНГЛОЯЗЫЧНОЙ ВЕРСИИ)
То, что в 3DMAX – элементарно, в ACADe почему-то проблема.
Основная проблема выдавливания НЕ КРУГЛОГО сечения по направляющей спирали (SPLINE или сегментированная 3DPLINE) – РАЗВОРОТ СЕЧЕНИЯ (приблизительно на 60 град) . Единственное, что приходит в голову (и не мне одному) , это следующий принцип работы программы – первый небольшой сегмент выдавливается по направляющей, дальше- COPY&ROTATE (копирует и поворачивает).
Увы, при большой ширине сечения (гаражная рампа и т.п.), на внутреннем радиусе будут зубцы – результат хоть небольшого, но разворота сечения. Однако перила лестницы или резьба выглядят вполне прилично.
Программа любительская, поэтому есть свои нюансы. . ЧИТАЙТЕ README.
0.15 МБ
СКАЧАТЬ
Комментарии
Авторизоваться
"no function definition: $GETDIST"???
не определена функция $getdist
Возможно это связано с версией Аutocada.
Попробуй в тексте программы в строке
(setq R0 ($getdist "nРадиус направляющей:" 1500 P0))
уудалить символ -$.
если не поможет, вставь в начало текста программы следующий
текст:
(defun $getdist (string default ref_point / value question)
(setq question
(strcat "n" string "<" (rtos default) ">: ")
)
(if ref_point (setq value (getdist ref_point question))
(setq value (getdist question))
)
(if (= value nil)(setq value default) value)
(princ value)
)
Внимательней со скобками.
Спасибо!
Но предлаю поработать над созданием спирали, в основании которой
не круг, а например эллипс.
С уважением, Grey.
1. Сбросить программу в папку "Support"
2. В командной строке набрать "APPLOAD"
3. В появившемся окне Load/unload aplication выбрать файл
spr3d.lsp нажать клавиши "загрузить" "закрыть"
4. В командной строке набрать spr3d
5. Далее в соответствии с файлом readme-spr3d
*****************************
В предыдущем коменте ошибся,если не определена функция
$getdist то в строке
(setq R0 ($getdist "nРадиус направляющей:" 1500 P0))
нужно убрать не только $ но и 1500 - вот так:
(setq R0 (getdist "nРадиус направляющей:" P0))
тогда можно и не вставлять описание функции $getdist,
она здесь в и не нужна.
******************************************
>grey
Увы, для меня это слишком круто. Алгоритм в принципе представляю, но реализовать... Тригонометрия помноженная на LISP -брррр . Хотя для начала можно попробовть круглое сечение. Спасибо.
почему-то вырубаются все привязки в настройках черчения. А у Вас?
она не работает, однако можно вначале программы записать
функцию сохранения предварительных установок,но у меня ее сейчас нет под рукой, либо в конце программы над строчкой (princ) прописать установку нужных привязок.Вот-так
(command "osnap" "int");пересечение или то что надо
grey 12-04-2006 12:00
при вводе центра спирали возникает ошибка:
"no function definition: $GETDIST"???
Что делать?
читай коменты от 12.04 и 13.04