Кто хочет порисовать в OpenScad и внести посильный вклад в опенсорсы?

Vitaly

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

Пока у меня накопились следующие замечания:

  1. Нет нормальных держателей для контроллера AZSMZ
  2. Держалка LCD AZSMZ так себе
  3. Бокс для гнезда 220v со встроенным выключателем и предохранителем сделан откровенно коряво.
  4. Голову и каретки под магнитные тяги лучше бы сделать настраиваемыми, с опциональными хвостами под оптические концевики и т.п.

Мне было бы интересно, чтобы это все было в openscad, с выкладыванием на гитхабе и т.п. OpenScad - чтобы на thingverse можно было настраивать параметры из их кастомайзера.

От себя могу предложить денежные призы за улучшение мира. Ну и помощь с гитхабом и т.п., если понадобится.

8 days later
Vitaly
vtoryh:

Что значит нормальный держатель для azsmz?

Ну вот так. Нету грамотно сделанных. Есть только www.thingiverse.com/thing:913842, но там отверстия под рельсу криво стоят, пол цеплять будет если без ножек.

vtoryh:

вот 2 варианта для LCD

При этом первый (белый) на направляющие не закрепить, а у второго нет ручки в комплекте. Второй у меня уже распечатан, перекантоваться.

vtoryh:

3 пункт програмится за 30 минут.

Welcome. У меня пока распечатан этот www.thingiverse.com/thing:1000217, там из косяков:

  • требуются длинные винты, и расстояния не под коссель (надо бы настраиваемые)
  • нельзя поставить блок на защелках (только ушастый, на винтах)
  • нет задней крышки с отверстием под провода
vtoryh
Vitaly:

Ну вот так. Нету грамотно сделанных. Есть только www.thingiverse.com/thing:913842, но там отверстия под рельсу криво стоят, пол цеплять будет если без ножек.

Ну мне интересно что значит “грамотно сделанный”? условия так сказать. 😃

Vitaly:

При этом первый (белый) на направляющие не закрепить, а у второго нет ручки в комплекте. Второй у меня уже распечатан, перекантоваться.

Первый я сам рисовал, написал же, могу дать исходники, не жалко.

Vitaly:
  • требуются длинные винты, и расстояния не под коссель (надо бы настраиваемые)
  • нельзя поставить блок на защелках (только ушастый, на винтах)
  • нет задней крышки с отверстием под провода
  1. Используйте переменные
  2. а если уши по бокам сделать? либо углубление под шляпку до самого низу?
  3. зачем крышка если сзади профиль?
Vitaly:

Welcome.

сделать то недолго, но я не понимаю что делать. 😃

P.S: Так сказать выкатите ТЗ. Либо я, либо кто-нибудь да сделает. Хотя я уже на солид перешел. там гораздо удобнее.

Vitaly
vtoryh:

Ну мне интересно что значит “грамотно сделанный”? условия так сказать.

У меня нет четкого ТЗ. Есть только список того, что не нравится сейчас. Прописывать что конструкция не должна цеплять пол - это по-моему за гранью добра и зла уже.

Единственные разумные условия - чтобы крепилось на профиль 2020, и не требовало килограммов пластика. Какие могут еще нюансы вылезти - не знаю, я не конструктор.

vtoryh:
  1. а если уши по бокам сделать? либо углубление под шляпку до самого низу?

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

vtoryh:
  1. зачем крышка если сзади профиль?

Сзади 2 планки профиля, а между ними здоровая щель. Оставлять такое при 220в внутри - не очень хорошо. Полноценной крышки не надо, хватит накладки, которая к профилю прижмется.

vtoryh:

Так сказать выкатите ТЗ. Либо я, либо кто-нибудь да сделает.

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

vtoryh:

Хотя я уже на солид перешел. там гораздо удобнее.

На thingverse для кастомайзера нужен openscad, поэтому тут без вариантов.

vtoryh

Все равно не понимаю зачем такие вещи делать для кастомайзера.
Профиль он для все один. 😃

Vitaly

Расстояния между профилями разное (между крепежными отверстиями). Блок с выключателем разный (с ушами и без). Для головы - диаметры магнитов разные. И т.п.

А еще это нравится лично мне и я готов на это выделить какую-то денежку. Чтобы получился качественный “продукт”. То что есть сейчас, называется “на халяву и уксус сладок”. Я предпочитаю более основательный подход (на гитхабе можно посмотреть).

Ну и разобраться с openscad и кастомайзером тоже интересно.

vtoryh

А у меня грусть печаль… поставил внешнюю видяху чтобы солид лучше работал, теперь опенскад после F6 вылетает нафик. 😦
То есть рисовать могу, а сохранять stl нет. 😦

