Тема: Как изменить имя блока?
Если вставить блок, то он имеет тип AcadBlockReference.
При попытке изменения имени блока происходит ошибка.
Как правильно изменить имя вставленного блока?
з.ы. спс за внимание
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Как изменить имя блока?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Если вставить блок, то он имеет тип AcadBlockReference.
При попытке изменения имени блока происходит ошибка.
Как правильно изменить имя вставленного блока?
з.ы. спс за внимание
надо зайти в словарь блоков и менять имя там. - а не самого блока как entity
делал это на лиспе (могу прислать) на вба необх-сти не было.
> dvim
словарь блоков это -
thisdrawing.activedocument.modelspace.blocks
?
нет.
Document.Blocks
а применительно к текущему документу
Thisdrawing.Blocks
Подытоживая вышесказанное, позвольте предложить макрос:
Dim MyBlock As IAcadBlock Set MyBlock = ThisDrawing.Blocks("OldName") MyBlock.Name = "NewName" ThisDrawing.Regen acActiveViewport
> Leonid
А как изменить такие параметры как цвет, координаты тип линии ... и т.д. ? В AcadBlock нет таких данных
з.ы. спс за внимание
Все разобрался необходимо работать не с AcadBlockReference а с AcadEntity
т.е. сделать типа такого
Dim aobj as acadblockreference Dim aobj1 as acadentity Set aobj1 = aobj aobj1.linetype = ...
и т.д.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Как изменить имя блока?
Форум работает на PunBB, при поддержке Informer Technologies, Inc