【问题标题】:how to know face contain another face with ruby api in sketchup如何在sketchup中使用ruby api知道人脸包含另一张脸
【发布时间】:2019-06-21 15:42:23
【问题描述】:

我有一个 faceA,一个 faceB,faceC,faceA 包含 faceB,我想知道如何让 Ruby API 让 faceA 包含 faceB。但不包含faceC

faceA.all_connected.grep(Sketchup::Face) 

这个可以找到faceB,也可以找到faceC

【问题讨论】:

    标签: sketchup


    【解决方案1】:

    这可以通过比较构成面部的环来确定。

    Face.outerloop 将返回限定面的循环(不包括任何内部边缘)。 Face.loop 返回人脸的所有循环,包括内部和外部。

    因此,通过获取所有连接面的列表(使用您发布的带有all_connected 的示例代码),您可以遍历这些面以确定是否有任何faceA 的outerloop 被迭代的面共享。如果是这样,它不是嵌入面,而是相邻的。

    这里发布了另一种方法,这可能也是一个不错的方法:https://forums.sketchup.com/t/how-to-know-that-a-face-contains-another-face-using-ruby-api/21840/3

    请注意,在链接的帖子中,他们评论说您无法直接比较循环,但您可以比较边缘(构成循环)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-24
      • 2018-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 2020-10-12
      • 1970-01-01
      相关资源
      最近更新 更多