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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA функция InsertBlock для динамического блока - проблема

VBA функция InsertBlock для динамического блока - проблема

Ответ
Поиск в этой теме
Непрочитано 11.02.2011, 02:17 #1
VBA функция InsertBlock для динамического блока - проблема
sergtranes
 
проектирование "чистых комнат"
 
Хайфа
Регистрация: 07.02.2011
Сообщений: 51

обычный метод
Thisdrawing.ModelSpace.InsertBlock (InPO,"Name",1,1,1,o)
для динамического блока ругается на количество параметров -
видимо ему не хватает именно Dynamic Properties ?
Kaк задать еще не созданному объекту значения Properties ?
зарание спасибо отзывчивым...
Просмотров: 4078
 
Непрочитано 11.02.2011, 08:45
#2
AlexV

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


Код:
[Выделить все]
  Set insertedBlock = ThisDrawing.ModelSpace.InsertBlock(inspnt, name_Block, 1#, 1#, 1#, 0#)
  AttrDin = insertedBlock.GetDynamicBlockProperties
  For Each Attr In AttrDin
       If Attr.PropertyName = "Имя_Параметра" Then
          Attr.value = "Нужное значение параметра"
       End If
   Next
Само собой, переменные inspnt, name_Block и прочие должны быть предварительно объявлены и содержать корректные значения.
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 11.02.2011, 10:45
#3
sergtranes

проектирование "чистых комнат"
 
Регистрация: 07.02.2011
Хайфа
Сообщений: 51


до команды
AttrDin = insertedBlock.GetDynamicBlockProperties
он не доходит - на команду
Set insertedBlock = ThisDrawing.ModelSpace.InsertBlock(inspnt, name_Block, 1#, 1#, 1#, 0#)
дает сообщение:
Incorreect number of elements in SafeArray
??????
sergtranes вне форума  
 
Непрочитано 11.02.2011, 11:22
#4
AlexV

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


Цитата:
Сообщение от sergtranes Посмотреть сообщение
до команды
AttrDin = insertedBlock.GetDynamicBlockProperties
он не доходит - на команду
Set insertedBlock = ThisDrawing.ModelSpace.InsertBlock(inspnt, name_Block, 1#, 1#, 1#, 0#)
дает сообщение:
Incorreect number of elements in SafeArray
??????
В inspnt - у тебя что живет? Это переменная типа variant или массив? Надо либо:
Код:
[Выделить все]
Dim inspnt(0 To 2) As Double
inspnt(0) = 0#: inspnt(1) = 0#: inspnt(2) = 0#
либо:
Код:
[Выделить все]
Dim inspnt as Variant
inspnt = ThisDrawing.Utility.GetPoint(, vbCrLf & "Укажите точку вставки:")
Само собой, до вставки блока.
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 11.02.2011, 12:54
#5
sergtranes

проектирование "чистых комнат"
 
Регистрация: 07.02.2011
Хайфа
Сообщений: 51


dim InPo (3) as double

InPo(0)=100
InPo(1)=100
InPo(2)=0
.
.
.
AlexV спасибо большое
это было не правильное объявление!
все работает!
еще раз спасибо!
sergtranes вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > VBA функция InsertBlock для динамического блока - проблема

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужна функция импорта блока из файла Krieger Программирование 20 18.01.2017 07:19
Чтение координат из файла Zaghim Программирование 39 13.07.2010 18:07
Как перенести в чертеж блок из файла библиотеки блоков Main Urod Программирование 8 03.02.2010 14:15
Перевод имени блока в имя переменной и обратно Supermax Программирование 11 14.12.2009 23:26
структурированный список Holon Программирование 22 11.09.2007 14:09