/// <summary>Вставка мультивыноски</summary>
        /// <param name="txt">Содержимое мультивыноски</param>
        /// <param name="standardArrowhead">Стандартная стрелка. По умолчанию значение "_NONE"</param>
        public static void InsertMLeader(string txt, AutocadHelpers.StandardArrowhead standardArrowhead = AutocadHelpers.StandardArrowhead._NONE)
        {
            var doc = AcApp.DocumentManager.MdiActiveDocument;
            var ed  = doc.Editor;
            var db  = HostApplicationServices.WorkingDatabase;

            using (doc.LockDocument())
            {
                var ppo = new PromptPointOptions($"\n{Language.GetItem(LangItem, "msg16")}")
                {
                    AllowNone = true
                };
                var ppr = ed.GetPoint(ppo);
                if (ppr.Status != PromptStatus.OK)
                {
                    return;
                }

                // arrowHead
                var arrowHead = "_NONE";
                if (standardArrowhead != AutocadHelpers.StandardArrowhead.closedFilled)
                {
                    arrowHead = standardArrowhead.ToString();
                }

                // Создаем текст
                var jig = new MLeaderJig
                {
                    FirstPoint = AutocadHelpers.UcsToWcs(ppr.Value),
                    MlText     = txt,
                    ArrowName  = arrowHead
                };
                var res = ed.Drag(jig);
                if (res.Status == PromptStatus.OK)
                {
                    using (var tr = doc.TransactionManager.StartTransaction())
                    {
                        var btr = (BlockTableRecord)tr.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);

                        btr.AppendEntity(jig.MLeader());
                        tr.AddNewlyCreatedDBObject(jig.MLeader(), true);
                        tr.Commit();
                    }
                }

                doc.TransactionManager.QueueForGraphicsFlush();
            }
        }
            protected override bool WorldDraw(WorldDraw draw)
            {
                var wg = draw.Geometry;

                if (wg != null)
                {
                    ObjectId arrId = AutocadHelpers.GetArrowObjectId(ArrowName);

                    var mtxt = new MText();
                    mtxt.SetDatabaseDefaults();
                    mtxt.Contents   = MlText;
                    mtxt.Location   = _secondPoint;
                    mtxt.Annotative = AnnotativeStates.True;
                    mtxt.TransformBy(AcApp.DocumentManager.MdiActiveDocument.Editor.CurrentUserCoordinateSystem);

                    _mleader = new MLeader();
                    var ldNum = _mleader.AddLeader();
                    _mleader.AddLeaderLine(ldNum);
                    _mleader.SetDatabaseDefaults();
                    _mleader.ContentType           = ContentType.MTextContent;
                    _mleader.ArrowSymbolId         = arrId;
                    _mleader.MText                 = mtxt;
                    _mleader.TextAlignmentType     = TextAlignmentType.LeftAlignment;
                    _mleader.TextAttachmentType    = TextAttachmentType.AttachmentBottomOfTopLine;
                    _mleader.TextAngleType         = TextAngleType.HorizontalAngle;
                    _mleader.EnableAnnotationScale = true;
                    _mleader.Annotative            = AnnotativeStates.True;
                    _mleader.AddFirstVertex(ldNum, FirstPoint);
                    _mleader.AddLastVertex(ldNum, _secondPoint);
                    _mleader.LeaderLineType = LeaderType.StraightLeader;
                    _mleader.EnableDogleg   = false;
                    _mleader.DoglegLength   = 0.0;
                    _mleader.LandingGap     = 1.0;
                    _mleader.TextHeight     = double.Parse(AcApp.GetSystemVariable("TEXTSIZE").ToString());

                    draw.Geometry.Draw(_mleader);
                }

                return(true);
            }