Прочитать все стили мультивысок

Автор Тема: Прочитать все стили мультивысок  (Прочитано 6032 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Здравствуйте.
Помогите прочитать стили мультивыносок, которые содержатся в активном чертеже.
Спасибо.

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

  • Administrator
  • *****
  • Сообщений: 13894
  • Карма: 1789
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Re: Прочитать все стили мультивысок
« Ответ #2 : 13-12-2016, 10:17:02 »
Спасибо Александр. Но эти примеры я видел, и попытался сделать аналог. Но в этих примерах указывается в качестве имени уже известный стиль мультивыноски, а как получить ВСЕ названия стилей из активного чертежа. Я попытался как то так:
Код - vb.net [Выбрать]
  1. Try
  2.             Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
  3.                 Dim mlstyles As DBDictionary = acTrans.GetObject(acCurDb.MLStyleDictionaryId, OpenMode.ForRead)
  4.  
  5.                 'For i As Integer = 0 To mlstyles.Count - 1
  6.                 '    Dim MLeader1 As DBDictionary = mlstyles.Item()
  7.  
  8.                 '    ReDim Preserve MLeaderStyleArray(Count)
  9.                 '    MLeaderStyleArray(Count) = MLeader1.Name
  10.                 '    Count += 1
  11.                 'Next i
  12.                 acTrans.Commit()
  13.             End Using
  14.         Catch

Отмечено как Решение Захаров Максим 13-12-2016, 14:05:06

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

  • Administrator
  • *****
  • Сообщений: 13894
  • Карма: 1789
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Прочитать все стили мультивысок
« Ответ #3 : 13-12-2016, 11:55:10 »
Код - vb.net [Выбрать]
  1. <CommandMethod("ListMLeaderStyles")> _
  2. Public Shared Sub ListMLeaderStyles()
  3.     Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
  4.     Dim acCurDb As Database = acDoc.Database
  5.  
  6.     Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
  7.         Dim mlstyles As DBDictionary = _
  8.             acTrans.GetObject(acCurDb.MLStyleDictionaryId, OpenMode.ForRead)
  9.  
  10.         acDoc.Editor.WriteMessage(vbLf & "MLeaderStyles:")
  11.  
  12.         For Each item As DBDictionaryEntry In mlstyles
  13.             acDoc.Editor.WriteMessage(vbLf & "  " & item.Key)
  14.         Next
  15.  
  16.         acTrans.Commit()
  17.     End Using
  18. End Sub
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Захаров МаксимАвтор темы

  • ADN OPEN
  • ***
  • Сообщений: 141
  • Карма: 3
Re: Прочитать все стили мультивысок
« Ответ #4 : 13-12-2016, 14:05:00 »
Спасибо за помощь.
Ошибочка не большая, вот так работает
Код - vb.net [Выбрать]
  1. Try
  2.             Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
  3.                 Dim mlstyles As DBDictionary = acTrans.GetObject(acCurDb.MLeaderStyleDictionaryId, OpenMode.ForRead)
  4.                 For Each item As DBDictionaryEntry In mlstyles
  5.                     ReDim Preserve MLeaderStyleArray(Count)
  6.                     MLeaderStyleArray(Count) = item.Key
  7.                     Count += 1
  8.                 Next
  9.                 acTrans.Commit()
  10.             End Using
  11.         Catch
  12.             MsgBox("Функция не смогла занести все стили мультивыносок в массив!!!")
  13.             Count = 0
  14.         End Try
« Последнее редактирование: 13-12-2016, 15:03:20 от Захаров Максим »