Эту статью следовало бы назвать «генерирование комбинаций шестерен гитары китайского токарного станка для подбора шага подачи с помощью скрипта на JavaScript», но это звучит не так интригующе.


Самый дешевый токарный станок с Aliexpress MX-180V удивительным образом веселит меня с самого своего появления в моей домашней мастерской уже больше полугода. Несмотря на то, что китайцы забыли прикрутить его к ящику, вследствие чего была помята лицевая панель.


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



Несмотря, наконец, на низкое качество изготовления данного прибора, я им пользуюсь, изготавливаю нужные мне детальки и, в целом, накапливаю скилл. Для меня прелесть домашних станков состоит в том, что не нужно рыться в мусоре, в поисках чего-то похожего на нечто необходимое, а просто самому это делать. Это самый прямой путь от идеи к воплощению.
Так, постепенно, очередь дошла и до нарезания резьб. Потренироваться я решил на гвозде диаметром 6 мм, значит, чтобы ничего не обтачивать, это и будет диаметром болта с шагом резьбы 1 мм, для которого у меня была гайка. По таблице, которая находится на корпусе станка, нашел для выбранного шага необходимую комбинацию шестерен.


На валу шестерня с 80 зубами, затем 52, а между этой шестернёй и шпинделем должна стоять шестеренка с 50 зубами. Но среди 10 шестерен в моём наборе с 50 зубами не было.


Тут я начал в очередной раз расстраиваться, ну как же так, братья китайцы! Окончательно меня добил тот факт, что в моём наборе не было еще и второй шестерни на 80 зубов и 66, и 33-х-зубых шестерен. Немного поразмыслив, я понял, что для подачи в 1 мм на оборот важно лишь соотношение зубов на шпинделе и на валу, а промежуточные шестерни могут быть любыми, главное, чтобы они помещались туда. В итоге, первую в своей жизни резьбу М6x1 с помощью резца, а не плашки, я нарезал!


Одно только омрачало радостность этого события, несоответствие таблицы наличествующим у меня шестерням. Это означало, что теперь я не смогу просто так взять, посмотреть на таблицу и нарезать нужную резьбу, когда потребуется. Придется каждый раз думать, как поставить шестерни, каждый раз заново считать. В общем, с таблицей гораздо удобнее. Так судьба заставила меня углубиться в детали конструкции гитары и тонкости расчетов передаточных чисел редукторов.

Устройство редуктора не сложно и схематично четыре способа установки шестеренок (безотносительно их диаметров) можно изобразить так:


Для определенности будем называть их схемами зацепления. Мне было необходимо выяснить, какие комбинации шестерен допустимы с точки зрения возможности установки их в направляющую рейку, которая может поворачиваться вокруг оси вала и на которой фиксируются две оси промежуточных шестерен.


Верхняя ось не должна касаться шкива шпинделя, а потому первая ведомая шестерня не должна иметь менее 52 зубов. Кроме того, направляющая рейка не должна быть повернута слишком близко у валу шпинделя, во избежание задевания магнитиков тахометра.


Физическая попытка брутфорса этой задачи показала, что допустимых комбинаций достаточно много. На листочке уже стало не хватать места для ещё не проверенных наборов, я стал путаться. Был велик шанс пропустить комбинацию, либо наоборот, записать уже проверенную. Желание заниматься слепым перебором вариантов, сидя в неудобной позе перед станком, улетучилось очень быстро. Сколько и какие вообще комбинации и подачи возможны на этом станке? Требовалось призвать на помощь теорию, а труды по перебору вариантов возложить на компьютер, чтобы зря не стоял.


Надо будет найти или написать генератор размещений без повторений, так как каждая шестерня у меня только в одном экземпляре. Способов выбрать из 10 вариантов 3, 4 и 5 шестерен достаточно много, но какие-то из них, очевидно, следует отбросить из-за геометрических соображений. Понадобится фильтр, пропускающий только подходящие наборы шестерен. После фильтрации наверняка останется много комбинаций, которые будут давать одинаковый шаг подачи, не отличаясь при этом схемами зацепления и наборами шестерен, т.е. будут эквивалентные перестановки. От них тоже следует избавиться.

