Тема: Как вставить блок, но с возможностью выбора точки вставки?

Суть вопроса в том, что мне хотелось бы определять точку вставки динамически, во время вставки блока (чтобы и блок было видно).
Максимум, чего можно добиться, это вот:

Sub qqqq()
Dim Insert As AcadBlockReference
Dim InsPoint As Variant
Dim Angle As Double
On Error GoTo ErrorHandler
Set Insert = ThisDrawing.ModelSpace.InsertBlock(InsPoint, "qqq", 1#, 1#, 1#, Angle)
Set Insert = Nothing
ErrorHandler:
InsPoint = ThisDrawing.Utility.GetPoint(, vbCrLf & "Укажите точку вставки:")
Angle = 0
Angle = ThisDrawing.Utility.GetAngle(InsPoint, vbCrLf & "Укажите угол поворота <0>:")
If Angle = False Then
Angle = 0
End If
End Sub

Но таким образом сначала просит точку, угол, а потом появляется блок.
Помогите, пожалуйста!

Re: Как вставить блок, но с возможностью выбора точки вставки?

На мой взгляд выход только один. Создаешь простенький лиспик типа:

(defun c:insbl ()
   (command "insert" "001" pause "" "" pause)
)

Загружаешь его, а затем в VBA вызываешь его через SendCommand:

ThisDrawing.SendCommand "insbl "

Провернуть это только в VBA, а тем более в "чистом" VBA, невозможно (исходя из моего опыта)).

Re: Как вставить блок, но с возможностью выбора точки вставки?

> Michael5
Вроде как бы так, если в пространстве модели,
переделай для ActiveSpace

Attribute VB_Name = "ShowMyBlock"
Option Explicit
Public Function InsertShow(ImageBlk As String) As AcadBlockReference
ThisDrawing.SendCommand "-insert" & Chr(13) & ImageBlk & Chr(13) & "X" & Chr(13) & 1 & Chr(13) & "y" & Chr(13) & 1 & Chr(13) & "r" & Chr(13) & 0 & Chr(13)
Set InsertShow= ThisDrawing.ModelSpace(ThisDrawing.ModelSpace.Count - 1)
End Function
Sub test()
Dim bName As String
bName = "Block2"
InsertShow(bName)
End Sub

~'J'~

Re: Как вставить блок, но с возможностью выбора точки вставки?

> Олег(jr.)
Да, действительно, надо было всего лишь оставить ввод координат напоследок:)
Правда это при условии, что не нужно менять угол так же динамически..

Re: Как вставить блок, но с возможностью выбора точки вставки?

> Сидор Лютый
Да я вообще-то не шибко шарю в VBA, 3 дня бился
с эти проклятым Sendcommand, ну до чего собака
капризный, а может есть другой (чисто объектный) подход?
~'J'~

Re: Как вставить блок, но с возможностью выбора точки вставки?

> Олег(jr.)
Команды када намного гибче стредств VBA, так что без sendcommand никак не обойтись. А при условии:

..хотелось бы определять точку вставки динамически, во время вставки блока (чтобы и блок было видно).

тем более. Т.к. метод InsertBlock не позволяет видеть вставляемый блок при указании точки.
Так что по-прежнему утверждаю, что чистым VBA этого сделать нельзя..:)

Re: Как вставить блок, но с возможностью выбора точки вставки?

Ага, спасибо, так работает!