OpenSCAD - 来自轴的圆柱体
OpenSCAD - Cylinder from axis
我怎样才能创建这个形状?所描绘的形状可以解释为以下之一:
- 圆锥体变成一条线而不是一个点。
- 从圆到直线的阁楼。
- 从圆到正方形的放样[0,1].
- 一侧被挤压的圆柱体。
-- 圆面上的曲线对于精度来说是理想的,但并非绝对必要。
OpenSCAD 中的近似值using this code:
在 Fusion360 中实现的形状:
我了解到您可以使用船体做凸面放样。
module pinch(h=1,r1=1,r2=1,r3=0) {
zero = 0.00000000001;
steps = $fn ? $fn : $fa;
res = h/steps;
r1 = r1 ? r1 : res;
r2 = r2 ? r2 : res;
r3 = r3 ? r3 : zero;
hull() {
cylinder(h=zero,r=r1,r2=res,r3=0,center=false);
translate([-r2, -r3, h - zero]) cube([
r2 * 2,
r3 * 2,
zero
]);
}
}
translate([1,0,.5]) rotate([0,-90,0]) pinch(1, .5, .5, $fn=50);
您可以简单地挤出一个圆并在挤出长度上将其缩放为一条平线。比例参数 s. documentation
linear_extrude 的可以是标量或具有 x 和 y 比例因子的向量。将其中一个设置为1,另一个设置为0:
$fs = 0.01;
$fa = 0.01;
linear_extrude(height = 15, scale =[0, 1]) circle(d = 10);
结果:
我怎样才能创建这个形状?所描绘的形状可以解释为以下之一:
- 圆锥体变成一条线而不是一个点。
- 从圆到直线的阁楼。
- 从圆到正方形的放样[0,1].
- 一侧被挤压的圆柱体。
-- 圆面上的曲线对于精度来说是理想的,但并非绝对必要。
OpenSCAD 中的近似值using this code:
在 Fusion360 中实现的形状:
我了解到您可以使用船体做凸面放样。
module pinch(h=1,r1=1,r2=1,r3=0) {
zero = 0.00000000001;
steps = $fn ? $fn : $fa;
res = h/steps;
r1 = r1 ? r1 : res;
r2 = r2 ? r2 : res;
r3 = r3 ? r3 : zero;
hull() {
cylinder(h=zero,r=r1,r2=res,r3=0,center=false);
translate([-r2, -r3, h - zero]) cube([
r2 * 2,
r3 * 2,
zero
]);
}
}
translate([1,0,.5]) rotate([0,-90,0]) pinch(1, .5, .5, $fn=50);
您可以简单地挤出一个圆并在挤出长度上将其缩放为一条平线。比例参数 s. documentation linear_extrude 的可以是标量或具有 x 和 y 比例因子的向量。将其中一个设置为1,另一个设置为0:
$fs = 0.01;
$fa = 0.01;
linear_extrude(height = 15, scale =[0, 1]) circle(d = 10);
结果: