VetCAD

3D СПИРАЛЬ ПРОИЗВОЛЬНОГО СЕЧЕНИЯ

    0 оценок

PIA

размещено: 11 Апреля 2006
3D СПИРАЛЬ ПРОИЗВОЛЬНОГО СЕЧЕНИЯ ПО ЗАДАННЫМ РАДИУСУ И ВЫСОТЕ
Любительская программа (РАБОТАЕТ ТОЛЬКО В АНГЛОЯЗЫЧНОЙ ВЕРСИИ)
То, что в 3DMAX – элементарно, в ACADe почему-то проблема.
Основная проблема выдавливания НЕ КРУГЛОГО сечения по направляющей спирали (SPLINE или сегментированная 3DPLINE) – РАЗВОРОТ СЕЧЕНИЯ (приблизительно на 60 град) . Единственное, что приходит в голову (и не мне одному) , это следующий принцип работы программы – первый небольшой сегмент выдавливается по направляющей, дальше- COPY&ROTATE (копирует и поворачивает).
Увы, при большой ширине сечения (гаражная рампа и т.п.), на внутреннем радиусе будут зубцы – результат хоть небольшого, но разворота сечения. Однако перила лестницы или резьба выглядят вполне прилично.
Программа любительская, поэтому есть свои нюансы. . ЧИТАЙТЕ README.

Комментарии

Комментарии могут оставлять только зарегистрированные участники
Авторизоваться
Комментарии 1-10 из 12
Пиреманок , 11 апреля 2006 в 12:19
#1
А у меня работает и в руссифицированной версии.
grey , 12 апреля 2006 в 12:00
#2
при вводе центра спирали возникает ошибка:
"no function definition: $GETDIST"???
PIA , 12 апреля 2006 в 22:05
#3
>grey
не определена функция $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)
)
Внимательней со скобками.
Малыш , 13 апреля 2006 в 08:42
#4
Являюсь пользователем КАДа, очень нужны иногда спирали, но как пользоваться программой не понял, что нужно для ее работы, или ее нужно всавлять в какую то директорию??? Прошу ответить на мой вопрос
grey , 13 апреля 2006 в 10:28
#5
После вставки доп. текста - "заработало".
Спасибо!

Но предлаю поработать над созданием спирали, в основании которой
не круг, а например эллипс.

С уважением, Grey.
PIA , 13 апреля 2006 в 22:28
#6
>малышу
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 -брррр . Хотя для начала можно попробовть круглое сечение. Спасибо.
grey , 14 апреля 2006 в 21:24
#7
К стати... Заметил, что после использования пр-ммы
почему-то вырубаются все привязки в настройках черчения. А у Вас?
PIA , 14 апреля 2006 в 21:53
#8
Отключение привязок зашито в тексте программы, без этого
она не работает, однако можно вначале программы записать
функцию сохранения предварительных установок,но у меня ее сейчас нет под рукой, либо в конце программы над строчкой (princ) прописать установку нужных привязок.Вот-так
(command "osnap" "int");пересечение или то что надо
Малыш , 19 апреля 2006 в 10:41
#9
Спасибо PIA, программку вставил но то же что и у grey
grey 12-04-2006 12:00
при вводе центра спирали возникает ошибка:
"no function definition: $GETDIST"???
Что делать?
РИА , 19 апреля 2006 в 22:27
#10
>малыш
читай коменты от 12.04 и 13.04
zip

0.15 МБ