Как получить доступ к вложенным блокам из VBA?
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить доступ к вложенным блокам из VBA?

Как получить доступ к вложенным блокам из VBA?

Ответ
Поиск в этой теме
Непрочитано 25.04.2009, 13:24 #1
Как получить доступ к вложенным блокам из VBA?
vicont-s
 
Ставрополь
Регистрация: 09.04.2007
Сообщений: 8

Мне нужно из VBA обратиться к атрибутам блока, который вложен в другой блок.
Пример кода нашел а справке AutoCAD, но там перебираются все элементы и при нахождении блока редактируются его атрибуты!
Во-первых если чертеж большой - отнимает много времени, как отфильровать блоки по определенному имени или хотя бы только блоки?
Во-вторых как залезть в блок и изменить атрибут другого блока, который внутри?
Может кто даст ссылку на пример кода или сам пример выложит!
Буду весьма признателен!
Просмотров: 3806
 
Непрочитано 25.04.2009, 15:00
#2
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Залезать надо не в AcadBlockReference, а в AcadBlock, то есть в описание блока, а не в его вставку. Там перебором объектов выцепить вложенные блоки, и для них поменять значения атрибутов, что-то типа

Код:
[Выделить все]
For Each obj In In_Block.GetAttributes
    Select Case obj.TagString
      Case "N"
       obj.textString = TextBox1.Value  
      Case "MARKA"
       obj.textString = TextBox2.Value
      ....
      Case "OBOZNACHENIE"
       obj.textString = TextBox3.Value
    End Select
Next
Вообще-то, смысл атрибутов в этом случае теряется, т.к. значения их поменяются для всех вставок исходного блока. А такого, что бы изменить значения атрибутов во вложенном блоке в одной из вставок, оставив другие неизменными, сделать нельзя..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!

Последний раз редактировалось AlexV, 25.04.2009 в 15:06.
AlexV вне форума  
 
Автор темы   Непрочитано 25.04.2009, 17:46
#3
vicont-s


 
Регистрация: 09.04.2007
Ставрополь
Сообщений: 8
<phrase 1=


Это меняет дело!
Я собирался использовать в штампе дополнительный элемент с атрибутом, который можно было бы передвинуть с места на место.
Просто атрибут после редактирования свое положение меняет только в последующих вставках блока(или я что-то не так делаю)
И хотя по идее штамп должен быть один в чертеже - но все может быть!(кто-нибудь захочет и 10 чертежей в одном рисунке запихать)
За код большое спасибо!
Но как мне теперь быть?
использовать текстовый элемент?
как к нему обрашаться? по метке? а элементы с одинаковыми метками я не помню могут быть в рисунке?
vicont-s вне форума  
 
Непрочитано 25.04.2009, 23:29
#4
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Цитата:
...Я собирался использовать в штампе дополнительный элемент с атрибутом, который можно было бы передвинуть с места на место...
А динамические параметры нельзя использовать?
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как получить доступ к вложенным блокам из VBA?



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Как правильно открыть форму при запуске скрипта? DonVik Программирование 30 06.02.2010 16:13
как с помощью vba начертить линию vasyavip Программирование 77 09.10.2008 23:17
координаты вершин выбранной полилинии на VB? как получить ssv22 Программирование 5 17.07.2008 00:01
как получить путь к сетевому текстовому файлу Victorovich Программирование 3 30.06.2008 15:47
Как получить статистику по блокам Артём AutoCAD 5 02.03.2004 15:30