| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | """Provides the object code for the Point object.""" |
| | |
| | |
| | |
| |
|
| | |
| | |
| | import math |
| | from PySide.QtCore import QT_TRANSLATE_NOOP |
| |
|
| | import FreeCAD as App |
| | from draftobjects.base import DraftObject |
| | from draftutils import gui_utils |
| |
|
| |
|
| | class Point(DraftObject): |
| | """The Draft Point object.""" |
| |
|
| | def __init__(self, obj, x=0, y=0, z=0): |
| | super().__init__(obj, "Point") |
| |
|
| | _tip = QT_TRANSLATE_NOOP("App::Property", "X Location") |
| | obj.addProperty("App::PropertyDistance", "X", "Draft", _tip, locked=True) |
| |
|
| | _tip = QT_TRANSLATE_NOOP("App::Property", "Y Location") |
| | obj.addProperty("App::PropertyDistance", "Y", "Draft", _tip, locked=True) |
| |
|
| | _tip = QT_TRANSLATE_NOOP("App::Property", "Z Location") |
| | obj.addProperty("App::PropertyDistance", "Z", "Draft", _tip, locked=True) |
| |
|
| | obj.X = x |
| | obj.Y = y |
| | obj.Z = z |
| |
|
| | obj.setPropertyStatus("Placement", "Hidden") |
| |
|
| | def onDocumentRestored(self, obj): |
| | super().onDocumentRestored(obj) |
| | gui_utils.restore_view_object(obj, vp_module="view_point", vp_class="ViewProviderPoint") |
| |
|
| | def execute(self, obj): |
| | base = obj.Placement.Base |
| | xyz_vec = App.Vector(obj.X.Value, obj.Y.Value, obj.Z.Value) |
| |
|
| | if self.props_changed_placement_only(): |
| | if base != xyz_vec: |
| | obj.X = base.x |
| | obj.Y = base.y |
| | obj.Z = base.z |
| | self.props_changed_clear() |
| | return |
| |
|
| | import Part |
| |
|
| | obj.Shape = Part.Vertex(App.Vector(0, 0, 0)) |
| | if base != xyz_vec: |
| | obj.Placement.Base = xyz_vec |
| | self.props_changed_clear() |
| |
|
| | def onChanged(self, obj, prop): |
| | self.props_changed_store(prop) |
| |
|
| |
|
| | |
| | _Point = Point |
| |
|
| | |
| |
|