OpenSCAD - Цилиндр от оси - PullRequest
       35

OpenSCAD - Цилиндр от оси

0 голосов
/ 20 ноября 2018

Как я могу создать эту форму?Изображенная форма может быть интерпретирована как одна из следующих:

  1. Конус, который идет на линию вместо точки.
  2. Чердак от круга до прямой линии.
  3. Чердак от круга до квадрата [0,1].
  4. Цилиндр с одной сжатой стороной.

- Кривая на лицекруга идеально подходит для точности, но не является строго необходимым.

Приближение в OpenSCAD с использованием этого кода :

Cylinder projected from axis

Форма, достигнутая в Fusion360:

Shape achieved in Fusion360

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Вы можете просто выдавливать круг и масштабировать его по всей длине выдавливания до плоской линии.Параметр масштаба с.документация о linear_extrude может быть скалярной или векторной с x- и y-масштабным коэффициентом.Установите один из них на 1, а другой на 0:

$fs = 0.01;
$fa = 0.01;

linear_extrude(height = 15, scale =[0, 1]) circle(d = 10);

Результат: enter image description here

0 голосов
/ 20 ноября 2018

Я узнал, что вы можете сделать выпуклый чердак, используя корпус.

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);

Loft using Hull

...