ОШИБКА OpenSCAD: текущий объект верхнего уровня не является 2D-объектом
Я создал Mengersponge в OpenScad, который представляет собой 3D-объект. Я хотел получить из него экспорт SVG для лазерного резака, но получаю сообщение об ошибке: "Текущий объект верхнего уровня не является 2D-объектом" Как выбрать каждую сторону этой губки, чтобы экспортировать ее в формате SVG для лазерной резки?
Код:
module MengerSponge(side = 270, order =3){
difference(){
cube([side,side,side],center=true);
MengerSponge_aux1(side, order);
}
}
module MengerSponge_aux1(side, order){
rotations=[
[90,0,0],
[0,90,0],
[0,0,90],
];
for(rotation=rotations){
rotate(rotation)
MengerSponge_aux2(side, order);
}
}
module MengerSponge_aux2(side, order){
if(order>0){
translate([0,-(side-(side/pow(3,order-1)))/2,0])
for(i=[0:pow(3,order-1)-1]){
translate([0,(side/pow(3,order-1))*i,0])
translate([-(side-(side/pow(3,order-1)))/2,0,0])
for(i=[0:pow(3,order-1)-1]){
translate([(side/pow(3,order-1))*i,0,0])
cube([(side/pow(3,order)),(side/pow(3,order)),side+1],center=true);
}
}
MengerSponge_aux2(side, order-1);
}
else{
echo("Fail");
}
}
side=270;
order=3;
MengerSponge(side, order);
```
@bluxixi, 👍4
1 ответ
Лучший ответ:
Используйте функцию Projection() OpenSCAD для эффективного создания плоского разреза. Расположите структуру куба таким образом, чтобы плоскость x/y пересекала желаемую форму для экспорта. В результате рендеринга кода будет сгенерировано 2D-изображение. Предварительный просмотр кода создаст 3D-модель толщиной 1 мм, которая будет «сплющена». при отображении.
Для изображения ниже я не переводил куб, а просто поместил генерацию куба в функцию проекции.
projection(){
MengerSponge(side, order);
}
Эта визуализация будет экспортирована в SVG по желанию. Различное положение куба (поворот, перемещение) создаст разные узоры.
- Существует ли простой способ разделения моделей в OpenSCAD?
- OpenSCAD linear_extrude из многопутевого импорта svg
- .STEP/.F3D to .Файл SCAD?
- Как указать начало вращения в openscad
- Библиотека OpenSCAD для пустого пространства/отверстий
- OpenSCAD "not valid 2-manifold" полезная информация
- Рендер OpenSCAD (F6) завершается ошибкой "ERROR: CGAL error in CGAL_Nef_polyhedron3()"
- Создание "куска пирога" в OpenSCAD?
Не забудьте [
cut=true
](https://en.wikibooks.org/wiki/OpenSCAD_User_Manual/3D_to_2D_Projection), @R.. GitHub STOP HELPING ICEЯ забыл об этом, но результат «приемлемый», да? Каков способ отказа забыть об этом?, @fred_dot_u
Без
cut=true
вы получаете 2D-тень детали, а не 2D-разрез (объединение всех разрезов, поскольку Z находится в диапазоне от -бесконечности до бесконечности)., @R.. GitHub STOP HELPING ICEЭто полезная информация. Есть ли ссылка на пример модели, в которой предусмотрены оба обстоятельства?, @fred_dot_u
В руководстве, на которое я ссылался, нет?, @R.. GitHub STOP HELPING ICE
Я пропустил ссылку, спасибо., @fred_dot_u