Exemple #1
0
 def Activated(self):
     """Execute when the command is called."""
     super(Ellipse, self).Activated(name="Ellipse")
     if self.ui:
         self.refpoint = None
         self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Ellipse")
         self.ui.extUi()
         self.call = self.view.addEventCallback("SoEvent", self.action)
         self.rect = trackers.rectangleTracker()
         _msg(translate("draft", "Pick first point"))
Exemple #2
0
 def Activated(self, shapeType=None):
     self.ShapeType = shapeType
     name = DraftTools.translate("draft", "Rectangle")
     DraftTools.Creator.Activated(self, name)
     if self.ui:
         self.refpoint = None
         self.ui.pointUi(name)
         self.ui.extUi()
         self.call = self.view.addEventCallback("SoEvent", self.action)
         self.rect = trackers.rectangleTracker()
         Utils.EB_Print.print_msg(
             DraftTools.translate("draft", "Pick first point:") + "\n")
Exemple #3
0
 def proceed(self):
     """Proceed with execution of the command after proper selection."""
     if self.call:
         self.view.removeEventCallback("SoEvent", self.call)
     supported = ["Rectangle", "Wire", "BSpline", "BezCurve", "Sketch"]
     self.sel = []
     for obj in Gui.Selection.getSelection():
         if utils.getType(obj) in supported:
             self.sel.append([obj, App.Placement()])
         elif hasattr(obj, "Base"):
             if obj.Base:
                 if utils.getType(obj.Base) in supported:
                     self.sel.append([obj.Base, obj.Placement])
                 elif utils.getType(obj.Base) in ["Offset2D", "Array"]:
                     base = None
                     if hasattr(obj.Base, "Source") and obj.Base.Source:
                         base = obj.Base.Source
                     elif hasattr(obj.Base, "Base") and obj.Base.Base:
                         base = obj.Base.Base
                     if base:
                         if utils.getType(base) in supported:
                             self.sel.append([
                                 base,
                                 obj.Placement.multiply(obj.Base.Placement)
                             ])
                 elif hasattr(obj.Base, "Base"):
                     if obj.Base.Base:
                         if utils.getType(obj.Base.Base) in supported:
                             self.sel.append([
                                 obj.Base.Base,
                                 obj.Placement.multiply(obj.Base.Placement)
                             ])
         elif utils.getType(obj) in ["Offset2D", "Array"]:
             base = None
             if hasattr(obj, "Source") and obj.Source:
                 base = obj.Source
             elif hasattr(obj, "Base") and obj.Base:
                 base = obj.Base
             if base:
                 if utils.getType(base) in supported:
                     self.sel.append([base, obj.Placement])
     if self.ui and self.sel:
         self.step = 1
         self.refpoint = None
         self.ui.pointUi(title=translate("draft", self.featureName),
                         icon="Draft_Stretch")
         self.call = self.view.addEventCallback("SoEvent", self.action)
         self.rectracker = trackers.rectangleTracker(dotted=True,
                                                     scolor=(0.0, 0.0, 1.0),
                                                     swidth=2)
         self.nodetracker = []
         self.displacement = None
         _msg(translate("draft", "Pick first point of selection rectangle"))
Exemple #4
0
 def Activated(self):
     """Execute when the command is called."""
     super(Rectangle, self).Activated(name="Rectangle")
     if self.ui:
         self.refpoint = None
         self.ui.pointUi(title=translate("draft", self.featureName), icon="Draft_Rectangle")
         self.ui.extUi()
         if utils.getParam("UsePartPrimitives", False):
             self.fillstate = self.ui.hasFill.isChecked()
             self.ui.hasFill.setChecked(True)
         self.call = self.view.addEventCallback("SoEvent", self.action)
         self.rect = trackers.rectangleTracker()
         _msg(translate("draft", "Pick first point"))