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

Я разрабатываю несколько механизмов просмотреть проекты, и одним из параметров, которые нуждаются в корректировке между принтерами/нитей надбавки между частями, которые должны быть собраны воедино (например, если я хочу "5 мм Диаметр штыря" для крепления двух частей вместе, сколько размером более 5 мм отверстия / на сколько меньше, чем 5 мм штырь нужно).

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

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

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

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

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

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

, 👍8

Обсуждение

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

Вы также можете добавить зазор, используя векторную математику, что-то вроде этого [ l, w, h ] + зазор * [1, 1, 1] для таких объектов, как кубы и тому подобное. И функция resize() весьма полезна., @Evgeny


3 ответа


-2

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

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

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

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


,

Это никоим образом не отвечает на вопрос., @tjb1

@tjb1 Это заставляет вас задуматься о допусках, даже если вы используете лучшее программное обеспечение САПР., @Fernando Baltazar

Вопрос заключается в том, как применять допуски внутри OpenSCAD при кодировании, а не в том, как допуски применяются к реальной детали., @tjb1

@tjb1 Итак, пользователь никогда не будет планировать использовать в реальных деталях?, @Fernando Baltazar

@tjb1 Теперь вопрос изменился на допуск вместо допусков., @Fernando Baltazar

Независимо от того, являются ли это допусками или допусками, вопрос заключается в том, как их применять в коде внутри OpenSCAD, который создает модель, см. Основные пункты вопроса. StackExchange-это не форум, и ваш ответ в значительной степени является рассказом о предыдущей работе, но не ответом на вопрос., @tjb1

@tjb1, Конечно, мой ответ касается допусков, неправильно применяемых из-за недостатка знаний, которые верили в программное обеспечение для выполнения своей работы. Поэтому мой ответ заключается в том, чтобы не передавать работу программному обеспечению, иначе возникнут проблемы с конечным продуктом. Форум? Я держусь подальше от них и не притворяюсь, что участвую или участвую в чем-либо. Я предпочитаю говорить "истории" в компаниях, где я должен руководить, чтобы улучшить его процесс (управление качеством); есть люди, которым не нравятся истории, они должны уйти из компании, потому что они не могут хорошо подходить к целям компании., @Fernando Baltazar


6

Это помогает понять различные аспекты измерений, чтобы вы могли правильно использовать терминологию. Это поможет вам определить ваши переменные в 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

...и, конечно, я был бы первым, кто поддержал бы это... просто дайте мне знать в комментариях, если вы соберетесь это сделать! :), @mac

@mac, это заняло время, но https://3d-printery.ru/topics/19747/what-is-the-difference-between-allowance-and-tolerance/19748#19748, @John Deters


2

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

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

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

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

,

Итак, вы хотите сказать, что вместо использования переменной для всех надбавок вы создаете специальную переменную для каждого измерения в вашей детали? Если нет, не могли бы вы уточнить, в чем разница между вашим подходом и подходом, описанным в самом вопросе? Спасибо! :), @mac

@mac, это правильно. Вы все еще можете использовать этот шаблон с более глобальной переменной допуска, и у вас будет возможность использовать его там, где вы можете, или быть настолько детализированным, насколько вам нужно. Некоторые вещи могут нуждаться в плотной подгонке. У других должна быть какая-то отдача., @Nick Dancer