Тема: Не могу разорвать BlockReference.

Почему не получается? Пишет Invalid input.
Public Sub explode_test()
Dim obj As AcadEntity
Dim varPnt As Variant
Dim block As AcadBlockReference
Dim objexplode As Variant
ThisDrawing.Utility.GetEntity obj, varPnt, "select block"
Set block = obj
objexplode = block.explode
End Sub

Re: Не могу разорвать BlockReference.

Вставь проверку выбранного объекта.
On Error Resume Next
Dim obj As AcadEntity
Dim varPnt As Variant
Dim block As AcadBlockReference
Dim objexplode As Variant
ThisDrawing.Utility.GetEntity obj, varPnt, "select block"
If Err.Number <> 0 Then
   Err.Clear
   Exit Sub
End If
If Not (TypeOf obj Is AcadBlockReference) Then
   Call MsgBox("Can't explode " & TypeName(obj) & " Object")
   Exit Sub
End If
If TypeOf obj Is AcadExternalReference Then
   Call MsgBox("Can't explode " & TypeName(obj) & " Object")
   Exit Sub
End If
Set block = obj
objexplode = block.Explode

Re: Не могу разорвать BlockReference.

Спасибо, работает. Интересно, а зачем нужно проверять что Err.Number<>0?

Re: Не могу разорвать BlockReference.

Но главное не получается этой процедурой разбить отмасштабированный блок. Очень нужно. Подскажите.

Re: Не могу разорвать BlockReference.

mmm пишет:

Но главное не получается этой процедурой разбить отмасштабированный блок

Если разные масштабные к-ты по осям, то и не получиться.

Re: Не могу разорвать BlockReference.

Но ведь AutoCad такой блок вручную командой Explode разбивает? Неужели нет способа сделать это программно?