你好,这里是BIM的乐趣,我是九哥~
近期给大家分享一些短平快的小教程,基本都是来自群里面常问的问题,不做过多的介绍了,直接上截图和代码。
问题:002-根据几何相交对墙体进行分组
今天分享的,是通过墙体的几何对象相交,对图元进行分组,大概意思如下图:
然后我这里做了一个取巧的方法,就是让所有墙体进行两两相交判断,然后找到每个图元与之相交的图元索引。之后呢,通过一段简单的Python代码,找出两两相交的集合,然后根据该索引就能得到分组后的图元。
然后附上PythonScript里的代码:
# Copyright(c) 2019, 九哥BIMerintersections = IN[0]out = []while len(intersections) > 0: first, rest = intersections[0], intersections[1:] first = set(first) lf = -1 while len(first) > lf: lf = len(first) rest2 = [] for r in rest: if len(first.intersection(set(r))) > 0: first |= set(r) else: rest2.append(r) rest = rest2 out.append(first) intersections = restOUT = out
好了,今天的分享就到这里,小伙伴们快去自己尝试吧~
九哥出品,必属精品
联系客服