diff --git a/src/Mod/BIM/bimcommands/BimSketch.py b/src/Mod/BIM/bimcommands/BimSketch.py index 101a81d400..e3c4129815 100644 --- a/src/Mod/BIM/bimcommands/BimSketch.py +++ b/src/Mod/BIM/bimcommands/BimSketch.py @@ -48,25 +48,25 @@ class BIM_Sketch: def Activated(self): import WorkingPlane from draftutils import params + from draftutils import utils + from FreeCAD import Units - issnap = False - if hasattr(FreeCAD, "DraftWorkingPlane"): - FreeCAD.DraftWorkingPlane.setup() - if hasattr(FreeCADGui, "Snapper"): - FreeCADGui.Snapper.setGrid() - issnap = FreeCADGui.Snapper.isEnabled("Grid") + wp = WorkingPlane.get_working_plane() # also updates the grid sk = FreeCAD.ActiveDocument.addObject("Sketcher::SketchObject", "Sketch") - if issnap and hasattr(sk.ViewObject, "GridSnap"): - s = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Draft").GetInt( - "gridSize", 100 - ) - sk.ViewObject.GridSize = s - sk.ViewObject.GridSnap = True + sk.Placement = wp.get_placement() sk.MapMode = "Deactivated" - sk.ViewObject.LineColor = params.get_param_view("DefaultShapeLineColor") - sk.ViewObject.PointColor = params.get_param_view("DefaultShapeLineColor") + sk.ViewObject.LineWidth = params.get_param_view("DefaultShapeLineWidth") - sk.Placement = WorkingPlane.get_working_plane().get_placement() + sk.ViewObject.PointSize = params.get_param_view("DefaultShapePointSize") + sk.ViewObject.AutoColor = False + sk.ViewObject.LineColor = params.get_param_view("DefaultShapeLineColor") + sk.ViewObject.PointColor = params.get_param_view("DefaultShapeVertexColor") + sk.ViewObject.ShapeAppearance = [utils.get_view_material()] + + if getattr(FreeCADGui, "Snapper", None) and FreeCADGui.Snapper.grid.Visible: + sk.ViewObject.GridSize = Units.Quantity(params.get_param("gridSpacing")) + sk.ViewObject.ShowGrid = True + FreeCADGui.ActiveDocument.setEdit(sk.Name) FreeCADGui.activateWorkbench("SketcherWorkbench")