Модель разделения, выдалбливания и нарезания резьбы OpenSCAD / FreeCAD
На днях мне пришла в голову мысль, что иметь твердую или полую 3D-печатную модель-это 100% расточительство по отношению к использованию пространства внутри нее для различных модулей, например секретных отсеков, модулей типа солонок/перечниц и т. Д.
Поэтому я подумал, что лучший способ добиться этого обтекаемым полуавтоматическим способом-это создать простой скрипт в OpenSCAD / FreeCAD, и мне бы хотелось получить профессиональный вклад в то, как достичь этого точного процесса:
Разделите любую заданную модель на высоте X с углом Y Z раз (например, разрезав модель пополам и сохранив обе части отдельно).
Сделайте полый отсек внутри модели с рабочими 3D-печатными нитями, торчащими из одной детали, вписывающимися в другую, с определяемой формой, допуском и размером по отношению к размеру деталей (например, цилиндрический скрытый отсек или пространство, в которое помещаются определенные пользовательские модули)
Я думаю, что несколько простых, но мощных строк кода OpenSCAD или скрипта FreeCAD должны сделать свое дело, но мои знания в этой области на данный момент ограничены, поэтому любой вклад высоко ценится.
@zerz, 👍2
1 ответ
В OpenSCAD отсутствуют какие-либо средства для выполнения вычислений на результирующей геометрии (полученной из CSG или непосредственно импортированной). У него есть приличный функциональный язык для выражения геометрии в терминах параметров и функций/модулей, но дорога-это один путь; геометрия-это только выход и не возвращается обратно во вход. Так что автоматизация этого полностью в OpenSCAD-это действительно не вариант.
С другой стороны, сделать это вручную довольно легко. Вы можете использовать операции CSG (пересечение или разность), чтобы вырезать модель, вырезать из нее отсек, вырезать резьбу в ней и т. Д., а также (соединение) прикрепить внешние резьбы. Вы просто должны сами решить, как их размер и расположение для вашей модели.
Обратите внимание, что в OpenSCAD нет канонического модуля для выполнения потоков. Вы можете либо получить поперечное сечение для вашего профиля резьбы (это можно сделать с помощью кода OpenSCAD), а затем linear_extrude
его с помощью twist (хотя для точности требуется очень тонкое деление), либо скинуть многогранник
для резьбы. Есть несколько опубликованных модулей для последнего, и у меня есть неопубликованный, который я предпочитаю.
- FreeCAD для проектирования движущихся частей
- Библиотека OpenSCAD для пустого пространства/отверстий
- Рендер OpenSCAD (F6) завершается ошибкой "ERROR: CGAL error in CGAL_Nef_polyhedron3()"
- Создание "куска пирога" в OpenSCAD?
- Можно ли использовать функцию `рендеринг` для ускорения рендеринга?
- OpenSCAD не рендеринг многогранника
- Существуют ли какие-либо "лучшие" или "распространенные" методы обработки разрешений в коде OpenSCAD?
- Как учитывать допуски при соединении
Идеальный ответ! Знаете ли вы какой-нибудь простой способ создать этот простой упрощенный процесс преобразования моделей solid .stl в, скажем, секретный отсек внутри них? Могли бы csg.js может быть, это жизнеспособный вариант?, @zerz
Возможно, вы сможете заставить OpenSCAD выводить CSG AST и обрабатывать его с помощью внешних инструментов, или просто выводить файл STL (возможно, проще) и обрабатывать его для принятия решений о том, где размещать вырезы и т. Д., @R.. GitHub STOP HELPING ICE
Хорошо. Я подумываю о создании простой веб-формы, в которую можно загружать файлы твердых моделей и автоматически обновлять их, чтобы можно было выбрать модуль, который идеально вписывается в него при 3D-печати. В настоящее время изучаю [портированные библиотеки OpenSCAD для OpenJSCAD](https://www.thingiverse.com/thing:2307544), кажется многообещающим, но у меня пока нет такого опыта в этой области, поэтому я хотел бы получить какие-либо подсказки, которые помогут собрать его воедино., @zerz