Отверстие OpenSCAD закрывается изнутри при работе в слайсере
Привет, я сделал пончик с отверстием на внешней стороне, но когда я его разрезаю, внутренняя сторона цилиндра оказывается закрытой, в результате чего получается закрытое отверстие. Буду рад, если кто-нибудь объяснит мне, в чем проблема.
$fn = 100;
toroH3=30;
toroD3=38;
toroL3=20;
difference(){
rotate_extrude(convexity = 10)
translate([toroD3, (toroH3/2), 0])
resize([toroL3,toroH3,0])
circle(d = toroD3, $fn = 100);
translate([0,47.2,9])
rotate([74,0,0])
cylinder(2,2,2);
}
@Paolol, 👍2
Обсуждение1 ответ
Лучший ответ:
Из ваших наблюдений следует, что вы ожидали полый бублик, где «текущее слепое отверстие» выдавливалось бы через оболочку бублика. Пожалуйста, обновите свой вопрос, если это не так.
Программы 3D-моделирования — это программы проектирования твердотельных моделей, в которых создаются твердые объекты, обычно путем выдавливания 2D-форм. Вы вращаете масштабированную 2D-окружность вокруг оси Z, чтобы получить твердую форму бублика. Хотя отверстие является глухим отверстием, и вы ожидаете, что слайсер прорежет отверстие через поверхность, когда вы не используете заполнение, глухое отверстие является частью внешней поверхности объекта; слайсер визуализирует стенку всей поверхности, включая стенку отверстия. Удаляете ли вы заполнение, это не меняет дела! Если вам нужно, чтобы он был полым, вам нужно создать карман в объекте.
Для получения полого пончика вам необходимо извлечь внутреннюю сердцевину из пончика:
$fn = $preview ? 90 : 360;
toroH3=30;
toroD3=38;
toroL3=20;
difference(){
// Тело
rotate_extrude(convexity = 10)
translate([toroD3, (toroH3/2), 0])
resize([toroL3,toroH3,0])
circle(d = toroD3);
// Извлечь внутреннее ядро тела
rotate_extrude(convexity = 10)
translate([toroD3, (toroH3/2), 0])
resize([toroL3-2,toroH3-2,0])
circle(d = toroD3);
// Вырезать отверстие в теле
translate([0,47.2,9])
rotate([74,0,0])
cylinder(2,2,2);
// Вырез для просмотра внутри
if ($preview) {
// Вырезать, если в режиме предварительного просмотра (F5), а не в режиме рендеринга (F6)
cube(50);
}
}
Нажав «F5», вы получите вырезанный вид пончика, чтобы увидеть, что он пустой:

С помощью "F6" вы получаете идеально визуализированную версию с отверстием в оболочке:

Я добавила изображение из слайсера. Как видите, пончик полый, так как я не использую начинку, но отверстие на поверхности закрыто изнутри. Хотелось бы получить такой же, как на фото... пончик с дыркой сбоку :), @Paolol
@Paolol Да, отверстие в слайсере — это глухое отверстие, поскольку оно визуализирует всю поверхность, включая стенку отверстия. Удаление заполнения ничего не меняет! Если вам нужно, чтобы оно было полым, следуйте стратегии, приведённой в ответе., @0scar
Спасибо большое за то, что уделили мне время и объяснили мне проблему :), @Paolol
@Paolol Без проблем, я обновлю ответ текстом в комментарии!, @0scar
- OpenSCAD linear_extrude из многопутевого импорта svg
- Существует ли простой способ разделения моделей в OpenSCAD?
- .STEP/.F3D to .Файл SCAD?
- Может ли в OpenSCAD сгибать текст (проецировать его на изогнутую поверхность)?
- OpenSCAD "not valid 2-manifold" полезная информация
- Создание "куска пирога" в OpenSCAD?
- Как указать начало вращения в openscad
- Рендер OpenSCAD (F6) завершается ошибкой "ERROR: CGAL error in CGAL_Nef_polyhedron3()"

Не могли бы вы приложить изображения, иллюстрирующие проблему? Я отрисовал код и вижу пончик с глухим отверстием, и он отлично разрезается. Я вижу глухое отверстие. Чего вы ожидали? Отверстие вырезано коротким цилиндром; вы хотели сделать отверстие сквозным в пончике? Полагаю, вы хотели получить пустой пончик?, @0scar