Не раздумывая, программировать решил на JS, хотя мог и на C++, но в своей практике я ещё не сталкивался с задачей, которую нельзя было бы решить в браузерном JS, когда дело не доходит до сброса данных на диск. В этом способе меня привлекает минимализм и достаточность инфраструктуры, блокнот и браузер, всё остальное лишне. Язык дает алгоритмизацию, браузер – графический интерфейс, интерпретатор и отладчик. Любую библиотеку можно либо быстро написать самому, либо найти и скачать. Когда не занимаешься промышленным или коммерческим программированием, то достаточно, просто, универсального калькулятора.

Генератор размещений я нашел и адаптировал быстро. Его назначение в программе переставлять индексы массива, в котором будут храниться экземпляры шестерен. Здесь в функции search генерируются размещения, а прошедшие фильтр запихиваются в массив result функцией test. Кроме того, в последней функции вычисляется подача. Для определенности обозначим все шестерни так, как на рисунке.


Выпишем формулы для расчета подачи, как функции шага вала подачи и числа зубов шестерен для каждой из схем зацепления:


Чтобы разработать фильтр следует поподробнее остановиться на геометрических параметрах гитары. Оси шпинделя, вала и верхней промежуточной шестерни образуют треугольник.

Сторона L которого измеряется непосредственно, а остальные вычисляются из радиусов шестерен. Радиус шестерен меньше их наружного радиуса на величину перехлеста при зацеплении. Поскольку шестерни изготовлены не идеально, величину перехлеста следует установить эмпирически. Перехлест должен быть таким, чтобы обеспечивал зацепление, но предотвращал заклинивание шестерен. В моём случае он оказался равен 1 мм. На сторону S накладывается следующее ограничение, ось верхней промежуточной шестерни не должна касаться шкива шпинделя. Она измеряется непосредственно, когда направляющая с осью верхнем положении повернута максимально близко к шпинделю, ось при этом должна почти касаться шкива. Расстояние V не может быть больше дистанции между осью вала и верхней промежуточной осью, отодвинутой до упора вверх по пазу. Также следует наложить ограничение на угол между L и V. Повернув рейку без шестерен и осей максимально близко к шпинделю, измерить или вычислить расстояние S между осью шпинделя и верхней точкой направляющей и рассчитать угол по формуле


Здесь V это расстояние от оси вала до верхней точки направляющей, а не до верхней точки паза (это может быть произвольная точка рельсы, главное, чтобы расстояния V и S измерялись до неё). По этой же формуле будет вычисляться угол при тестировании, но расстояния S и V будут зависеть от радиусов шестерен.


Кроме этого, шестерня B не может быть больше A, а C не может быть больше, чем D. D не должна касаться вала, а C не должна цепляться за A, при зацеплении B и D.

После того, как список удачных комбинаций построен следует избавить его от избыточности с помощью функции eliminate. Это осуществляется простым поиском уникальных в каком-либо отношении решений. Можно использовать уникальность шага, или уникальность набора шестерен и тому подобное.

В моем случае получается 751 комбинация, которые отличаются подачей, числом шестерен и их набором. Уникальных подач всего 222. Конечно, многие из них не являются общеупотребительными или вообще не применяются, зато присутствуют дюймовые.


Работая над этим текстом меня не покидала мысль, что способ решения этой задачи находится на уровне 5 класса, о котором даже стыдно рассказывать. Просто в данном случае результат (таблица подач) гораздо важнее способа её получения. Однако, станки, гитары, схемы редукторов, шестерни у каждого могут быть разными и не плохо было бы иметь в виду хотя бы один из подходов к построению такой таблицы.

В заключение привожу полный текст скрипта, который снабжен достаточным количеством комментариев, учитывая вышеизложенное.

Скрытый текст
<!DOCTYPE html>
<html>
<body>
<div>
<textarea id="out"></textarea>
</div>
<div><button onclick="calc()">Calc</button></div>
<script>
var out = document.getElementById("out");
out.style.width  = '600px';
out.style.height = '500px';

// Класс шестеренок
function gear(n,r){
  var overlap = 1.0;//полуперекрытие зубьев при зацеплении
  this.n      = n;//число зубьев
  this.r      = r - overlap;//радиус
  this.R      = r;
}
//Создаем шестерни
var gears    = [
new gear(40,20.50),//на шпинделе
new gear(20,10.90),
new gear(24,12.85),
new gear(30,15.95),
new gear(35,18.50),
new gear(40,21.00),
new gear(52,26.90),
new gear(60,30.85),
new gear(72,36.90),
new gear(80,40.95),
new gear(84,43.00)
];

