Есть ли простой способ добавить закругленные края к полукругу в OpenSCAD?
Я собрал крепление для фонарика для камеры coldshoe в OpenSCAD. Я изначально смоделировал его в FreeCAD, и было легко закруглить края зажима с помощью филе, и это немного облегчает попадание света в крепление и выход из него.
Я не знаю, как это сделать в OpenSCAD. Наивно говоря, я уверен, что мог бы рассчитать, где на моем полукруге мне нужно будет добавить несколько цилиндров, чтобы закруглить острые углы, но, похоже, было бы что-то немного проще, чем это.
Я что-то упустил?
Вот файл coldshoe light mount SCAD и вот как он выглядит:
@D. Patrick, 👍1
3 ответа
Лучший ответ:
Я далеко не волшебник с OpenSCAD, но с удовольствием пользуюсь этой программой, каждый раз узнавая что-то новое. В вашем случае вполне вероятно, что вы можете использовать библиотеку roundanything для достижения своей цели.
Библиотека представит различные реализации в примерах, что сделает упражнением для читателя определение того, какие вызовы модулей представят решение.
На рисунке ниже показана деталь, радиусы которой были нанесены таким же образом, как и на вашем изображении:
Если вы моделируете как 2D-объект и экструзируете с помощью
linear_extrude , вы можете использовать транформацию смещения с положительным
r
на (изначально низкорослом) 2D-объекте для сглаживания углов.
Наверное, в конце концов я выбрал третий вариант. Я решил, что неправильно сокращаю разрыв. Я использовал разницу
, чтобы вытащить прямоугольник из кольца.
Я решил упростить это и взять вытянутый треугольник.
ringRadius = radius + thickness;
verticalOffset = tan(gapAngle / 2) * ringRadius;
linear_extrude(height = height)
polygon(points = [[0, 0], [ringRadius, verticalOffset], [ringRadius, -verticalOffset]]);
Таким образом, толщина плоскости, которая нуждалась в округлении, равномерно равна толщине кольца. Затем оставалось только добавить цилиндры, центрировать их в кольце и повернуть.
for(side = [-1, 1]) {
cornerRadius = radius + thickness / 2;
rotate([0, 0, gapAngle / 2 * side])
translate([cornerRadius, 0, 0])
color("blue") cylinder(r = thickness / 2, h = height);
}
В конце концов я хотел бы сделать его немного сложнее и помочь лучше приспособить свет, но пока он дает мне закругленные концы, которые я искал.
Я все еще собираюсь принять ответ round everything, потому что, хотя я решил, что он более сложен, чем стоит в этой модели, похоже, что он решит и другие проблемы округления.
- Существует ли простой способ разделения моделей в OpenSCAD?
- OpenSCAD linear_extrude из многопутевого импорта svg
- .STEP/.F3D to .Файл SCAD?
- Как указать начало вращения в openscad
- Библиотека OpenSCAD для пустого пространства/отверстий
- OpenSCAD "not valid 2-manifold" полезная информация
- Рендер OpenSCAD (F6) завершается ошибкой "ERROR: CGAL error in CGAL_Nef_polyhedron3()"
- Создание "куска пирога" в OpenSCAD?