ADF

(прошу простить за частичный оффтоп)

  • Проверить openGL драйвера: это одно из первых, что опенскаду может не понравиться;
  • Воткнуть опенскад на другую машину или на виртуальную машину.
  • Ещё есть openjscad.org
vtoryh

Да пофик на него. Я на солид перешел, опенскад для изменения старых проектов разве что. А вот за веб спасибо.

15 days later
Vitaly

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

Нужен просто грамотный конструктор с опытом промдизайна. В смысле, которой сам знает что такое эргономика, что узлы 220 вольт желательно закрывать целиком, и про специфику 3d-печати.

ADF

ИМХО нормальные модели под обозначеные задачи может сделать лишь тот, кто для себя такие же задачи решает и реально собирает такой-же принтер. Даже у опытных моделлеров бывают косяки и требуется доработка после пары испорченых прототипов.
Модели, нарисованые абстрактно - почти наверняка получатся сырыми: тому, что решит реально напечатать и пустить в дело придётся дебажить это самому, выкинув в мусорку несколько косячных билдов.

Vitaly

Когда появится грамотный конструктор, все нюансы я обсужу с ним лично. Рассуждать просто так - не вижу смысла.

22 days later
Vitaly

Фотачки бокса под выключатель:

  • На морде 6 (!) винтов. Грёбаный стыд…
  • Крепление винтами 35мм. Экзотика и целиться неудобно.
  • Контакты сетевого гнезда подходят подозрительно близко к направляющим. Автор наверное бессмертный. Паять такое сцыкотно, а если делать изолированные клеммы как на фотке - провода между направляющих выступают.
  • Ну и общий внешний вид как у табуретки.

Предложение порисовать в чем угодно - в силе.

vtoryh

Вот вам не спится спокойно. 😃
Вот накидал по быстрому на переменных. могут быть ошибки. усложнять условиями не стал.

$fn=50;
mount_distance=15;
connector_x=48;
connector_y=28;
connector_z=30;
connector_screw=6;
connector_space_x=5;
connector_space_y=5;
curve=5;
mount_row=10; //смещение от центра для винтов крепления под профиль 2040


