There is, as far as I know, no way to show the grid on top of all objects.You can however change the color in the Objects docker, just as with any other layer.Click the (grey) colored bar on the right hand side of the Grid layer in the docker, and select any color from the dialog that appears.
This overlay is a good command hence asking in a future update. user can notice every element horizontally and vertically alignment with other objects at once. By having beneath the objects there is no use of this. hence this option is very useful
please help someone to create a macro... draw a line as per the every element in the selection at once. the line extends until the selection handles only. MYRON OR BHP OR someother great supporters here. please create a macro sir.
Maybe that's it, here I used lines on the screen, but I could use regular lines, the code needs improvements and be converted to VBA
OnScreenCurve sCurve; [CgsAddInMacro] public void CreateOverlapGrid(bool around = true, bool inCenter = true) { try { corelApp.Optimization = true; corelApp.EventsEnabled = false; corelApp.ActiveDocument.PreserveSelection = true; corelApp.ActiveDocument.BeginCommandGroup(); ShapeRange selection = corelApp.ActiveSelectionRange; Rect sRect = selection.BoundingBox; Layer vLayer = corelApp.ActiveVirtualLayer; ShapeRange linesH = corelApp.CreateShapeRange(); ShapeRange linesV = corelApp.CreateShapeRange(); for (int i = 1; i <= selection.Count; i++) { Rect rect = selection[i].BoundingBox; if (around) { linesH.Add(vLayer.CreateLineSegment(sRect.Left, rect.Top, sRect.Right, rect.Top)); linesH.Add(vLayer.CreateLineSegment(sRect.Left, rect.Bottom, sRect.Right, rect.Bottom)); linesV.Add(vLayer.CreateLineSegment(rect.Left, sRect.Top, rect.Left, sRect.Bottom)); linesV.Add(vLayer.CreateLineSegment(rect.Right, sRect.Top, rect.Right, sRect.Bottom)); } if (inCenter) { linesH.Add(vLayer.CreateLineSegment(sRect.Left, rect.CenterY, sRect.Right, rect.CenterY)); linesV.Add(vLayer.CreateLineSegment(rect.CenterX, sRect.Top, rect.CenterX, sRect.Bottom)); } } linesH.Sort("@shape1.com.positiony < @shape2.com.positiony"); linesV.Sort("@shape1.com.positionx < @shape2.com.positionx"); ShapeRange lines = corelApp.CreateShapeRange(); ShapeRange garbage = corelApp.CreateShapeRange(); double py = 0; while (linesH.Count > 0) { if (Math.Abs(linesH[1].PositionY - py) > 0.0001d) { lines.Add(linesH[1]); py = linesH[1].PositionY; } else { garbage.Add(linesH[1]); } linesH.Remove(1); } double px = 0; while (linesV.Count > 0) { if (Math.Abs(linesV[1].PositionX - px) > 0.0001d) { lines.Add(linesV[1]); px = linesV[1].PositionX; } else { garbage.Add(linesV[1]); } linesV.Remove(1); } Shape lShape = lines.Combine(); sCurve = corelApp.CreateOnScreenCurve(); sCurve.SetCurve(lShape.Curve); sCurve.Show(); lShape.Delete(); garbage.Delete(); } catch (Exception e) { MessageBox.Show(e.Message); } finally { corelApp.Optimization = false; corelApp.EventsEnabled = true; corelApp.ActiveDocument.PreserveSelection = false; corelApp.ActiveDocument.EndCommandGroup(); corelApp.Refresh(); Thread.Sleep(1000); MessageBox.Show("Waiting"); sCurve.Hide(); } }
I will think about.....
Hello, Corel boys and girlsJust one idea
1. At Master page create CUSTOM GRID LAYER.
2. Create CUSTOM GRID with custom color, distances hor. and vert.
3. Align CUSTOM GRID to rulers. Disable Edit Layer4. Turn On Shap to Objects5. RedyThis idea may be improved, developed, automated and personalizedGreetings!
how to use this code. please someone convert and provide here as .Gms.