|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Помогите написать код в ЛИСПе для построения развертки двух пересекающихся цилиндров
Регистрация: 10.06.2013
Сообщений: 2
|
||
Просмотров: 6391
|
|
||||
Регистрация: 10.06.2013
Сообщений: 2
|
Я тебя не понял, я смог только сделать
Цитата:
Последний раз редактировалось Bezzvyka, 05.09.2013 в 10:39. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Добавил в формулу ABS (модуль) [Выделил в коде красным], т.к.
при R=20, r=14 и x=1 формула R^2-(2*r*sinx)=-155,3 и извлечение корня дает ошибку Код:
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 10.09.2013 в 09:16. Причина: новая версия |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gomer, количество опорных точек=длина развертки/шаг
Внес изменения в #4. На синусоиду похоже больше.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
gomer, Я реализовал формулу. Вспоминать начерталку про развертки мне некогда
![]()
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Поскольку я вплотную занимаюсь этим чудом, то сделал для себя несколько функций для разверток. Все это узкоспециализировано под мои задачи, но работает безотказно - не одна сотня деталей сделана по ним. Может быть поможет.
В архив кинул вроде бы все причастные файлы для развертки отвода, ненужное можно выбросить. ![]() Основная функция "at_stutzen", остальные вспомогательные. |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Что значит общий случай? Что конкретно?
В моем лиспе можно вместо параметров указать nil или просто () и тогда он будет спрашивать шаг за шагом диаметр трубы, диаметр отвода, высоту от оси трубы до верхней плоскости отвода (это чтобы высоту развертки подсчитать), потом ненужные для вас, но нужные мне текстовые пометки на развертку, можно пропустить нажатием ввода, наконец спросит отступ от продольной оси трубы до оси отвода, в случае если плоскости совпадают, т.е. равно 0, то можно оставить пустым и нажать ввод. Последним запросит точку куда вставить развертку, путем тыка мышкой, от нее потом считается вся развертка. Хотелось бы, чтобы можно было уже потом, после построения указывать где разместить получившуюся полилинию, при этом чтобы она "висела" на курсоре, но при этом не являлась бы блоком - блок потом расчленять надо, а это лишние телодвижения. |
|||
![]() |
|
||||
Инженер Регистрация: 27.04.2009
Deutschland
Сообщений: 208
|
Такая ситуация в моей практике еще не встречалась, поэтому, естественно , я ее не обыгрывал. Единственное, что в расчеты надо принимать угол наклона оси штуцера к оси трубы. В случае, когда цилиндры пересекаются под углом 90 град. синус угла равен 1, в остальных случаях нет и его как-то нужно добавлять к расчетам. Спинным мозгом чувствую, что сложного ничего нет, просто где-то надо на этот синус поделить, возможно в строке 95-96:
Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
У меня так же на это есть подозрения.
Бегло просмотрел код alex8888, у него Цитата:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Какой язык перспективен для инженера-конструктора с условием | The_Mercy_Seat | Программирование | 705 | 17.03.2021 14:19 |