Существуют ли «лучшие» или, по крайней мере, «общие» методы для обработки разрешений в коде OpenSCAD?

8

Я разрабатываю несколько механизмов с помощью OpenSCAD, и один из параметров, который необходимо настроить между принтерами / нитями, - это допуски между деталями, которые должны быть собраны вместе (например, если я хочу, чтобы «штифт диаметром 5 мм» скреплял две части вместе, насколько больше, чем 5 мм будет отверстия / насколько меньше, чем 5 мм, должен быть штифт).

В настоящее время я подхожу к проблеме, устанавливая глобальную переменную allowanceи вручную используя ее в коде, что-то вроде:

module pin(radius) {
    cylinder(r = radius + allowance)
}

module hole(radius) {
    cylinder(r = radius - allowance)
}

Хотя у меня нет реального опыта в дизайне, поэтому мне интересно, есть ли общие или лучшие практики кодирования для учета допусков при разработке деталей, например:

  • конкретные модули, которые будут использоваться,
  • условные имена для переменных
  • конкретные методы, которые будут использоваться (масштабирование векторов?)
  • условные обозначения (например, использовать только допуски для крепежа, а не для закрепленного предмета)
  • ...?

Чтобы уточнить: я не смотрю на советы о том, как планировать размеры моих проектов. Скорее, я ищу совет о том, как организовать код OpenSCAD, генерирующий их.

макинтош
источник
1
Я подозреваю, что OpenSCAD слишком ниша, чтобы иметь такие соглашения. То, что вы делаете, очень похоже на мои собственные практики.
Мик

Ответы:

5

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

  • Допуск - это количество случайных отклонений или отклонений, разрешенных для данного измерения.
  • Пособие - это плановая разница между номинальным или эталонным значением и точным значением.
  • Клиренс - это намеренное пространство между двумя частями.
  • Помехи - это намеренное совпадение двух частей.

Два других условия

  • Точность - это максимальное изменение размеров между деталями. Машина не может производить детали с более жесткими допусками, чем ее точность.
  • Точность - это размер шагов, на которые способна ваша машина. Это часто путают с точностью.

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

Чтобы спроектировать свой 5 мм штифт и 5 мм отверстие, вы должны понимать точность своей машины. Принтер может печатать штифт размером больше 5 мм или меньше 5 мм. Или это может напечатать отверстие больше 5 мм или меньше 5 мм. Вам нужно будет распечатать несколько булавок и отверстий и измерить разницу между тем, что вы определили, и тем, что вы напечатали. Разница между самыми большими и самыми маленькими измерениями, которые вы проводите, заключается в точности вашей машины. И не забудьте проверить точность ваших размеров X, Y и Z; ваш принтер может иметь разницу между ними, что повлияет на округлость деталей.

Допустим, что точность измерения вашего принтера составляет ± 0,2 мм.

Затем мы переходим к оформлению. Какой минимальный зазор между деталями, которые вы ищете, и какой максимум вы можете принять?

Допустим, вы хотите зазор между шпилькой и отверстием не менее 0,2 мм, но не более 1,0 мм. Так как ваша точность составляет ± 0,2 мм, ваш стержень будет 5,0 ± 0,2 мм, поэтому отверстие должно быть 5,6 мм ± 0,2 мм. Условие минимального допуска: отверстие минимального размера (5,4 мм) и штифт максимального размера (5,2 мм); максимальный допуск - это отверстие максимального размера (5,8 мм) и штифт минимального размера (4,8 мм).

Обратите внимание, что зазор 1,0 мм может быть слишком небрежным для вашего применения. Можно подумать, чтобы уменьшить допуски до 0,05 мм, чтобы уменьшить зазор. Но если ваш принтер не может изготовить деталь, которая соответствует указанным допускам, вам нужно будет найти другой способ изготовления или отделки деталей.

Джон Детерс
источник
Спасибо за предоставление мне правильного словарного запаса английского языка для эффективного общения с другими дизайнерами! Я обновил свой вопрос соответственно. Однако мой вопрос касается именно организации кода OpenSCAD , а не теории и практики надбавок (что я уже понял, хотя и игнорировал правильные английские термины). :) Могу ли я предложить вам создать вопрос в стиле вики (опция, когда вы редактируете вопрос), например, "Каковы различия между допуском и допуском?" и переместить свой текст туда? Это очень полезная информация, но, увы, это не ответ на мой вопрос!
Мак
... и, конечно, я буду первым, кто скажет об этом ... просто дайте мне знать в комментариях, если вам удастся это сделать! :)
Mac
2

Я не знаю о стандарте в Openscad, но я могу поделиться тем, что я сделал в прошлом.

cutoutActualDiameter = 10;
cutoutDiameterClearance = 0.1;
cutoutDiameter = cutoutActualDiameter + cutoutDiameterClearance;

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

Хотелось бы услышать, как другие справляются с этим, хотя.

Ник Дансер
источник
1
Итак, вы говорите, что вместо использования переменной для всех припусков вы создаете специальную переменную для каждого измерения в вашей части? Если нет, можете ли вы уточнить, в чем разница между вашим подходом и подходом, описанным в самом вопросе? Спасибо! :)
Mac
@ Мак это правильно. Вы все еще можете использовать этот шаблон с более глобальной переменной допуска, и у вас будет возможность использовать его там, где вы можете, или быть настолько детализированным, насколько вам нужно. Некоторые вещи могут нуждаться в тесной посадке. Другие должны иметь некоторые дать.
Ник Дансер
-2

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

Несколько лет назад (10 лет) я работал инженером по качеству, и некоторые инженеры-проектировщики жаловались на то, что штифт Dupont не помещается на печатной плате, поэтому они сказали мне, что я должен заставить производство печатных плат увеличить отверстия до более высокого допуска. О чем я должен был сначала спросить у него размер булавки и сказал мне 0,70 мм и размер отверстия 0,80 и максимум 0,90 ммм и максимальный размер штифта? Я спросил, и они гордо сказали мне 0,78 мм, поэтому деталь будет идеально подходить. - О, так что один квадратный штырь 0,78 мм поместится на одно отверстие 0,9 мм, но как насчет диагонального размера? если штифт на более высоком измерении близок к 1,2 мм.

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

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

Фернандо Балтазар
источник
1
Это никак не ответит на вопрос.
tjb1
@ tjb1 Это заставляет задуматься о допусках, даже если вы используете лучшее программное обеспечение для САПР.
Фернандо Балтазар
1
Вопрос заключается в том, как применять допуски внутри OpenSCAD при кодировании, а не в том, как допуски применяются к реальной части.
tjb1
@ tjb1 Итак, пользователь никогда не планирует использовать в реальных деталях?
Фернандо Балтазар
1
Независимо от того, являются ли это допусками или допусками, вопрос заключается в том, как применять их в коде внутри OpenSCAD, который генерирует модель, см. Пункты этого вопроса. StackExchange - это не форум, и ваш ответ - это в основном история о предыдущей работе, но не ответ на вопрос.
tjb1