Модель разделения, выдалбливания и нарезания резьбы OpenSCAD / FreeCAD

На днях мне пришла в голову мысль, что иметь твердую или полую 3D-печатную модель-это 100% расточительство по отношению к использованию пространства внутри нее для различных модулей, например секретных отсеков, модулей типа солонок/перечниц и т. Д.

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

  1. Разделите любую заданную модель на высоте X с углом Y Z раз (например, разрезав модель пополам и сохранив обе части отдельно).

  2. Сделайте полый отсек внутри модели с рабочими 3D-печатными нитями, торчащими из одной детали, вписывающимися в другую, с определяемой формой, допуском и размером по отношению к размеру деталей (например, цилиндрический скрытый отсек или пространство, в которое помещаются определенные пользовательские модули)

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

, 👍2


1 ответ


2

В OpenSCAD отсутствуют какие-либо средства для выполнения вычислений на результирующей геометрии (полученной из CSG или непосредственно импортированной). У него есть приличный функциональный язык для выражения геометрии в терминах параметров и функций/модулей, но дорога-это один путь; геометрия-это только выход и не возвращается обратно во вход. Так что автоматизация этого полностью в OpenSCAD-это действительно не вариант.

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

Обратите внимание, что в OpenSCAD нет канонического модуля для выполнения потоков. Вы можете либо получить поперечное сечение для вашего профиля резьбы (это можно сделать с помощью кода OpenSCAD), а затем linear_extrude его с помощью twist (хотя для точности требуется очень тонкое деление), либо скинуть многогранник для резьбы. Есть несколько опубликованных модулей для последнего, и у меня есть неопубликованный, который я предпочитаю.


,

Идеальный ответ! Знаете ли вы какой-нибудь простой способ создать этот простой упрощенный процесс преобразования моделей solid .stl в, скажем, секретный отсек внутри них? Могли бы csg.js может быть, это жизнеспособный вариант?, @zerz

Возможно, вы сможете заставить OpenSCAD выводить CSG AST и обрабатывать его с помощью внешних инструментов, или просто выводить файл STL (возможно, проще) и обрабатывать его для принятия решений о том, где размещать вырезы и т. Д., @R.. GitHub STOP HELPING ICE

Хорошо. Я подумываю о создании простой веб-формы, в которую можно загружать файлы твердых моделей и автоматически обновлять их, чтобы можно было выбрать модуль, который идеально вписывается в него при 3D-печати. В настоящее время изучаю [портированные библиотеки OpenSCAD для OpenJSCAD](https://www.thingiverse.com/thing:2307544), кажется многообещающим, но у меня пока нет такого опыта в этой области, поэтому я хотел бы получить какие-либо подсказки, которые помогут собрать его воедино., @zerz