То, что мне нужно сделать, это в основном цилиндр, стенки которого имеют нулевую толщину. Теперь, если вам нужно лучше понять, что я подразумеваю под этим, представьте, что вы вручную рисуете круг, затем с помощью инструмента pushpull делаете его цилиндром, после чего вы удаляете верхнюю и нижнюю грани. Сначала я использовал метод, предложенный в этом посте:
Пробивка отверстия в цилиндре с помощью Sketchup Ruby API а>
где внешний и внутренний радиусы имели разницу около 1e-02 метра, но теперь я понимаю, что на самом деле это должна быть бесконечно малая толщина, такая, что независимо от того, насколько далеко вы увеличиваете масштаб, все, что вы видите, это линия.
Я попытался сделать это с помощью следующего базового фрагмента кода:
entities = Sketchup.active_model.active_entities
circle = entities.add_circle(Geom::Point3d.new(0,0,0), Geom::Vector3d.new(0,0,1), 20)
face = entities.add_face(circle)
face.pushpull(-10, true)
# now from here, it can be either pushpulled downwards by the same amount (10 in this case
# leaving only a bottom face)
# or the entity 'face' can be erased (leaving only a top face) as in the following
entities.erase_entities(face)
Итак, мой вопрос: как удалить обе грани, чтобы оставить только цилиндр?
Спасибо.