Тема: Как передать в VBA последний вставленный блок?
Вставляю блок strCommand = "-insert" & vbCr и т.д.
Хочу потом поменять ему атрибуты, как это сделать?
ps: Метод .InsertBlock не подходит.
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как передать в VBA последний вставленный блок?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Вставляю блок strCommand = "-insert" & vbCr и т.д.
Хочу потом поменять ему атрибуты, как это сделать?
ps: Метод .InsertBlock не подходит.
Может непонятно объяснил, попробую еще раз:
Есть неикий код на vba, который по sendcommand отдает пользвателю нарисовать вручную полилиню или вставить блок или еще какой-нибудь объект нарисовать, а потом возвращается в vba , чтобы дальше обрабатывать эти объекты(нарисованные вручную), как передать эти объекты на обработку vba ?
Поместить в модуль ThisDrawing такой код:
Private Sub AcadDocument_ObjectAdded(ByVal Object As Object) Dim VarObj As Variant Set VarObj = Object MsgBox VarObj.ObjectName End Sub
Кстати, и атрибуты тоже будут извлечены.
Не совсем поняла как использовать эту процедуру в своей функции.
Вот идет выполнение функции, в ходе которой вставляется блок
str_act = "(command ""_insert"" """ & Name & "=" & path & """ """ & strPt & """ ""1"" ""1"" ""0"" ) " ThisDrawing.SendCommand (str_act)
Далее мне нужно у этого последнего вставленного блока заполнить атрибуты значениями и как мне вытащить ссылку на последний вставленный блок в моем коде?
Думала по имени блока так вот напрмер
Set whichblock = Blocks.Item("<имя блока>")
Но не подходит, если этот блок несколько раз в чертеже встречается, а нужно отредактировать атрибит у одного экземпляра.
Set blk = ThisDrawing.ModelSpace.Item(ThisDrawing.ModelSpace.Count - 1)
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как передать в VBA последний вставленный блок?
Форум работает на PunBB, при поддержке Informer Technologies, Inc