module top(){
difference(){
hull(){
translate([-connector_x/2-connector_space_x-mount_distance,mount_row,0]) cylinder(d=12, h=4);
translate([connector_x/2+connector_space_x+mount_distance,mount_row,0]) cylinder(d=12, h=4);
translate([-connector_x/2-connector_space_x-mount_distance,-mount_row,0]) cylinder(d=12, h=4);
translate([connector_x/2+connector_space_x+mount_distance,-mount_row,0]) cylinder(d=12, h=4);

translate([connector_x/2+connector_space_x,-connector_y/2-connector_screw-connector_space_y,0]) cylinder(d=curve, h=1);
translate([connector_x/2+connector_space_x,connector_y/2+connector_screw+connector_space_y,0]) cylinder(d=curve, h=1);
translate([-connector_x/2-connector_space_x,-connector_y/2-connector_screw-connector_space_y,0]) cylinder(d=curve, h=1);
translate([-connector_x/2-connector_space_x,connector_y/2+connector_screw+connector_space_y,0]) cylinder(d=curve, h=1);

translate([connector_x/2+connector_space_x,-connector_y/2-connector_screw-connector_space_y,connector_z]) sphere(d=curve);
translate([connector_x/2+connector_space_x,connector_y/2+connector_screw+connector_space_y,connector_z]) sphere(d=curve);
translate([-connector_x/2-connector_space_x,-connector_y/2-connector_screw-connector_space_y,connector_z]) sphere(d=curve);
translate([-connector_x/2-connector_space_x,connector_y/2+connector_screw+connector_space_y,connector_z]) sphere(d=curve);
}
translate([-connector_x/2-connector_space_x-mount_distance,mount_row,-1]) cylinder(d=3, h=connector_z+curve);
translate([connector_x/2+connector_space_x+mount_distance,mount_row,-1]) cylinder(d=3, h=connector_z+curve);
translate([-connector_x/2-connector_space_x-mount_distance,-mount_row,-1]) cylinder(d=3, h=connector_z+curve);
translate([connector_x/2+connector_space_x+mount_distance,-mount_row,-1]) cylinder(d=3, h=connector_z+curve);

translate([-connector_x/2-connector_space_x-mount_distance,mount_row,3]) cylinder(d=7, h=connector_z+curve);
translate([connector_x/2+connector_space_x+mount_distance,mount_row,3]) cylinder(d=7, h=connector_z+curve);
translate([-connector_x/2-connector_space_x-mount_distance,-mount_row,3]) cylinder(d=7, h=connector_z+curve);
translate([connector_x/2+connector_space_x+mount_distance,-mount_row,3]) cylinder(d=7, h=connector_z+curve);

translate([-connector_x/2,-connector_y/2,-1]) cube([connector_x,connector_y,connector_z+curve]);
translate([-connector_x/2-connector_space_x,-connector_y/2-connector_screw-connector_space_y,-1]) cube([connector_x+connector_space_x*2,connector_y+connector_screw*2+connector_space_y*2,connector_z]);

if (connector_screw>0) {
translate([0,-connector_y/2-connector_screw,-1]) cylinder(d=3, h=connector_z+curve);
translate([0,connector_y/2+connector_screw,-1]) cylinder(d=3, h=connector_z+curve);
}
}
}
module bottom(){
difference(){
hull(){
translate([-connector_x/2-connector_space_x-mount_distance,mount_row,0]) cylinder(d=12, h=2);
translate([connector_x/2+connector_space_x+mount_distance,mount_row,0]) cylinder(d=12, h=2);
translate([-connector_x/2-connector_space_x-mount_distance,-mount_row,0]) cylinder(d=12, h=2);
translate([connector_x/2+connector_space_x+mount_distance,-mount_row,0]) cylinder(d=12, h=2);

translate([connector_x/2+connector_space_x,-connector_y/2-connector_screw-connector_space_y,0]) cylinder(d=curve, h=2);
translate([connector_x/2+connector_space_x,connector_y/2+connector_screw+connector_space_y,0]) cylinder(d=curve, h=2);
translate([-connector_x/2-connector_space_x,-connector_y/2-connector_screw-connector_space_y,0]) cylinder(d=curve, h=2);
translate([-connector_x/2-connector_space_x,connector_y/2+connector_screw+connector_space_y,0]) cylinder(d=curve, h=2);
}
translate([-connector_x/2-connector_space_x/2-mount_distance,mount_row,-1]) cylinder(d=3, h=connector_z+curve);
translate([connector_x/2+connector_space_x/2+mount_distance,mount_row,-1]) cylinder(d=3, h=connector_z+curve);
translate([-connector_x/2-connector_space_x/2-mount_distance,-mount_row,-1]) cylinder(d=3, h=connector_z+curve);
translate([connector_x/2+connector_space_x/2+mount_distance,-mount_row,-1]) cylinder(d=3, h=connector_z+curve);
}
}
top();
translate([0,(connector_y+connector_space_x)*2,0]) bottom();

Отверстие под кабель сами добавьте где вам нравится, по высоте разъем с проводами не мерил, измените как нужно.

Vitaly
vtoryh:

Вот накидал по быстрому на переменных. могут быть ошибки. усложнять условиями не стал.

Спасибо! А можете подкрутить несколько вещей когда будет время?

  • Расстояние между отверстиями крепления - нужно в 2 раза больше (сейчас похоже на рейку 2040, а надо на 2060, 40мм)
  • На морде (где выключатель), можно чуть сильнее закруглить левый и правый край?
  • В задней крышке от верха до середины нужен паз для проводов. Лучше если контуром с перемычками, чтобы юзер сам выламывал.
  • IMHO cаму заднюю крышку лучше не винтами выставлять, а сделать для нее углубление по контуру (когда коробка прижмется, крышка ни куда не денется).

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

vtoryh

Кроме центровки задней крышки и проводов все параметрами регулируется.
Морду не надо переворачивать. печатайте как есть… а внутри поддержки…
внутри все равно не видно, так наплевать на следы от поддержек.
Центровка задней крышки выступами избыточна, так как при переливе она не закроется и придется дорабатывать напильником, а при большом зазоре будет опять же болтаться… винтами самое простое и эффективное. Это не первый мой корпус. 😃

Vitaly

Ок. Эксперименты с углублением крышки сделаю сам. Это только в пословицах умные учатся на чужих ошибках - свои доходят намного лучше 😃.

Вот еще вопросы:

  • Можно поменять косые боковушки на просто открытые уши под прямым углом как тут (но со скруглением)?
  • Сейчас радиус скругления общий для всего. Можно сделать больший (отдельный) радиус для левого-правого края морды? (и такой же для перехода на уши)
vtoryh

Лехко… Только не совсем понял что нужно… про уши понял, но тогда теряется прочность конструкции(может в этом месте расслоиться и отвалится например если заденете чемто) и выглядеть будет похуже на мой взгляд…
итак… про уши что значит скругление и радиус перехода на уши?