OperationSplitMarks Method |
Splits given marks to original marks.
Namespace: Tekla.Structures.Drawing.Operations
Assembly: Tekla.Structures.Drawing (in Tekla.Structures.Drawing.dll) Version: 2026.0.0-alpha00057080+93cd22c410a086ecc356b7088d4daaf2e12907eb
Parameters
- marks
- Type: System.Collections.GenericIListMarkBase
Contains the list of marks to be splitted
Return Value
Type: BooleanTrue in case of success, false otherwise
The following example enumerates through all parts in all views and inserts
marks for all those parts, the marks are placed in the middle of the part.
using System; using System.Collections.Generic; using Tekla.Structures.Geometry3d; using Tekla.Structures.Drawing; using TSD = Tekla.Structures.Drawing; class Example { public void SplitMarksTest() { DrawingHandler drawingHandler = new DrawingHandler(); var drawing = drawingHandler.GetActiveDrawing(); if (drawing != null) { List<MarkBase> markstoBeSplitted = new List<MarkBase>(); // pick marks to be splitted ViewBase pickedView; DrawingObject mark; var picker = drawingHandler.GetPicker(); bool continuePicking = true; while (continuePicking) { try { var message = "Pick mark " + (markstoBeSplitted.Count + 1).ToString() + " to be splitted. Press Esc to finish.."; picker.PickObject(message, out mark, out pickedView); if (mark == null || pickedView == null || !(mark is Tekla.Structures.Drawing.MarkBase)) continuePicking = false; else markstoBeSplitted.Add(mark as MarkBase); } catch { continuePicking = false; } } if (markstoBeSplitted.Count > 0) { if(TSD.Operations.Operation.SplitMarks(markstoBeSplitted)) { drawing.CommitChanges(); drawingHandler.SaveActiveDrawing(); Console.WriteLine("Split operation successfull.."); } else { Console.WriteLine("Split operation failed.."); } } } } }