Это можно определить, сравнив петли, составляющие лицо.
Face.outerloop
вернет цикл, который ограничивает грань (исключая любые внутренние ребра).Face.loop
возвращает все петли грани, включая внутреннюю и внешнюю.
Таким образом, получив список всех связанных граней (используя приведенный вами пример кода с all_connected
), вы можете выполнять итерации по этим граням.чтобы определить, является ли какой-либо из outerloop
лица faceA повторяемым лицом.Если это так, то не грань вставки, а скорее смежная.
Здесь опубликован альтернативный метод, который также может быть хорошим вариантом: https://forums.sketchup.com/t/how-to-know-that-a-face-contains-another-face-using-ruby-api/21840/3
Обратите внимание, что в связанном посте они комментируют, что вы не можете напрямую сравнивать циклы, но вы можете сравнить ребра (которые составляют цикл).