6

有没有办法将 STL 文件导入 OpenSCAD 并能够修改它们?

例如,下面的代码演示了我到目前为止所尝试的内容:

difference() {
    import("spherical_puzzle_base.stl");
    translate([0, 0, -RADIUS/2]) {
        cube([RADIUS*2, RADIUS*2, RADIUS], center=true);
    }
}

当我这样做时,我可以按 F5 来仅渲染不包括交集的 STL 文件。或者我可以按 F6 进行编译和渲染,但它会创建一个非常混乱的渲染,没有接近歧管甚至接近我对此的期望。有没有使用 OpenSCAD 解决这个问题的方法?谢谢!

(我试图这样做以节省较长的渲染时间,尤其是在我测试各种设计可能性时)

4

2 回答 2

2

我不确定是否可以通过布尔运算修改 stl 模型。openscad 中的布尔运算是 csg 建模的一部分。使用 csg 时,只能将“原始固体”作为“立方体”、“球体”、“圆柱体”或“多面体”进行组合。

为了在 openscad 2014.01.29 中验证,我尝试了这个:

translate([10,10,0]) polyhedron( points=[ [10,10,0],[10,-10,0],[-10,-10,0],[-10,10,0,[0,0,10]],
triangles=[ [0,1,4],[1,2,4],[2,3,4],[3,0,4],[1,0,3],[2,1,3]]
);

导出为“polyhedron.stl”,然后:

difference() {
    import("polyhedron.stl"); 
    translate([5,5,0]) cube([10,10,10]); 
}

我得到了正确的结果(还有其他更复杂的 stl),我可以将它们导出到有效的 stl 文件。只有在 openscad 的屏幕上,一些面孔似乎是透明的或损坏的。所以我认为,openscad 将布尔运算中的 stl 文件视为“多面体”,您可以按照自己的方式修改 stl。

于 2014-06-04T11:05:47.183 回答
0

我同意@a_manthey_67。我已经使用最新的 OpenSCAD 和非常复杂的 STL 文件(如Sappho's Head )成功地完成了布尔运算。渲染需要很长时间,但我已经将一个大的 STL 文件分成许多不同的部分,并通过翻译和其他操作来处理这些部分。

于 2014-08-02T03:45:49.137 回答