Тема: SSGET Выбор по фильтру

Подскажите пожалуйста.  Как реализовать выбор по фильтру
выбор примитивов(INSERT) на каждом листе на VBA  ?

пример на LISPе

(defun c:TEST ( / layouts curLaout filter ss1) 
(setq layouts (layoutlist))
  (while layouts
   (setq curLaout (car layouts))
  (setq filter (list '(0 . "INSERT") (cons 410 curLaout)))
  (setq ss1 (ssget "X"  filter))
    (princ (strcat "\n На листе " curLaout " находятся " (itoa  (sslength ss1)) " примитивов"))
    (setq layouts (cdr layouts))
   );while
  (princ)
)

Re: SSGET Выбор по фильтру

Группа 410 в VBA не поддерживается

~'J'~

Re: SSGET Выбор по фильтру

Например подсчет определенных блоков на листах

Option Explicit

Sub SearchBlocks()

Dim bCount As Long
Dim oEnt As AcadEntity
Dim oLayout As AcadLayout
Dim oBlock As AcadBlock
Dim oblkRef As AcadBlockReference
Dim bName As String

bName = InputBox(vbNewLine & "Enter block name to search" _
& vbNewLine & "(case-nonsensitive):", "Block Name")
For Each oLayout In ThisDrawing.Layouts
For Each oEnt In oLayout.Block
If TypeOf oEnt Is AcadBlockReference Then
Set oblkRef = oEnt
If UCase(oblkRef.Name) = UCase(bName) Then
'' do something with this block here
bCount = bCount + 1
End If
End If
Next
Next

If bCount > 0 Then
MsgBox bCount & " blocks " & Chr(34) & bName & Chr(34) & " found"
Else
MsgBox "0 blocks found"
End If
End Sub

~'J'~

Re: SSGET Выбор по фильтру

Ok
Благодарю за разъяснения.
Пользуюсь в основном AutoLisp_ом
Хочу создать автоматически подшивку и таблицу ведомости  чертежей.
Но почемуто объект диспетчер подшивок из Lispа не доступен и никто не может объяснить почему. :(

Re: SSGET Выбор по фильтру

Я тоже в свое время пытался на Лиспе но больно
уж там все мудрено ... бросил это дело
Так что для меня это белое пятно, я пас  :)

~'J'~