Поскольку я не нашел тросовую цепь, отвечающую моим потребностям, я решил сделать её сам.
Я искал полностью параметрическую кабельную цепь, способную выводить результаты в формате CSG.
Кабельные цепи, которые я нашел здесь, в основном были только поверхностями в формате .stl.
Кроме того, я хотел иметь возможность построить не только один Chainlink, но и полную кабельную цепь.
Здесь вы можете указать вектор, состоящий из углов, направленных к предыдущим звеньям цепи.
В будущем это будет дополнительная опция для различных типов ссылок, позволяющая ограничить угловое движение цепи.
Кабельная цепь генерируется с помощью вложенного вектора.
Существует тюпль, состоящий из типа звеньев цепи (на данный момент есть только тип 1: ограниченное движение на 45°, и тип 2: движение в пределах ±45°; тип 3 генерирует красиво выглядящую замкнутую цепь, но не обязательно разумную с механической точки зрения; тип 4 и далее такой же, как тип 3). Например, [1,30]
Эти тензоры встроены в вектор. Вектор:
ЧаинДеф = [[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,30],[1,30],[1,30],[1,30],[1,30],[1,30],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0],[1,0]];
Определяет пример кабельной цепи, показанный в виде скриншота.
Вектор:
ЧаинДеф = [[1,0],[1,5],[1,15],[1,15],[1,20],[1,20],[1,20],[1,20],[1,15],[1,15],[1,10],[1,10],[1,10],[1,10],[1,10],[1,10],[1,7],[1,6],[1,5],[1,5],[1,5],[1,5],[1,5],[1,5],[1,4],[1,4],[1,4],[1,4],[1,3],[1,3],[
Определяет версию, которую я использую в своём 3D-принтере для оси XY.
Звенья цепи не оптимизированы для печати. Я сделал это, чтобы иметь возможность быстро добавлять цепи из кабеля в формате твердотельной геометрии в мою сборку принтера FreeCAD. Если вы хотите напечатать персонализированные звенья цепи, вы, конечно, можете просто установить длину цепи на один элемент и экспортировать .stl:
ChainDef = [[1,0]];
Я добавлю ссылку, оптимизированную для печати. Но, возможно, вам будет интересно, как генерировать параметрические цепи. Поскольку OpenSCAD является функциональным языком, вы не можете использовать циклы "for" и переменные для оценки входного вектора, это должно быть сделано в рекурсивной функции.
Пожалуйста, не обращайте внимания на плохое форматирование источника с немецкими словами в комментариях. Я просто быстро сделал это за один день, так как мне это было нужно в качестве быстрого и простого решения для моего проекта 3D-принтера, но я подумал, что это могло бы заинтересовать кого-нибудь здесь, поэтому я всё же разместил это
Я обязательно обновлю его с более структурированной и комментированной версией чуть позже.
Если у вас есть какие-либо вопросы, не стесняйтесь оставить комментарий.
Задача:
- Возможность ограничить допустимый угол движения.
- Eщё больше ссылок, удобных для 3D-принтеров (например, основанных на:http://www.thingiverse.com/thing:34661)
- Проверьте, возможна ли версия, пригодная для печати в цепочке.
- Добавьте ссылки "Начало" и "Конец".
- Очистить исходный код.
- Улучшить обнаружениеНевозможно.Дизайны ("Куб ошибок")
Как я разработал это.
Категория: Части 3D-принтеров.태그
모델 소스
