Странности OpenSCAD с импортированным STL
Я попытался переделать эту модель: https://www.thingiverse.com/thing:90933 (Набор шахмат Баухауза), уменьшив его масштаб и вставив маленькие магнитные отверстия в нижнюю сторону фигур. Мой файл SCAD выглядит следующим образом:
difference() {
scale([0.5,0.5,0.5]) import("Bauhaus2Set.stl");
translate([ 6, 11 ,0]) cylinder(h=20.5,r=2.5,center=true,$fn=20); // WTH?
// King/Queen
translate([ 6, 11 ,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);
translate([-6, 11 ,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);
// Rooks
translate([ 6,-11.5,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);
translate([-6,-11.5,0]) cylinder(h=3.5,r=2.5,center=true,$fn=20);
[...]
Обратите внимание на третью строку с "WTH?" - я проделал довольно много проб и ошибок, и если я удалю эту строку, то я больше не получу никаких вычитаемых отверстий, когда я визуализирую все это (F6). В предварительном просмотре (F5) отверстия всегда присутствуют, но в окончательном рендеринге мне нужно включить больший вычитаемый цилиндр, иначе это не сработает.
Файл STL, кажется, сам по себе в порядке, что здесь происходит?
@Florian Echtler, 👍1
Обсуждение2 ответа
Лучший ответ:
Интересно, что и первая строка, и следующая строка должны удалять цилиндр одинакового диаметра из одного и того же места. Только высота другая.
Было бы интересно удалить первую линию Короля/Королевы и посмотреть, есть ли изменения.
Вы проверяли файл STL с помощью другого инструмента, кроме OpenSCAD? В STL может быть излом, который сбивает с толку механизм геометрии в OpenSCAD. Первое отличие может заключаться в том, чтобы поймать изгиб, а второе-вырезать корпус магнита в нижней части.
Также, возможно, попробуйте пересечение вместо различия, чтобы посмотреть, что произойдет., @R.. GitHub STOP HELPING ICE
Отличное объяснение, спасибо. Цилиндр" С " центрирован на фигуре ферзя, и у нее есть сфера с _lots _ граней сверху. Таким образом, похоже, что "излом" находится внутри королевы, где сфера и базовый куб перекрываются, и случайно мое удаление цилиндров методом проб и ошибок также удалило нужное место., @Florian Echtler
Я вижу, что вы приняли ответ cmm, но я все равно хотел бы взглянуть на механизм сбоя, основываясь на вашем комментарии по этому поводу:
Отличное объяснение, спасибо. Цилиндр "WTH" центрирован на фигуре королевы, и на нем есть сфера с множеством граней сверху. Таким образом, похоже, что "излом" находится внутри королевы, где сфера и базовый куб перекрываются, и случайно мое удаление цилиндров методом проб и ошибок также удалило нужное место.
Я предполагаю, что если вы посмотрите на набор треугольников в файле STL, вы обнаружите, что внутренняя часть королевы содержит части куба, которые находятся внутри сферы, и части сферы, которые находятся внутри куба; они могут даже не быть обрезаны, чтобы правильно встретиться там, где они пересекают поверхности друг друга. К сожалению, существует множество инструментов, создающих недопустимые файлы STL, подобные этому. Более длинный цилиндр, вероятно, достаточен для перекрытия того места, где пересекаются куб и сфера, что вынуждает OpenSCAD разбивать модель в этой области и пересчитывать сетку, в которой компоненты перекрываются. Без этого повторного вычисления различия, скорее всего, в конечном итоге будут взаимодействовать только с "сферической частью" сетки STL.
Это объяснение также, по-видимому, согласуется с описанием вещи в thingiverse:
Я гораздо больше предпочитал стиль Баухауза, разработанный TeamTeaUSA, но было много возни с королевой, и рыцарь не стал бы печатать без поддержки. Поэтому я поместил сферу королевы дальше в корпус, чтобы она печаталась стоя, добавил опоры для рыцаря и покрыл все это.
где похоже, что создатель взял чьи-то файлы STL и переместил части, чтобы создать перекрытие, вероятно, без надлежащих инструментов, которые могли бы восстановить правильную сетку.
Спасибо за подробное объяснение!, @Florian Echtler
- Командная строка OpenSCAD 2018
- Экспорт STL как ASCII или двоичный?
- Объединение нескольких файлов STL
- Разделить/редактировать часть в FreeCAD?
- Как создавать файлы изображений PNG из файлов STL?
- Как конвертировать STL-файлы в PDF-чертежи?
- Преобразование массива 3D NumPy вокселов в файл STL
- Файл слишком большой, чтобы открыть его в Tinkercad. Как уменьшить его?
Каковы размеры z исходной модели?, @R.. GitHub STOP HELPING ICE
Хорошо, я подтвердил, что исходная модель не распространяется ниже z=0, поэтому я думаю, что это либо ошибка в openscad, либо (вероятно, более вероятно) ошибка в сетке., @R.. GitHub STOP HELPING ICE