var sh_sp      = 154.0,//ось вала - ось шпинделя (база)
    sh_rail    = 134.5,//ось вала - верхняя точка рейки
    sp_rail    = 24.0;//ось шпинделя - верхняя точка рейки при касании

//минимальный угол между базой и рейкой
var alfa_min   = Math.acos((sh_rail*sh_rail+sh_sp*sh_sp-sp_rail*sp_rail)/
                                     (2*sh_rail*sh_sp));

var shaft_step = 2.0,//mm
    sp_oa_min  = 45.0,//минимальное расстояние между осью шпинделя 
                      //и верхней промежуточной осью
    sh_oa_max  = 116.0;//максимальное расстояние между осью вала 
                       //и верхней промежуточной осью

//Генератор размещений без повторений из множества n чисел по m штук
function nextVar(a, n, m){
  var j, s;
  do{//ищем следующее размещение
    j = n - 2;
    while (j != -1 && a[j] >= a[j + 1]) j--;
    if (j == -1)
      return false; //размещений больше нет
    var k = n - 1;
    while (a[j] >= a[k]) k--;
    s = a[j]; a[j] = a[k]; a[k] = s;//swap(a, j, k);
    var l = j + 1, r = n - 1;//сортируем оставшуюся часть последовательности
    while (l < r){
      s = a[l]; a[l] = a[r]; a[r] = s;//swap(a, l++, r--);
      l++; r--;
    }  
  } while (j > m - 1);
  return true;
}
//
//    Sp
//    A B
//    C D
//    ShSh
//
function test(a,v,result){
  var  Sh,  D,  C,  B,  A,  Sp, step, d = 1000;
  switch(v){
    case 0:// III
      Sh = gears[a[0]];//на валу
      C  = gears[a[1]];
      D  = C;
      A  = gears[a[2]];
      B  = A;
      Sp = gears[0];//шпиндель
      //Вычисляем шаг для данного набора и округляем его
      step = Math.ceil(d*shaft_step*Sp.n/(Sh.n))/d;
    break;
    case 1:// IV
      Sh = gears[a[0]];//на валу
      D  = gears[a[1]];
      C  = D;
      B  = gears[a[2]];
      A  = gears[a[3]];
      Sp = gears[0];//шпиндель
      //Вычисляем шаг для данного набора и округляем его
      step = Math.ceil(d*shaft_step*Sp.n*B.n/(A.n*Sh.n))/d;
    break;
    case 2:// IV
      Sh = gears[a[0]];//на валу
      D  = gears[a[1]];
      C  = gears[a[2]];
      A  = gears[a[3]];
      B  = A;
      Sp = gears[0];//шпиндель
      //Вычисляем шаг для данного набора и округляем его
      step = Math.ceil(d*shaft_step*Sp.n*D.n/(C.n*Sh.n))/d;
    break;
    case 3:// V
      Sh = gears[a[0]];//на валу
      C  = gears[a[1]];
      D  = gears[a[2]];
      B  = gears[a[3]];
      A  = gears[a[4]];
      Sp = gears[0];//шпиндель
      //Вычисляем шаг для данного набора и округляем его
      step = Math.ceil(d*shaft_step*Sp.n*B.n*C.n/(A.n*D.n*Sh.n))/d;
    break;
    default: return false;
  }
  //
  var S = Sp.r + A.r;
  var V = Sh.r + D.r + C.r + B.r;
  var L = sh_sp;
  //направляющая гитары не должна поворачиваться слишком близко к шпинделю
  if(Math.acos((V*V+L*L-S*S)/(2*V*L)) < alfa_min) return false;
  //ось AB не должна касаться шкива
  if(S < sp_oa_min) return false;
  //ограниченная длина направляющей гитары для оси AB
  if(V > sh_oa_max) return false;
  //шестерня A должна доставать до шестерни шпинделя
  if(S + V <= L) return false;
  //шестерня B не должна быть больше чем A
  if(B.r > A.r) return false;
  //шестерня C не должна быть больше чем D
  if(C.r > D.r) return false;
  //шестерни C и D не должны задевать ось вала
  if(D.r != C.r)
    if(Sh.r-9.0 < D.R-C.r) return false;
  //шестерня A не должна задевать шестерню C при зацеплении B и D
  if(D.r != C.r)
    if(A.R-B.r >= D.r-C.R) return false;
  //
  switch(v){
    case 0: result.push([step,1,Sh.n,C.n,A.n]);         break;// III
    case 1: result.push([step,2,Sh.n,D.n,B.n,A.n]);     break;// IV
    case 2: result.push([step,3,Sh.n,D.n,C.n,A.n]);     break;// IV
    case 3: result.push([step,4,Sh.n,C.n,D.n,B.n,A.n]); break;// V
  }
  //
  return true;
}
//Поиск удачных комбинаций
function search(result){
  var k = [3,4,4,5];//число шестерен в наборе
  for(var v=0;v<4;v++){
    var G = [1,2,3,4,5,6,7,8,9,10];
    do{
      test(G,v,result);//фильтрация комбинации
    } while (nextVar(G, 10, k[v]));
  }
}
//Устранение избыточности
function eliminate(result){
  //используем входной массив сразу в качестве выходного
  var J = 1, I = result.length;
  for(var i=1;i<I;i++){
    var f1 = true, f2 = true, f3 = false;
    for(var j=0;j<J;j++){
      if(result[j][0] == result[i][0]){//если шаги равны
        f1 = false;
        if(result[j].length == result[i].length){//если количества шестеренок равное
          f2 = false;
          var a1 = result[j].slice().sort();
          var a2 = result[i].slice().sort();
          for(var n=0;n<a1.length;n++)
            if(a1[n] != a2[n]){
              f3 = true;//наборы разные
              break;
            }
        }
      }
    }
    if(f1)//уникальный шаг
    //if(f1 || f2 || (!f2 && f3))//уникальные комбинации
      result[J++] = result[i];
  }
  result.splice(J, I-J);//удалим лишние и упорядочим по подаче
  result.sort(function(a, b){return a[0]-b[0]});
}
//
function calc() {
  var result = [];
  search(result);
  eliminate(result);
  var a = [];
  for(var i=0;i<result.length;i++)
    a.push(result[i].join("\t"));
  out.value = a.join("\n");
}
</script>
</body>
</html>

