Задать размер (длину отрезка) полки мультивыноски (MLeader)

Автор Тема: Задать размер (длину отрезка) полки мультивыноски (MLeader)  (Прочитано 10274 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Подскажите, какое свойство есть ли оно в 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.  
« Последнее редактирование: 15-12-2014, 13:58:37 от Александр Ривилис »

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Посмотри пока в блоге у Андрея Бушмана: http://bushman-andrey.blogspot.com/2013/01/blog-post.html
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий Загорулькин

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 737
Насколько я знаю, не нужно вычислять длину полочки - все получается автоматически. Достаточно правильно настроить а потом в коде назначить стиль создаваемой мультивыноске.
https://screencast.autodesk.com/main/details/ec1d0483-cb49-4c5e-a00f-fcc69f264834

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Посмотри пока в блоге у Андрея Бушмана: http://bushman-andrey.blogspot.com/2013/01/blog-post.html
Спасибо большое блог помог. Строчка из блога помогла 
 
Код - C# [Выбрать]
  1.   mlead.SetTextAttachmentType(
  2.                               DbSrv.TextAttachmentType.AttachmentBottomLine,
  3.                               DbSrv.LeaderDirectionType.LeftLeader);
решила все проблемы и с длиной полочки автоматически
по длине текста и с привязкой текста
 
« Последнее редактирование: 15-12-2014, 20:26:01 от Александр Ривилис »

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Достаточно правильно настроить а потом в коде назначить стиль
Что касается длины полки по умолчанию присваивается стиль «Standard» в котором длина полки = 8 ед.
Можно конечно назначить предварительно настроить стиль (хоть тот же Standard) присвоив другую длину полке.

Можно ли открыть таблицу стилей MLeaderStyle и изменить длину полки в записи таблицы стилей?

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Можно ли открыть таблицу стилей MLeaderStyle и изменить длину полки в записи таблицы стилей?
Там же у Андрея Бушмана об изменении стиля мультивыноски: http://bushman-andrey.blogspot.com/2014/06/autocad_8823.html
Еще очень помогает MGDDBG:
 
« Последнее редактирование: 16-12-2014, 01:18:38 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
[quote author=Александр Ривилис link=topic=1704.msg6334#msg6334 date=1418680562]Там же у Андрея Бушмана об изменении стиля мультивыноски[/quote]
Саша, а вот нашел свойство для изменения длины полки
просто присвоить нужное значение и можно со стилем не заморачиваться


leader.DoglegLength = 0


Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Саша, а вот нашел свойство для изменения длины полки
просто присвоить нужное значение и можно со стилем не заморачиваться


leader.DoglegLength = 0

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

P.S.: Кстати, MgdDbg для версий 2012-2015 (спасибо Gilles Chanteau, который адаптировал его под AutoCAD 2014 и 2015) можно скачать здесь: http://adn-cis.org/assets/gallery/AutoCAD/MgdDbg2015.zip
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
Совсем недостаточно.
Спасибо, учту в работе этот факт.

Оффлайн Алексей (IdeaSoft)Автор темы

  • ADN
  • *
  • Сообщений: 1189
  • Карма: 9
    • idea-soft.ru
  • Skype: makar_govorun
MgdDbg2015.zip
Установил себе MgdDbg , что ж полезная штучка.

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13882
  • Карма: 1787
  • Рыцарь ObjectARX
  • Skype: rivilis
Установил себе MgdDbg , что ж полезная штучка.
Не просто полезная, а суперполезная. К ней бы еще прикрутить кой-чего из ARXDBG (например, просмотр DXF-кодов объектов) - цены бы ей не было.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение