pBe 发表于 2022-7-6 08:10:22


(defunc:test (/ efname ob blks cnt i)(vl-load-com)
(setqefname
(lambda (k)
    (vla-get-effectivename
      (if (eq (type k) 'ENAME )
      (vlax-ename->vla-object k) k)
      )
    )
)
(while (setq ob (ssget "_:S:E" '((0 . "INSERT"))))
   (setq cnt 0)
   (if (setq blks (ssget "_X"
         (list '(0 . "INSERT")
         (cons 2
             (strcat (setq bn (strcase (efname (ssname ob 0)))) ",`*U*"
               )
             )
         )
         ))
   (progn
   (repeat (setq i (sslength blks))
               (if (eq (strcase (efname (ssname blks (setq i (1- i))))) bn)
                       (setq cnt (1+ cnt))))       
       (alert
         (strcat "There are "
         (itoa cnt) " \"" bn
         "\" Block(s) on this drawing file:"
         )
         )
       )
   )
   )
(princ)
)

sinnerboy 发表于 2022-7-6 08:14:08

哇-谢谢你的快速回复。只是一个障碍“错误:没有函数定义:VLAX-ENAME->VLA-OBJECT”

pBe 发表于 2022-7-6 08:19:55

缺失(vl load com)。。帖子已更新。现在就试试

sinnerboy 发表于 2022-7-6 08:26:23

-非常感谢。好极了

pBe 发表于 2022-7-6 08:29:20

 
不客气。
 
但实际上,如果你通读这个线程,你会注意到代码上的所有内容都来自之前的响应。
 
玩得高兴
页: 1 [2]
查看完整版本: Qselect公司