OpenSCAD: вращение вокруг определенной точки?

Следующий код вращает второй куб вокруг начала координат. Как я могу вместо этого вращать второй куб вокруг его центральной точки ([5,5,0])?

cube([10,10,1]);
rotate([0,0,45]) cube([10,10,1]);

2 ответа

Решение

Этот модуль выполнит желаемое вращение.

// rotate as per a, v, but around point pt
module rotate_about_pt(a, v, pt) {
    translate(pt)
        rotate(a,v)
            translate(-pt)
                children();   
}

cube([10,10,1]);
rotate_about_pt(45,0,[5,5,0]) cube([10,10,1]);

Если вы хотите "центрировать" форму, это намного проще:

cube(center =true,[10,10,1]);
rotate([0,0,45]) cube(center =true,[10,10,1]);
Другие вопросы по тегам