有没有办法使用 OpenScad 拉伸对象
Is there a way to stretch an object using 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]);
}
它给出了以下剪辑:
此外,如果您能提出更好的创建开口的方法,请告诉我。我不确定从环中减去一个立方体是最好的方法。
使用scale([x-factor, y-factor, z-factor])
,例如
scale([2, 1, 1]) difference()
....
你的打开方式没问题
这只是一个小改进:
$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”。我喜欢这种语法,因为如果需要,用变量替换“所需高度”更容易。
我创建了一个环形的小剪辑,但我现在希望能够将其拉伸成更椭圆的形状。就好像你要用两个手指压扁一个橡胶圈。
有使用 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]);
}
它给出了以下剪辑:
此外,如果您能提出更好的创建开口的方法,请告诉我。我不确定从环中减去一个立方体是最好的方法。
使用scale([x-factor, y-factor, z-factor])
,例如
scale([2, 1, 1]) difference()
....
你的打开方式没问题
这只是一个小改进:
$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”。我喜欢这种语法,因为如果需要,用变量替换“所需高度”更容易。