diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index 72070ba82..e77dc4a6c 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -3140,23 +3140,30 @@ class Drawing(Modifier): self.page = self.createDefaultPage() else: self.page = None + # if the user selected a page, put the objects on that page for obj in sel: if obj.isDerivedFrom("Drawing::FeaturePage"): self.page = obj - sel.pop(sel.index(obj)) + break if not self.page: + # no page selected, default to the first page in the document for obj in self.doc.Objects: if obj.isDerivedFrom("Drawing::FeaturePage"): self.page = obj + break if not self.page: + # no page in the document, create a default page. self.page = self.createDefaultPage() otherProjection = None + # if an existing projection is selected, reuse its projection properties for obj in sel: if obj.isDerivedFrom("Drawing::FeatureView"): otherProjection = obj + break sel.reverse() for obj in sel: - if obj.ViewObject.isVisible(): + if ( obj.ViewObject.isVisible() and not obj.isDerivedFrom("Drawing::FeatureView") + and not obj.isDerivedFrom("Drawing::FeaturePage") ): name = 'View'+obj.Name # no reason to remove the old one... #oldobj = self.page.getObject(name)