Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 15-12-2014, 12:17:39

Название: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Алексей (IdeaSoft) от 15-12-2014, 12:17:39
Подскажите, какое свойство есть ли оно в API AutoCAD 2008-2015
(или метод, алгоритм) для задания размера полки для объекта мультивыноски MLeader?
делаю так:

   
Код - vb.net [Выбрать]
  1. Dim leader As CAD_DBS.MLeader = New CAD_DBS.MLeader
  2.             leader.SetDatabaseDefaults()
  3.            
  4.             leader.MText = ... < присваиваю объект Mtext >
  5.  
  6.             Dim idx As Integer = leader.AddLeaderLine(New CAD_GEO.Point3d(0, 0, 0))
  7.             leader.AddFirstVertex(idx, New CAD_GEO.Point3d(0, 0, 0))
  8.            
  9.             ' моя процедура добавления примитива в базу
  10.             acadnet_add_entity(leader)
  11.  
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Александр Ривилис от 15-12-2014, 14:15:06
Посмотри пока в блоге у Андрея Бушмана: http://bushman-andrey.blogspot.com/2013/01/blog-post.html
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Дмитрий Загорулькин от 15-12-2014, 18:30:50
Насколько я знаю, не нужно вычислять длину полочки - все получается автоматически. Достаточно правильно настроить а потом в коде назначить стиль создаваемой мультивыноске.
https://screencast.autodesk.com/main/details/ec1d0483-cb49-4c5e-a00f-fcc69f264834
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Алексей (IdeaSoft) от 15-12-2014, 20:25:05
Посмотри пока в блоге у Андрея Бушмана: http://bushman-andrey.blogspot.com/2013/01/blog-post.html
Спасибо большое блог помог. Строчка из блога помогла 
 
Код - C# [Выбрать]
  1.   mlead.SetTextAttachmentType(
  2.                               DbSrv.TextAttachmentType.AttachmentBottomLine,
  3.                               DbSrv.LeaderDirectionType.LeftLeader);
решила все проблемы и с длиной полочки автоматически
по длине текста и с привязкой текста
 
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Алексей (IdeaSoft) от 16-12-2014, 00:48:23
Достаточно правильно настроить а потом в коде назначить стиль
Что касается длины полки по умолчанию присваивается стиль «Standard» в котором длина полки = 8 ед.
Можно конечно назначить предварительно настроить стиль (хоть тот же Standard) присвоив другую длину полке.

Можно ли открыть таблицу стилей MLeaderStyle и изменить длину полки в записи таблицы стилей?
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Александр Ривилис от 16-12-2014, 00:56:02
Можно ли открыть таблицу стилей MLeaderStyle и изменить длину полки в записи таблицы стилей?
Там же у Андрея Бушмана об изменении стиля мультивыноски: http://bushman-andrey.blogspot.com/2014/06/autocad_8823.html
Еще очень помогает MGDDBG:
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fimg-fotki.yandex.ru%2Fget%2F16165%2F7842324.2%2F0_f12f3_a79a5a37_orig.png&hash=f96d1a878d13e305e369a636adb8da70) (http://img-fotki.yandex.ru/get/16183/7842324.2/0_f12f2_a4feda8d_orig.png) 
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Алексей (IdeaSoft) от 16-12-2014, 01:26:54
[quote author=Александр Ривилис link=topic=1704.msg6334#msg6334 date=1418680562]Там же у Андрея Бушмана об изменении стиля мультивыноски[/quote]
Саша, а вот нашел свойство для изменения длины полки
просто присвоить нужное значение и можно со стилем не заморачиваться


leader.DoglegLength = 0

Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Александр Ривилис от 16-12-2014, 01:57:50
Саша, а вот нашел свойство для изменения длины полки
просто присвоить нужное значение и можно со стилем не заморачиваться


leader.DoglegLength = 0

Нет. Совсем недостаточно. Это только если все остальные свойства правильно настроены. В противном случае полки не будет совсем.

P.S.: Кстати, MgdDbg для версий 2012-2015 (спасибо Gilles Chanteau, который адаптировал его под AutoCAD 2014 и 2015) можно скачать здесь: http://adn-cis.org/assets/gallery/AutoCAD/MgdDbg2015.zip
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Алексей (IdeaSoft) от 16-12-2014, 02:12:25
Совсем недостаточно.
Спасибо, учту в работе этот факт.
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Алексей (IdeaSoft) от 16-12-2014, 02:21:37
MgdDbg2015.zip
Установил себе MgdDbg , что ж полезная штучка.
Название: Re: Задать размер (длину отрезка) полки мультивыноски (MLeader)
Отправлено: Александр Ривилис от 16-12-2014, 02:32:37
Установил себе MgdDbg , что ж полезная штучка.
Не просто полезная, а суперполезная. К ней бы еще прикрутить кой-чего из ARXDBG (например, просмотр DXF-кодов объектов) - цены бы ей не было.