diff --git a/src/Mod/Draft/DraftSnap.py b/src/Mod/Draft/DraftSnap.py index 44003ffeda..963ddb8ac0 100644 --- a/src/Mod/Draft/DraftSnap.py +++ b/src/Mod/Draft/DraftSnap.py @@ -305,9 +305,6 @@ class Snapper: if Draft.getType(obj) == "Polygon": # special snapping for polygons: add the center snaps.extend(self.snapToPolygon(obj)) - elif Draft.getType(obj) == "BuildingPart": - # special snapping for Arch building parts: add the location - snaps.append([obj.Placement.Base,'endpoint',self.toWP(obj.Pacement.Base)]) if (not self.maxEdges) or (len(shape.Edges) <= self.maxEdges): if "Edge" in comp: @@ -361,8 +358,8 @@ class Snapper: # for points we only snap to points snaps.extend(self.snapToEndpoints(obj.Points)) - elif Draft.getType(obj) == "WorkingPlaneProxy": - # snap to the center of WPProxies + elif Draft.getType(obj) in ["WorkingPlaneProxy","BuildingPart"]: + # snap to the center of WPProxies and BuildingParts snaps.append([obj.Placement.Base,'endpoint',self.toWP(obj.Placement.Base)]) # updating last objects list diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index edbb526d40..5a5c147276 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -2360,7 +2360,7 @@ class Move(Modifier): # testing for special case: only Arch groups in selection onlyarchgroups = True for o in self.sel: - if not(Draft.getType(o) in ["Floor","Building","Site"]): + if not(Draft.getType(o) in ["Floor","BuildingPart","Building","Site"]): onlyarchgroups = False if not onlyarchgroups: # arch groups can be moved, no need to add their children