Комментарии (51)


  1. raamid
    23.06.2019 16:09
    +5

    Работая над этим текстом меня не покидала мысль, что способ решения этой задачи находится на уровне 5 класса, о котором даже стыдно рассказывать.

    Данная задача входит в состав курсовой работы студентов машиностроительных специальностей ВУЗов, так что не переживайте :)


    1. know_nothing
      24.06.2019 15:33

      Работая над этим текстом меня не покидала мысль

      Зато грамматика примерно на этом уровне.

      «Подъезжая к сией станцыи и глядя на природу в окно, у меня слетела шляпа. И. Ярмонкин».


  1. SovietTwins
    23.06.2019 18:10

    Шикарная работа. И материал подан шикарно.
    На практике выбираются пары исходя из самых распространённых шагов резьб. А также — для крупных шагов — соблюдается условие максимального момента на шестернях. Тоесть стараемся по-минимуму использовать тонкие шестерни, которые может слизать в случае нештатной ситуации. А вообще, я бы воткнул на подачу серву. И забыл бы о этих шестерёнках как о страшном сне. Потомучто это очень неудобно. Резать мне приходится реально много. И резьбы тоже. Особенно неудобно прогонять резьбу без расцепления с маточной гайкой.


  1. poznawatel
    23.06.2019 18:15

    Любители резать металл, бывает, делают «электронную гитару», используя шаговый двигатель и что-то типа pyboard. Усилия интеллекта сопоставимы, а удобство использования и универсальность окупает денежные затраты


  1. Elmot
    23.06.2019 18:35

    а сколько стоило китайское чудо?


    1. QwertyOFF
      23.06.2019 20:06
      +2

      С доставкой выходит около 40 т.р. Если честно, заставляется задуматься в сторону покупки ТВ-4.


      1. VolodjaT
        23.06.2019 23:56

        Слышал не раз мнения что китайские хоббийные станки таки точнее тв 4.


        1. Moskus
          24.06.2019 02:38

          О точности китайских станков можно говорить только в виде графика распределения. Те, кто потратил деньги и получил полное дерьмо, чаще всего или не говорят об этом, либо врут о качестве. Что не означает, что приличных — не бывает. Бывают, но реже, чем кажется.


        1. QwertyOFF
          24.06.2019 07:16

          Не думаю что все так однозначно, скорее всего к ТВ-4 придется приложить руки, посмотрите на станок того же Негоды на Ютубе и что у него получается сделать. Возможно если задача точить маленькие "пиптики", то китаец будет предпочтительнее в плане купил и работай.


          1. SovietTwins
            25.06.2019 11:34

            Как "счастливый" обладатель китайского станка, могу сказать одно. ТВ-4 намного лучше. Вы думаете до китайского станка приложить рук не надо? Он точный первые 20 часов. Потом вылазят ВСЕ косяки завода. Незакалённые направляющие, кривые пазы под смазку, дерьмовая бронза на гайках сцепления. Безобразнейшее исполнение оных. Куча люфтов, куча заусенцев которые царапают направляющие станка. Отсутствие пыльников направляющих. Шестерни из говна без поверхностной закалки. Хреновые подшипники шпинделя и система смазки шпинделя "из масляной ванны". Ну ещё разбалтывающиеся ручки, совместно с самыми дерьмовыми задними бабками (на всех китайских станках без исключения). Патрон который хрен нормально расточишь тоже не забудем. Ибо т. н. Улитка там (спираль) тоже нихрена нормально не закалена и не упрочнена.
            ТВ-4 тоже требует приложения рук. Порой — очень серьёзных. Реально рекомендую поставить противовес. Но оно окупится. А на китайских станках приходится фактически делать новый станок.


        1. Krokodilewhile
          24.06.2019 18:50

          Если коротко, то тема «точности» это моветон.
          1 — в отрыве от требований к конкретной детали, разговор о точности вообще лишен смысла
          2 — способность изготовить деталь нужного размера зависит не только от станка
          3 — для бытовых/хоббийных нужд хватит любой «точности»

          А проблема настольных китайцев только в низкой производительности при черновой обработке больших деталей. Там где на твшке делаешь поверхность за 2 минуты, на китайце будешь час елозить.


          1. Moskus
            24.06.2019 19:54

            2 — это очень лукавое утверждение, потому что, конечно, очень многое зависит от оператора, но если станок имеет деформированные направляющие, болтающиеся подшипники и так далее, время на изготовление детали нужного размера возрастает очень резко, а после какого-то момента это вообще не имеет практического смысла. Остаётся только совершенно не практический, вроде "хочу во что бы то ни стало сделать сам".


      1. ZvookieJoo
        24.06.2019 08:22

        1И611П можно купить в нормальном состоянии, за чуть большие деньги чем ТВ-4, а возможностей становится больше в разы.


        1. QwertyOFF
          24.06.2019 08:45

          Если считать что чуть больше равняется примерно 100 т.р. Станок популярный, и должно неплохо повезти для того, чтобы он попался дёшево в нормальном состоянии.


          1. ZvookieJoo
            24.06.2019 09:06

            Так же, как и для того, чтобы найти не ушатанный ТВ-4. Найти станок в хорошем состоянии и с низкой ценой — куда менее тривиальная задача, чем, скажем, автомобиль.

            Но, у 611-го, всё же, куда больше преимуществ перед ТВ-4: больше комбинаций подач, больше шагов резьб. Можно недлинные ходовые винты резать, что открывает неплохие возможности по изготовлению всякой кинематики.


        1. Manikvd
          24.06.2019 15:33

          1и611п это конечно круто, но его некорректно сравнивать с настольными станками. Не то что на балконе, не в каждом гараже поставишь. 380в опять же нужно. Так то 1к62 можно найти за тысяч за 150.
          А по поводу сравнения ТВ4 vs MML 1830, емнип, у того же Негоды на канале есть ролик. Суть вот какая:
          Советские некростанки — очень сильно зависит от состояния конкретного экземпляра.
          Может потребовать серьезных доработок.За проход снимает больше. Качество обработки — хуже, чем у китайца.
          Китаец — Работает из коробки, но повышения качества/удобства требует напилинга. Нужна жесткая установка — иначе будет биение при работе отрезными резцами.


          1. ZvookieJoo
            24.06.2019 16:19

            Токарники этих габаритов спокойно ставятся на резинометаллические виброопоры, позволяющие выставить станок по уровню. 611-й переделывается под конденсаторный пуск за один-два вечера и спокойно работает на однофазном питании. Да, у него ослабнет электродинамическое торможение, но оно и на трёхфазном питании не особо дерзкое.

            Зато 611-й при нормальных подшипниках на шпинделе и правильно подобранном инструменте может дать хорошую чистоту обработки «из-под резца».


      1. ProLimit
        24.06.2019 13:01

        TB-4 помещается на столе? Для обустройства домашней мастерской в квартире — китайские станочки вне конкуренции.


        1. QwertyOFF
          24.06.2019 13:31

          Я слабо представляю как можно держать токарный, даже такой, в квартире, разве что у вас есть комната, которую совсем не жалко. А в целом спору нет, это отличный вариант за свои деньги, если он позволяет сразу после покупки заниматься работой, а не тюнингом, как это бывает с большинством китайских станков такой ценовой категории.


          1. sim3x
            24.06.2019 14:36

            Вот человек в хруще занимается таким в квартире
            www.youtube.com/watch?v=zxeW3ipJAT8&list=PL-xV9O5npHosB_-XTqW1vUgYuHRSUP9Uf

            ИМО токарный без тюнинга — странная вещь. Проще тогда заказать готовое изделие


            1. Superl3n1n
              24.06.2019 14:58

              А уж в спальне держать токарный (как делает автор на видео по ссылке), я бы точно не стал.


            1. QwertyOFF
              24.06.2019 15:14

              Тюнинг тюнингом, но если ты купил токарный, а он не отрезает, то нафиг он нужен? Вы же не покупаете автомобиль у которого двери открываются, а двигатель не заводится.


              1. sim3x
                24.06.2019 15:28

                Аналогии всегда уводят разговор непонятно куда

                Токарный — сложный агрегат, который требует понимания и настройки, опыта работы и експлуатации
                И он вполне может сходу не_отрезать. Например из-за того что нет расходников


          1. xshura
            24.06.2019 16:25

            Я слабо представляю как можно держать токарный, даже такой

            Можно даже два :) Друг над другом.
            Вот так
            Принтер временно поставлен.
            А тумба на которой станки стоят, может опускать шасси колеса и в итоге её можно передвигать.


            1. Krokodilewhile
              24.06.2019 20:29

              Мне привиделось, или за этим токарным предполагается работать лёжа? :)


              1. xshura
                24.06.2019 22:54

                Ну… на маленьком стульчике. А куда деваться :)


    1. Moskus
      23.06.2019 21:03

      Подтверждаю, дешевые токарные мини-станки — чудовищны. Собрать из приличных частей лучше (с электронным, а не механическим управлением) — дешевле и эффективнее.


      1. VolodjaT
        24.06.2019 00:14

        А станина разве отдельно продается?


        1. Moskus
          24.06.2019 02:35

          Я вам по секрету скажу — станина именно в виде здоровой литой детали для станка не обязательна. Это только один из вариантов конструкции токарного станка.


        1. Moskus
          24.06.2019 03:04

          1. radonit
            24.06.2019 08:20

            Это то что по русски называют полимербетон?


            1. Moskus
              24.06.2019 08:35

              Да.


      1. Krokodilewhile
        24.06.2019 18:39

        Это конечно смелое заявление, а главное — аргументированное :)


        1. Moskus
          24.06.2019 19:21

          А мне стесняться нечего. Что касается аргументов — а как вы себе это представляете здесь? Если я, например, приведу собственную статистику, как вы её собираетесь проверять? Никак. Полностью независимых сторонних исследований такой темы нет и быть не может.


          1. Krokodilewhile
            24.06.2019 19:59

            Например в виде ответа на вопрос — «почему китайские станки — чудовищиные», с списком причин, почему сложилось такое мнение.
            Это будет личное мнение, и это будет интересно :)


            1. Moskus
              24.06.2019 20:21

              Но это не будет, в строгом смысле, аргументацией, потому что качественная аргументация — это безусловные факты.
              Да и не знаю, зачем в сотый раз повторять одно и то же: использования неподходящих материалов, ведущее к преждевременному износу, непредсказуемое качество изготовления (брак не отсеивается), неравномерная жесткость узлов (что-то — дубовое, а что-то — на соплях). Повезло в лотерею с конкретным экземпляром — всё чудесно, нет — проще выбросить, чем чинить.
              А что до "для хобби точность не нужна" — ну тогда вообще непонятно о чем речь, потому что если результат не имеет значения, то это не хобби даже, а какой-то онанизм, лишь бы мотор жужжал и стружки летели.


              1. Krokodilewhile
                24.06.2019 20:33

                Хз. На ютубе можно найти примеры работ, сделанных на абсолютно пластилиновом станке «таиг». С работами всё ок, сложно назвать их онанизмом.


                1. Moskus
                  24.06.2019 20:40

                  Мне кажется, или вы действительно не понимаете, что частные примеры не могут опровергнуть общую тенденцию? Ну так вот частные примеры никак не противоречат тому, что я сказал выше — иногда они бывают приличными.
                  Если делать что-то, что не предполагает последующую сборку, точность размеров, безусловно, не нужна. Если оно предполагает, то время на изготовление таких деталей на станке, который не обеспечивает повторяемость, растет до неразумного.


            1. Moskus
              24.06.2019 20:24

              Меня звали в Китай работать раза три, правда — не станки делать, а инструмент, на инженерную должность. С таким подходом, как на тамошнем производстве, я их послал куда подальше, и просил другим передать, как говорится.


  1. firedragon
    23.06.2019 21:36

    Респект. Уж не знаю что, но эта история реально подняла настроение. Автору успехов в ловле 100'ок
    И тюнинге станка


  1. xshura
    23.06.2019 21:42

    Этот сайт, надеюсь знаете?
    Много информации по станкам и металлообработке.


    1. av_0
      23.06.2019 22:43

      А ещё youtube канал Дядьки Максима. Супер коллекция практической информации по металлобработке. Но на украинском языке (многие там его и учатся понимать :) )


  1. BubaVV
    23.06.2019 22:43
    +1

    … а я согнул крючок в форме интеграла и достал


  1. ehots
    24.06.2019 09:53

    Статья порадовала, но из названия сложилось впечатление, что автор будет писать софт, для работы самого станка, а не для расчетов.
    Вроде не кликбейт, статья душевная, но ложное впечатление из названия создалось.


    1. Zanak
      24.06.2019 11:57

      Прочел статью только из желания возразить, а возражать особо и нечему. Статья про станок, конкретную проблему, и ее решение автором. JavaScript здесь легко может быть заменен на любой другой язык.


      1. ehots
        25.06.2019 07:14

        Триггер сработал и у меня)


      1. legolegs
        25.06.2019 17:44

        Да, я тоже обеспокоился из-за заголовка. Ожидал, что из-за особенностей JS у автора выточится треугольный вал и резьба с шагом NaN.


  1. kolyuchii
    24.06.2019 14:17

    В этом способе меня привлекает минимализм и достаточность инфраструктуры, блокнот и браузер, всё остальное лишне. Язык дает алгоритмизацию, браузер – графический интерфейс, интерпретатор и отладчик. Любую библиотеку можно либо быстро написать самому, либо найти и скачать. Когда не занимаешься промышленным или коммерческим программированием, то достаточно, просто, универсального калькулятора.


    Комрад, не надо извиняться. Мы такие же как и они!)))


  1. nev3rfail
    24.06.2019 15:42

    Я, судя по всему, ищу не тем местом, но у меня находятся только RL-180V и WM-180M.
    Можно ссылку на лично ваш агрегат?


    1. majahead Автор
      24.06.2019 15:45

      Вы правы, в описании продавца не указана модель, но на станке надпись есть. Видимо, очередной клон. https: //ru.aliexpress.com/item/32888672225.html


  1. OldGrumbler
    26.06.2019 21:20

    Для подобного (но малость попроще — всего 4 шестерни и 2 варианта в гитаре) станка я просто рассчитал все возможные комбинации с учетом возможности их сборки. Упорядочил по шагу и держу текстовым файликом на случай нестандартных резьб (например, если нужно сделать дюймовую резьбу с допустимым в сотку-другую приближением).