Get faces or faces from wires or edges.
(*shapes: Shape)
| 5172 | |
| 5173 | |
| 5174 | def _get_faces(*shapes: Shape) -> Iterable[Face]: |
| 5175 | """ |
| 5176 | Get faces or faces from wires or edges. |
| 5177 | """ |
| 5178 | |
| 5179 | for s in shapes: |
| 5180 | t = s.ShapeType() |
| 5181 | |
| 5182 | if t == "Face": |
| 5183 | yield s.face() |
| 5184 | elif t == "Edge": |
| 5185 | yield face(s) |
| 5186 | elif t == "Wire": |
| 5187 | yield face(s) |
| 5188 | elif t == "Compound": |
| 5189 | yield from _get_faces(*s) |
| 5190 | else: |
| 5191 | raise ValueError(f"Required type(s): Edge, Wire, Face; encountered {t}") |
| 5192 | |
| 5193 | |
| 5194 | def _get_wire_lists(s: Sequence[Shape]) -> list[list[Wire | Vertex]]: |