首页 > 解决方案 > 有没有办法使用 OpenScad 拉伸对象

问题描述

我创建了一个具有环形形状的小夹子,但我现在希望能够将它拉伸成更椭圆的形状。就好像你要在两根手指之间挤压一个橡胶环。
使用 OpenSad 有没有简单的方法来做到这一点?

这是我到目前为止所拥有的:

difference()
{
    difference()
    {
        cylinder(r = 9.8/2, h = 1.7);
        translate([0,0,-0.1]) cylinder(r = 7/2, h = 1.9);
    }
    translate([2,2,-0.1]) rotate([0,0,90]) cube([4,4,3]);
}

它提供了以下剪辑:
在此处输入图像描述

另外,如果您能提出更好的方法来创建开口,请告诉我。我不确定从环中减去一个立方体是最好的方法。

标签: openscad

解决方案


这只是一个轻微的改进:

$fn=80;
scale([1,2,1])
difference()
{
    cylinder(r = 9.8/2, h = 1.7);
    translate([0,0,-1]) cylinder(r = 7/2, h = 1.7+2);
    translate([-2,2,-1]) cube([4,4,1.7+2]);
}

您可以将任意数量的对象与第一个对象区别开来,因此不需要嵌套区别。我还更改了立方体旋转,以便将立方体平移到正确的位置。

如果您想要与开口平行的侧面,立方体可以很好地作为开口的方式。如果您希望在对象被捏合并关闭时两侧完全接触,则需要某种多边形。

我还将要减去的对象更改为 Z=-1,并将它们的高度更改为“期望高度 + 2”。我喜欢这种语法,因为如果需要,用变量替换“期望高度”会更容易。


推荐阅读