@@ -114,25 +114,26 @@ class Trimex(gui_base_original.Modifier):
|
||||
import DraftGeomUtils
|
||||
import Part
|
||||
|
||||
if "Shape" not in self.obj.PropertiesList:
|
||||
if not hasattr(self.obj, "Shape"):
|
||||
self.obj = None
|
||||
self.finish()
|
||||
_err(translate("draft", "This object is not supported."))
|
||||
return
|
||||
if "Placement" in self.obj.PropertiesList:
|
||||
if hasattr(self.obj, "Placement"):
|
||||
self.placement = self.obj.Placement
|
||||
if len(self.obj.Shape.Faces) == 1:
|
||||
# simple extrude mode, the object itself is extruded
|
||||
self.extrudeMode = True
|
||||
self.ghost = [trackers.ghostTracker([self.obj])]
|
||||
self.normal = self.obj.Shape.Faces[0].normalAt(0.5, 0.5)
|
||||
self.ghost += [trackers.lineTracker() for _ in self.obj.Shape.Vertexes]
|
||||
elif len(self.obj.Shape.Faces) > 1:
|
||||
# face extrude mode, a new object is created
|
||||
ss = Gui.Selection.getSelectionEx()[0]
|
||||
if len(ss.SubObjects) == 1 and ss.SubObjects[0].ShapeType == "Face":
|
||||
if self.obj.Shape.Faces:
|
||||
sel = Gui.Selection.getSelectionEx("", 0)[0]
|
||||
self.obj = sel.Object
|
||||
if len(self.obj.Shape.Faces) == 1:
|
||||
# simple extrude mode, the object itself is extruded
|
||||
self.extrudeMode = True
|
||||
self.ghost = [trackers.ghostTracker([self.obj])]
|
||||
self.normal = self.obj.Shape.Faces[0].normalAt(0.5, 0.5)
|
||||
self.ghost += [trackers.lineTracker() for _ in self.obj.Shape.Vertexes]
|
||||
elif len(sel.SubObjects) == 1 and sel.SubObjects[0].ShapeType == "Face":
|
||||
# face extrude mode, a new object is created
|
||||
self.obj = self.doc.addObject("Part::Feature", "Face")
|
||||
self.obj.Shape = ss.SubObjects[0]
|
||||
self.obj.Shape = sel.SubObjects[0]
|
||||
self.extrudeMode = True
|
||||
self.ghost = [trackers.ghostTracker([self.obj])]
|
||||
self.normal = self.obj.Shape.Faces[0].normalAt(0.5, 0.5)
|
||||
|
||||
Reference in New Issue
Block a user