Тема: Help!!!

Скажите пожалуйста как вместо того чтобы просить у пользователя выбрать на экране объект
acSelSet.SelectOnScreen
в набор добавлялся бы сразу нужный объект.
Что-то вроде additem???

Re: Help!!!

У меня в конце кода вставки блока есть присвоение этому блоку икс даты. Я хочу чтобы после вставки блока к нему сразу крепилась икс дата, а не требовалось бы выбирать этот блок на экране.

Re: Help!!!

Вот это вставляется блок

insertionPnt = ThisDrawing.Utility.GetPoint(, "Указать точку: ")
  Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, BlockName, 1#, 1#, 1#, 0, Rotation)

А следом к нему надо прицепить икс дату:

  Dim acSelSet As AcadSelectionSet
  Dim strString As String
  Dim intDatGrp(0 To 1) As Integer
  Dim varDatVal(0 To 1) As Variant
  Dim acEnt As AcadEntity
  Dim i As Integer
  On Error GoTo Exit_Here
  ' Создаемновый набор объектов
  Set acSelSet = vbdPowerSet("EntityForBindXData")
  acSelSet.SelectOnScreen
  strString = "№" & TextBox7
'  Do While strString = ""
'    strString = InputBox("Введите строку сохраняемую " & _
'    "в области расширенных данных", "BindXData", "String 1")
'  Loop
  intDatGrp(0) = 1001
  varDatVal(0) = "TESTAPP"
  intDatGrp(1) = 1000
  varDatVal(1) = strString
  ' Сохраняем введенную строку в области
  ' расширенных данных всех выбранных примитивов
  For i = 0 To acSelSet.Count - 1
    Set acEnt = acSelSet.Item(i)
    acEnt.SetXData intDatGrp, varDatVal
  Next i
Exit_Here:
  ' Освобождаем память
  Set acSelSet = Nothing
  Set acEnt = Nothing

Re: Help!!!

Вместо того чтобы выбирать объект

acSelSet.SelectOnScreen

я хочу чтобы икс дата сама "цеплялась" к только что вставленному блоку

Re: Help!!!

Даша, а зачем вам в таком случае вообще набор объектов? Вставили блок

Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt, BlockName, 1#, 1#, 1#, 0, Rotation)

, ну и присоединяйте к нему свою "икс дату"

blockRefObj.SetXData intDatGrp, varDatVal

Re: Help!!!

Вы же знаете я некудышный программист :(
Ничего не могу разобрать.

Re: Help!!!

Мне нужно присоединить при вставке блока к нему икс дату, а затем колличество блоков одного типа и все присоединенные к этому типу икс даты... Затем найти колличество блоков другого типа и все присоединенные икс даты к этому типу...
Самым примитивным способом я попробовала это сделать...Код получился не громадным, а просто необъятным...Даже с трудом можно вообразить какого он огромного размера :(
Голова у меня сейчас просто треснет :(

Re: Help!!!

Дарья,как говорят на некоторых форумах,"учите матчасть"))) Серьезно, скачайте какой-нибудь учебник по VBA или даже по VB,и постарайтесь разобраться хотя бы с основами - типы данных, структура языка. А то часто вы пытаетесь решить серьезные задачи, не понимая более простых вещей. Вот у вас и рождается код на множество страниц там, где можно обойтись десятком строк. Конечно, метод "тыка" тоже хорош,но долог)))
Ну а по задаче - образцы ведь чего-то подобного у вас есть (при подсчете блоков - вводов на дополнительных опорах). Перебираете в цикле набор объектов-блоков, считываете расширенные данные методом GetXData, проверяете их значение на соответствие вашим условиям,ну и т.д.
Я тоже далеко не ас программирования, так что с пол-тыка ваши задачи решить не могу; времени сейчас мало. Да и отпуск скоро!!!