Use all un-extruded wires in the parent chain to create a prismatic cut from existing solid. Cuts through all material in both normal directions of workplane. Similar to extrude, except that a solid in the parent chain is required to remove material from. cutThruAll
(self: T, clean: bool = True, taper: float = 0)
| 3587 | return self.newObject([s]) |
| 3588 | |
| 3589 | def cutThruAll(self: T, clean: bool = True, taper: float = 0) -> T: |
| 3590 | """ |
| 3591 | Use all un-extruded wires in the parent chain to create a prismatic cut from existing solid. |
| 3592 | Cuts through all material in both normal directions of workplane. |
| 3593 | |
| 3594 | Similar to extrude, except that a solid in the parent chain is required to remove material |
| 3595 | from. cutThruAll always removes material from a part. |
| 3596 | |
| 3597 | :param clean: call :meth:`clean` afterwards to have a clean shape |
| 3598 | :raises ValueError: if there is no solid to subtract from in the chain |
| 3599 | :raises ValueError: if there are no pending wires to cut with |
| 3600 | :return: a CQ object with the resulting object selected |
| 3601 | |
| 3602 | see :meth:`cutBlind` to cut material to a limited depth |
| 3603 | """ |
| 3604 | solidRef = self.findSolid() |
| 3605 | |
| 3606 | s = solidRef.dprism( |
| 3607 | None, self._getFaces(), thruAll=True, additive=False, taper=-taper |
| 3608 | ) |
| 3609 | |
| 3610 | if clean: |
| 3611 | s = s.clean() |
| 3612 | |
| 3613 | return self.newObject([s]) |
| 3614 | |
| 3615 | def loft( |
| 3616 | self: T, ruled: bool = False, combine: CombineMode = True, clean: bool = True |