Тема: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

Не могу поменять имя атрибуты. Вот смотри на рисунке:
http://images.people.overclockers.ru/84277.png
Выделен текст и круг - это блок, а имя блока и атрибуты - "_госакт_п_к", как на рисунке:
http://images.people.overclockers.ru/84278.png
Заменил имя блока "_госакт_п_к" на "_госакт_п_к-2", а атрибуты не поменяются?! Вот:
http://images.people.overclockers.ru/84279.png
Почему? Можно ли поменять имя атрибуты?
Сделал немного код _http://cp.people.overclockers.ru/cgi-bin/dl.pl?id=23817&filename=nastroy.rar
С наилучшими пожалениями, Я.

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

Ошибочно создал тему, не (текст и блок), а (текст и круг).

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

   Attr = blockObj.GetAttributes
   Attr(0).TextString = "AttributValue"
   Attr(0).TagString = "AttributName"

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

Не понял?

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Антон
Сначала атрибуты блока нужно считать в массив. И работать уже с элементами этого массива.

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Антон
Выложи чертеж или кусок его с блоками
на www.webfile.ru, не совсем ясно о чем
ты толкуешь
Ссылку на файл скинь сюда
~'J'~

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Сидор Лютый
А подробнее можно?

> Fatty
Держи http://webfile.ru/1456985

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Антон
Как я и подозревал...
Ты говоришь об атрибутах, а сам изменяешь слой
Второе. У блоков в черетеже пустые значения
TagString (имя атрибута) PromptString (подсказка атрибута)
На практике часто их делают одинаковыми
Третье. Обычно делают один блок и только
меняют значения атрибута
У тебя на каждый пикет свой блок (ну это дело
хозяйское)
Если надо добавить TagString и PromptString,
можешь выполнить следующую процедуру

 Option Explicit
Sub AddTagsNPrompts()
Dim oBlock As AcadBlock
Dim oblkRef As AcadBlockReference
Dim attVar As Variant
Dim oItm As AcadObject
Dim oAtt As AcadAttribute
Dim oAttRef As AcadAttributeReference
Dim i As Integer
Dim strCommand As String
For Each oBlock In ThisDrawing.Blocks
If oBlock.Name Like "ст*" Then '<-- все блоки которые начинаются на "ст"
For i = 0 To oBlock.Count - 1
Set oItm = oBlock.Item(i)
If TypeOf oItm Is AcadAttribute Then
Set oAtt = oItm
oAtt.PromptString = "Номер_пикета"
oAtt.Update
oAtt.TagString = UCase(oAtt.PromptString)
oAtt.Update
End If
Next i
End If
'strCommand = "_ATTSYNC _N " & oBlock.Name & vbCr
'ThisDrawing.SendCommand strCommand
Next oBlock
Dim pfs As AcadSelectionSet
Set pfs = ThisDrawing.PickfirstSelectionSet
pfs.Clear
Dim ftype(1) As Integer
Dim fdata(1) As Variant
ftype(0) = 0: fdata(0) = "INSERT"
ftype(1) = 2: fdata(1) = "ст*"
pfs.Select acSelectionSetAll, , , ftype, fdata
For Each oItm In pfs
Set oblkRef = oItm
attVar = oblkRef.GetAttributes
For i = 0 To UBound(attVar)
Set oAttRef = attVar(i)
oAttRef.TagString = "НОМЕР_ПИКЕТА"
oAttRef.Update
Next i
Next oItm
ThisDrawing.Regen acAllViewports
End Sub

К сожалению команда ATTSYNC в твоем случае
неприменима, поскольку у тебя различные
положения атрибутов относительно точки
вставки чтоб не накладывался тест
А то что ты называешь именем это слой  "_госакт_п_к" а не имя
Так что сначала советую посмотреть Help,
а то получается пустой разговор
~'J'~
PS Насчет фразочки:
Держи http://webfile.ru/1456985
хамить не советую... это тебе надо а не мне

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Fatty
Не получается (
Имя слоя блока уже меняются, а атрибуты не меняются. Когда слои отключены, они видны.

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

Если я правильно понял, атрибуты надо переносить на слой "0", настройки "ByBlock" и не мучиться ;)

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Антон
А значения атрибутов и не должны меняться
из этой программы, я только добавил имена
атрибутов и подсказки
Атрибуты меняют как показал тебе Smel
Смотри выше или ищи на форуме, тут примеров была куча
~'J'~

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Кулик Алексей aka kpblc
Это как? Наверно не получается.

> Fatty
А коды(из Smel) куда вставлять?

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Антон
Смотри готовый пример здесь, мне некогдаЖ
https://www.caduser.ru/forum/topic18287.html
~'J'~

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Антон
Понимаешь, я на VBA не пишу совсем. На VB - еще да, но не на VBA (в силу разных причин). Если тебе лисповой вариант покатит, свистни.

Re: Как поменять имя атрибуты (текст и блок)? Для работы геодезии

> Fatty
100% не поменяется! ((