| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | import FreeCAD |
| | import Path |
| | from ...shape import ToolBitShapeProbe |
| | from .base import ToolBit |
| |
|
| |
|
| | class ToolBitProbe(ToolBit): |
| | SHAPE_CLASS = ToolBitShapeProbe |
| |
|
| | def __init__(self, shape: ToolBitShapeProbe, id: str | None = None): |
| | Path.Log.track(f"ToolBitProbe __init__ called with shape: {shape}, id: {id}") |
| | super().__init__(shape, id=id) |
| | self.obj.SpindleDirection = "None" |
| | self.obj.setEditorMode("SpindleDirection", 2) |
| |
|
| | @property |
| | def summary(self) -> str: |
| | diameter = self.get_property_str("Diameter", "?", precision=3) |
| | length = self.get_property_str("Length", "?", precision=3) |
| | shaft_diameter = self.get_property_str("ShaftDiameter", "?", precision=3) |
| |
|
| | return FreeCAD.Qt.translate( |
| | "CAM", f"{diameter} probe, {length} length, {shaft_diameter} shaft" |
| | ) |
| |
|
| | def can_rotate(self) -> bool: |
| | return False |
| |
|
| | |
| | def get_diameter(self) -> FreeCAD.Units.Quantity: |
| | """ |
| | Get the diameter of the rotary tool bit from the shape. |
| | """ |
| | return self.obj.Diameter |
| |
|
| | def set_diameter(self, diameter: FreeCAD.Units.Quantity): |
| | """ |
| | Set the diameter of the rotary tool bit on the shape. |
| | """ |
| | if not isinstance(diameter, FreeCAD.Units.Quantity): |
| | raise ValueError("Diameter must be a FreeCAD Units.Quantity") |
| | self.obj.Diameter = diameter |
| |
|
| | def get_length(self) -> FreeCAD.Units.Quantity: |
| | """ |
| | Get the length of the rotary tool bit from the shape. |
| | """ |
| | return self.obj.Length |
| |
|
| | def set_length(self, length: FreeCAD.Units.Quantity): |
| | """ |
| | Set the length of the rotary tool bit on the shape. |
| | """ |
| | if not isinstance(length, FreeCAD.Units.Quantity): |
| | raise ValueError("Length must be a FreeCAD Units.Quantity") |
| | self.obj.Length = length |
| |
|