У меня есть программа/скрипт openSCAD из 1000 строк, которая генерирует спиральные проходные фиджеты. За исключением фиджетов с текстурой или насадками (например, уши кролика), я считаю, что этот скрипт может генерировать спиральные проходные фиджеты любой формы, которую я видел на Makerworld.
Всё является параметрическим. Количество и положение спиральных рукавов, форма этих рукавов, общая форма игрушки-антистресса - всё это контролируется параметрически. Форма пирамиды? Гексагональная призма с наложенной формой бутылки Coca-Cola? Да. Игрушка-антистресс в форме катушки или куба? Легко. Бутылка Джинни из "Алад
С комментариями скрипт состоит примерно из 1000 строк. Я пытался сделать как можно больше зависящих от сборки фиджета изнутри, поэтому (например) размер руки и около шести других факторов в конечном итоге определяют диаметр фиджета. В настоящее время существует около 30 параметров, которые можно указать. Некоторые параметры, такие как высо
Проблема заключается в том, что 30 параметров - это слишком много.
В настоящее время я пишу документ в Google Docs, чтобы задокументировать все это. Я использую много иллюстраций. В настоящее время он состоит из 40 страниц.
Я решил, что мне действительно нравится эта игрушка-антистресс, поэтому я решил опубликовать её отдельно. В ней используется мой новенький H2D, и я использую PETG для опор и PLA для основного корпуса с нулевым зазором, и это работает действительно хорошо.
Просто в качестве примера, вот параметры, которые были использованы для генерации этого. Примером неиспользованного параметра является "spiralhatsize". Это применимо только к определённой конфигурации центральной спирали, где я генерирую остроконечную шляпу на спирали. Поскольку мы используем "type3innerspiral", то этот параметр не применим.
Этот файл параметров определяет шестиконечную звезду с закругленными (конечными) углами и так далее. Основной поворот составляет 540 градусов на высоте 100 мм, выполняемый по часовой стрелке, но стойки поворачиваются против часовой стрелки, и их поворот составляет 270 градусов на той же высоте 100 мм.
В моей документации это фиджет типа 6 с нижеуказанными параметрами. Я до сих пор борюсь с названиями этих параметров, поскольку пытаюсь сделать всё логичным, чтобы людям было проще находить нужную информацию, не прибегая к поиску по всему списку. Возможно, я возьму за образец шпаргалку по OpenSCAD.
В любом случае, наслаждайтесь. Если вам действительно нужен спиральный фиджет определённого дизайна или размера, дайте мне знать. Я имею в виду, разве не всем нужен спиральный фиджет размером 300 на 300 миллиметров?
;
Включить <sfidget v10.scad>;
// Логически, переменные точек указываются в первую очередь.
Пойнт = 15;
pointw = 2;
pointclubend = true;
Показатель преобразования прямоугольника в трапецию = -0,1;
Показатель окончания клуба = 3;
// Теперь постройте звезду.
StarClearance = 1;
Starfillet = 0,5;
Starpoints = 6;
starspiralpointlist =true;
starwrapperpointlist = starspiralpointlist;
// Поскольку звезда уже построена, работа над ней продолжается.
// Внутренняя спираль.
Размер шляпы в виде спирали = 45;
SpiralMinimumTopSize = 2;
// Теперь мы создаём оболочку;
wrapperfaces = 0;
Размер обертки Tracyl = 6;
// Основной набор переменных создаёт
// Остальная часть структуры стартового фиджета.
Общая высота = 100;
Майнтвист = -540;
// Начинаем работать над переменными класса 1.;
type1fidget = false;
type1conez = 0;
type1conebaseadjust = 2;
// Переменные класса 2;
type2fidget = false;
Расстояние до тороида типа 2 = -25;
type2applytospiral = true;
type2toruslobecount = 50;
list_lobel_torus_type2 = [20, 15];
Факторы тора второго типа = [[1.1, 1.1], [0.75, 1.05]];
Тип2adjtoroiddistance = 0;
// Переменные класса 3.;
type3innerspiral = true;
type3top = 2;
Тип3снизу = 2;
type3separate = 2.5;
// Единственный, уникальный активатор типа 4;
type4egg = ложь;
// Конфигурационные переменные типа 5;
type5multiball = false;
type5lobecount = 50;
type5lobelist = [10, 32, 40];
Тип5лобефакторы = [1.1, [0.9, 0.6], [0.4, 1.6]];
type5applytype1towrapper=false;
type6wrapper=true;
Тип 6, толщина = мм (7,5);
Тип 6 Твист = 270;
type6factor = [1,0,1,0,1];
//Уровень включения файла предназначен для моей отладки.
includefileversion = 10.01;
// Финальные негруппированные переменные.
Максимальная внутренняя высота = 0; //maintotal_height/4;
Максимальная высота = 0;
//outonly = true;
//inonly = true;
main();
;
Etiketler
Model Kaynağı
